Metode White Box Dan Black Box Testing
Metode White Box Dan Black Box Testing
Pengujian perangkat lunak perlu dilakukan untuk mengevaluasi baik secara manual maupun
otomatis untuk menguji apakah perangkat lunak sudah memenuhi persyaratan atau belum, dan
untuk menentukan perbedaan antara hasil yang diharapkan dengan hasil sebenarnya.
Teknik pengujian dapat dilakukan dengan menggunakan pengujian White-Box dan Black-Box
Berikut ini penjelasan tentang white box :
Pengujian white-box (glass box), adalah metode desain test case yang menggunakan struktur
kontrol desain prosedural untuk memperoleh test case. Dengan menggunakan metode pengujian
white-box, perekayasa sistem dapat melakukan test case untuk memberikan jaminan bahwa :
Pengujian white-box bisa dilakukan dengan pengujian basis path, metode ini merupakan salah
satu teknik pengujian struktur kontrol untuk menjamin semua statemen dalam setiap jalur
independen program dieksekusi minimal 1 kali. Perhitungan jalur independen dapat dilakukan
melalui metrik Cyclomatic Complexity. Sebelum menghitung nilai Cyclomatic Complexity,
harus diterjemahkan desain prosuderal ke grafik alir, kemudian dibuat flow graphnya, seperti
pada gambar di bawah ini.
Flowchart / bagan alir
Flow Graph
Path 1 = 1 – 11
Path 2 = 1 – 2 – 3 – 4 – 5 – 10 – 1 – 11
Path 3 = 1 – 2 – 3 – 6 – 8 – 9 – 10 – 1 – 11
Path 4 = 1 – 2 – 3 – 6 – 7 – 9 – 10 – 1 – 11
Path 1,2,3,4 yang telah didefinisikan diatas merupakan basis set untuk diagram alir.
Cyclomatic complexity digunakan untuk mencari jumlah path dalam satu flowgraph. Dapat
dipergunakan rumusan sebagai berikut :
1. Jumlah region grafik alir sesuai dengan cyclomatic complexity.
2. Cyclomatix complexity V(G) untuk grafik alir dihitung dengan rumus:
V(G) = E – N + 2 …………. (1)
Dimana:
E = jumlah edge pada grafik alir
N = jumlah node pada grafik alir
1. Cyclomatix complexity V(G) juga dapat dihitung dengan rumus:
V(G) = P + 1 ……….. (2)
Dimana P = jumlah predicate node pada grafik alir
Dari Gambar di atas dapat dihitung cyclomatic complexity:
1. Flowgraph mempunyai 4 region
2. V(G) = 11 edge – 9 node + 2 = 4
3. V(G) = 3 predicate node + 1 = 4
Jadi cyclomatic complexity untuk flowgraph adalah 4
Biasanya batas maksimum nilai yang dapat diterima Cyclomatic Complexity adalah 10. Nilai-
nilai lain, seperti 15 atau 20, juga telah diusulkan. Terlepas dari batas yang tepat, jika Cyclomatic
Complexity melebihi 20, harus dipertimbangkan hal itu. Prosedur dengan kompleksitas yang
tinggi cyclomatic harus disederhanakan atau dipecah menjadi beberapa prosedur yang lebih
kecil.
Menurut Rich Sharpe, kami telah melakukan analisis historis puluhan ribu file kode sumber,
menerapkan metrik individu kepada mereka, yang McCabe adalah salah satu. Untuk setiap file,
kami menganalisis metrik, bersama dengan tingkat cacat untuk file itu, dan melakukan korelasi.
Grafik di bawah ini menunjukkan korelasi Cyclomatic Complexity (CC) nilai-nilai pada tingkat
file (x-sumbu) terhadap kemungkinan kesalahan yang ditemukan dalam file-file (y-axis).
Hasil penelitian menunjukkan bahwa file yang memiliki nilai CC 11 memiliki probabilitas
terendah rawan kesalahan (28%). File dengan nilai CC 38 memiliki probabilitas 50% menjadi
rawan kesalahan. File yang mengandung nilai-nilai CC dari 74 dan naik sampai dengan 98%
ditambah probalitas rawan kesalahan
Black-Box Testing merupakan pengujian yang berfokus pada spesifikasi fungsional dari
perangkat lunak, tester dapat mendefinisikan kumpulan kondisi input dan melakukan pengetesan
pada spesifikasi fungsional program.
1. Black box testing berfokus pada kebutuhan fungsional pada software, berdasarkan pada
spesifikasi kebutuhan dari software.
2. Black box testing bukan teknik alternatif daripada white box testing. Lebih daripada itu,
ia merupakan pendekatan pelengkap dalam mencakup error dengan kelas yang berbeda
dari metode white box testing.
3. Black box testing melakukan pengujian tanpa pengetahuan detil struktur internal dari
sistem atau komponen yang dites. juga disebut sebagai behavioral testing, specification-
based testing, input/output testing atau functional testing
Pada black box testing terdapat jenis teknik design tes yang dapat dipilih berdasarkan pada tipe
testing yang akan digunakan, yang diantaranya :
Equivalence Partitioning
Merupakan metode black box testing yang membagi domain masukan dari suatu program ke
dalam kelas-kelas data, dimana test cases dapat diturunkan [BCS97a]. Equivalence partitioning
berdasarkan pada premis masukan dan keluaran dari suatu komponen yang dipartisi ke dalam
kelas-kelas, menurut spesifikasi dari komponen tersebut, yang akan diperlakukan sama
(ekuivalen) oleh komponen tersebut. Dapat juga diasumsikan bahwa masukan yang sama akan
menghasilkan respon yang sama pula. Nilai tunggal pada suatu partisi ekuivalensi diasumsikan
sebagai representasi dari semua nilai dalam partisi.
1. Tester menyediakan suatu model komponen yang dites yang merupakan partisi dari nilai
masukan dan keluaran komponen.
2. Masukan dan keluaran dibuat dari spesifikasi dari tingkah laku komponen.
3. Partisi adalah sekumpulan nilai, yang dipilih dengan suatu cara dimana semua nilai di
dalam partisi, diharapkan untuk diperlakukan dengan cara yang sama oleh komponen
(seperti mempunyai proses yang sama).
4. Partisi untuk nilai valid dan tidak valid harus ditentukan.
Kode area : kondisi input, Boolean –kode area mungkin ada atau tidak kondisi input,
range –nilai ditentukan antara 200 dan 999
Prefix : kondisi input range > 200 atau tidak diawali 0 atau 1
Suffix : kondisi input nilai 4 digit
Password : kondisi input boolean –passwordmungkin diperlukan atau tidak kondisi input
nilai dengan 6 karakter string
Perintah : kondisi input set berisi perintah-perintah yang telah didefinisikan
Source :
1. Rekayasa Perangkat Lunak Pendekatan Praktisi (Buku Satu), (Roger S. Pressman, Ph.D.
2002 : 536)
2. Rosa A. S. - Black Box Testing
3. Pusat Pengembangan Bahan Ajar UMB, Ir. Pranto Busono, M.Kom – Testing & Implementasi
4. http://www.aivosto.com/project/help/pm-complexity.html