SOFTWARE TESTING
STATIC TESTING abdurrm
Software Testing Tujuan dari software testing adalah untuk memeriksa apakah suatu individual program unit (subprogram, object class, package, module) memiliki perilaku yang benar. Pengujian dapat dilakukan dengan - Pengujian Statis (Static Testing), Pengujian terhadap satu unit tanpa melakukan eksekusi terhadap unit tersebut - Pengujian Dinamis (Dynamic Testing), Pengujian dengan mengeksekusi unit dengan menggunakan data uji.
Kegunaan Unit Testing 1. Menemukan kesalahan (bug/fault) sebanyak mungkin dari suatu perangkat lunak sebelum direlease 2. Memudahkan melakukan perubahan : dengan unit yang sudah di test akan mudah melakukan perubahan, sebab apabila perubahan tersebut ternyata menghasilkan kesalahan, kesalahan tersebut mudah untuk dilacak 3. Mempermudah integrasi program, unit-unit penyusun yang sudah ditest dan berjalan dengan baik akan mudah untuk diintegrasikan 4. Menyediakan dokumentasi program, unit testing juga merupakan suatu dokumentasi tentang apa yang dilakukan dan apa hasil yang diharapkan dari suatu unit yang ditest 5. Yang terpenting adalah menentukan Kualitas Kode Program (Quality Code)
Pengujian Statis Static testing adalah bentuk pengujian perangkat lunak di mana perangkat lunak tidak benar-benar digunakan. Hal ini berbeda dengan dinamic testing. Hal ini umumnya tidak rinci pengujian, tetapi terutama untuk memeriksa kebenaran kode, algoritma, atau dokumen, terutama memeriksa sintaks dari kode dan / atau meninjau secara manual kode atau dokumen untuk menemukan kesalahan. Jenis pengujian ini dapat digunakan oleh pengembang yang menulis kode, secara terpisah. Bugs yang ditemukan di tahap ini akan lebih mudah untuk diperbaiki daripada nanti dalam siklus pengembangan. Beberapa Tipe pengujian yang bisa digunakan adalah : Code Walkthroughs • Kode program dan dokumentasi di-review oleh tim • Fokus ada pada kode program • Informal • Dipimpin oleh programmer
abdurrm
Code Inspections • Kode program dan dokumentasi di-review oleh tim dengan suatu daftar rujukan - Definisi dan struktur data - Algoritma - Interface antar komponen - Prakiraan unjuk kerja program penggunaan memori, kecepatan pengolahan • Fokus ada pada kode program • Informal • Dipimpin oleh moderator BUKAN programmer •
Langkah-langkah Code Inspection : 1. Tim reviewer bertemu untuk melakukan review awal overview kode dan tujuan 2. Masing-masing anggota tim bekerja secara individu melakukan inspeksi program dan dokumentasi mencatat fault yang ditemukan 3. Tim reviewer bertemu untuk melakukan diskusi terhadap temuan masigmasing
Software Tools : Beberapa Software Testing Tool yang bisa digunakan untuk menganalisa program tanpa menjalankannya: -
AccVerify SE for FrontPage Aivosto Project Analyzer ASSENT ccount Cleanscape LintPlus ClearMaker CMT++ CodeCompanion CodeSurfer Coverity Prevent and Extend Dependency Walker floppy/fflow ftnchek jKing Klocwork K7 Krakatau LDRA Testbed (static analysis) Malpas METRIC
-
Metrics Tools ParaSoft CodeWizard JUnit PC-lint/FlexeLint PC-Metric PMD PolySpace Plum Hall SQS QA J QA C QA C++ QA Fortran QStudio for Java Pro Safer C Toolset sclc SofAudit SSW Code Auditor STATIC Viva64
abdurrm
ccount Kind of Tool Organization
: C "readability" analyser (freeware) : Joerg Lawrenz, Universitaet Karlsruhe http://www.chris-lott.org/resources/cmetrics/ Software Description : 'ccount' is a set of simple tools for the analysis of the syntactic readability of C source programs. The attributes computed by the ccount tools are things . Platforms : Most Unix CMT++ Kind of Tool Organization
: Static analysis tool for C and C++ code :Testwell Oy http://www.testwell.fi/cmtdesc.html Software Description: CMT++ (Complexity Measures Tool for C/C++) calculates the basic McCabe, Halstead and lines-of-code metrics for C and C++ code. Clear and compact report. Configurable alarm limits. Can measure nonpreprocessed source code. Can produce Excel data file for customer specific analysis or for producing graphical representations. Processes 1000s of lines of code in a second and can manage huge code volumes. Does not require a C/C++ compiler, but if Visual C++ is available, CMT++ can be used via its GUI. Platforms : Windows 2000/NT/9x, HPUX, Solaris, Linux. JUnit
abdurrm
Reference: http://www.testingfaqs.org/t-static.html http://kuliah.inf.uajy.ac.id/mod/resource/view.php?id=2223 http://lecturer.ukdw.ac.id/yuan/wp-content/uploads/2009/11/Pemrograman-Berorientasiobyek-11.pptx http://kuliah.inf.uajy.ac.id/file.php/111/minggu-11/IF2943-PBO-minggu11.ppt
abdurrm