Anda di halaman 1dari 6

METODE WHITE BOX DAN BLACK BOX TESTING

1. WHITE 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.

Tujuan pengujian perangkat lunak adalah :


- Menilai apakah perangkat lunak yang dikembangkan telah memenuhi kebutuhan pemakai.
- Menilai apakah tahap pengembangan perangkat lunak telah sesuai dengan metodologi yang
digunakan.
- Membuat dokumentasi hasil pengujian yang menginformasikan kesesuaian perangkat lunak
yang diuji dengan spesifikasi yang telah ditentukan.

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 :

- Semua jalur independen pada suatu modul ditelusuri minimal 1 kali


- Semua jalur keputusan logis True/False dilalui
- Semua loop dieksekusi pada batas yang tercantum dan batas operasionalnya
- Struktur data internal digunakan agar validitas terjamin

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 

Dari gambar flowgraph di atas didapat :

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

Nilai Cyclomatic Complexity


Cyclomatic Complexity yang tinggi menunjukkan prosedur kompleks yang sulit untuk dipahami,
diuji dan dipelihara. Ada hubungan antara Cyclomatic Complexity dan resiko dalam suatu
prosedur.

Hubungan antara Cyclomatic Complexity dan Resiko


 
CC Type of Procedure Risk
1-4 A simple procedure Low
5-10 A well structured and stable procedure Low
11-20 A more complex procedure Moderate
21-50 A complex procedure, alarming High
An error-prone, extremely troublesome, untestable
>50 Very high
procedure

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

2. METODE BLACK BOX

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. 

Ciri-Ciri Black Box Testing

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  :

1. Equivalence Class Partitioning


2. Boundary Value Analysis
3. State Transitions Testing
4. Cause-Effect Graphing

Kategori error yang akan diketahui melalui black box testing  :

 Fungsi yang hilang atau tak  benar


 Error  dari antar-muka
 Error  dari struktur data atau  akses eksternal database
 Error  dari kinerja atau tingkah  laku
 Error  dari inisialisasi dan  terminasi 

 
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.

Analisa partisi pada Equivalence Partitioning Black Box 

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.

Contoh Black Box Testing dengan Equivalence Partitioning :


Pemeliharaan data untuk aplikasi bank yang sudah diotomatisasikan. Pemakai dapat memutar
nomor telepon bank dengan menggunakan mikro komputer yang terhubung dengan password
yang telah ditentukan dan diikuti dengan perintah-perintah. Data yang diterima adalah :
        Kode area        : kosong atau 3 digit
        Prefix               : 3 digit atau tidak diawali 0 atau 1
        Suffix              : 4 digit
        Password         : 6 digit alfanumerik
        Perintah           : check, deposit, dll
Selanjutnya kondisi input digabungkan dengan masing-masing data elemen  dapat ditentukan
sebagai berikut:

 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

Anda mungkin juga menyukai