Sunday, October 16, 2011

Testing dan Implementasi - Part 4


Lines of Code
Menghitung jumlah baris program untuk mengukur kompleksitas
- Program kecil = 1,3 – 1,8 % error
- Program besar =  2,7 – 3,2 % error

Halstead Metrics : Pengukuran berdasarkan pada penggunaan operator (kata kunci) dan operan (nama variabel, objek database) yang ada pada suatu program

Panjang program : H = n1 log n1 + n2 log n2
n1 : jumlah operator unik
n2 : jumlah operan unik

Prediksi bug : B = (N1+N2) log (n1+n2)/3000
N1 : jumlah keseluruhan operator program
N2 : jumlah keseluruhan operan program

Black Box testing
Fokus pada input dan output
- Fungsi hilang/tidak benar
- Error interface
- Error struktur data/akses eksternal database
- Error dari kinjerja/tingkah laku
- Error dari inisialisasi dan terminasi

Test dilakukan pertama kali pada yang tidak memiliki dependensi

Spesifikasi/model sistem adalah titik awal dalam memulai desain tes

Jenis teknik desain test
- Equivalent Class Partitioning
- Boundaries Value Analysis
- State Transition Testing
- Causes-Effect Graphing



Testing dan Implementasi - Part 3


Test case : tes yang dilakukan berdasarkan insialisasi, masukan, kondisi ataupun hasil yang telah ditentukan
Pendekatan test

Ditest dengan 2 cara
- Mendemonstrasikan tiap fungsi telah beroperasi secara penuh sesuai yang diharapkan
- Mengetahui operasi internal dari produk

White box testing
- Metode desain test case yang menggunakan struktur kendali dari desain prosedural
- Penentuan test case disesuaikan dengan kebutuhan sistem

Mengapa melakukan white box
- Kesalahan logika & asumsi tidak benar
- Asumsi adanya kemungkinan terhadap eksekusi jalur ynag tidak benar
- Kesalahan penulisan yang acak












Rule White Box

Desain cakupan test
1. Menganalisa source code untuk membuat flow graph
2. Mengidentifikasi jalur test untuk mencapai pemenuhan test berdasarkan pada flow graph
3. Mengevaluasi kondisi test yang akan dicapai
4. Memberikan nilai masukan dan keluaran berdasarkan kondisi

Cyclomatix Complexity
- Region/Complexity
V(G) = E (edges) – N (nodes) + 2
V(G) = P (predicate node) + 1
Jika [V(G)] > 10 berarti program yang dibuat ruwet

 


Testing dan Implementasi - Part 2

Objektifitas testing
- Meningkatkan kepercayaan sistem dengan tingkat resiko yang dapat diterima
- Menyediakan informasi untuk mencegah terulangnya error
- Menyediakan informasi untuk membantu deteksi error secara dini
- Mencari kelemahan sistem
- Mencari kemampuan sistem
- Menyediakan informasi untuk kualitas dari produk software

Misi tim testing
- Membantu meminimalkan resiko
- Hanya menginformasikan kesalahan
- Tester adalah individu yang memberikan hasil pengukuran dari kualitas produk

Tester wajib paham
- Software quality
- Komunikasi (dengan template tertentu)
- Sistem keseluruhan
- Bisnis knowledge
- Testing method

Psikologi testing : pengembangan dilakukan secara konstruktif, sedangkan testing dilakukan secara destruktif
Prinsip testing
- Testing yang komplit tidak mungkin
- Testing merupakan pekerjaan kreatif dan sulit
- Mencegah terjadinya error
- Testing berbasis resiko
- Testing harus direncanakan
- Testing harus independen