Setelah kemarin membahas Black Box
Testing, pada kesempatan kali ini kita akan membahas kembali salah satu
pengujian perangkat lunak yaitu white box testing. Apa
pengertiannya? Apa kelebihan dan kekurangannya? Kita akan membahas semuanya di
sini. Jadi, simak artikel ini dengan baik agar tidak ada informasi dan
pembelajaran yang terlewat ya.
Apa Itu White Box Testing?
White box testing atau yang dapat diartikan
menjadi “pengujian kotak putih” adalah pengujian yang dilakukan untuk menguji
perangkat lunak dengan cara menganalisa dan meneliti struktur internal dan
kode dari perangkat lunak. Lain halnya dengan black box testing yang
hanya melihat hasil input dan output dari
perangkat lunak, pengujian white box testing berfokus pada
aliran input dan output dari perangkat
lunak.
Untuk melakukan pengujian ini, penguji/tester perlu memiliki
kemampuan dalam memahami kode dari suatu program sehingga pengujian ini tidak
bisa dilakukan oleh sembarang orang.
Teknik-Teknik Pengujian
Berikut ini adalah teknik yang dapat digunakan untuk
melakukan white box testing pada perangkat lunak:
- Basis
path testing
Teknik pertama adalah basis path testing. Teknik
bertujuan untuk mengukur kompleksitas kode program dan mendefinisikan alur yang
dieksekusi.
- Branch
coverage
Kemudian ada branch coverage. Pengujian ini
dirancang agar setiap branch code diuji setidaknya satu kali.
- Condition
coverage
Selanjutnya adalah teknik condition coverage,
tujuannya untuk menguji seluruh kode agar menghasilkan nilai TRUE atau FALSE.
Dengan begitu, tester dapat memastikan perangkat lunak dapat bekerja dan
mengeluarkan output sesuai dengan input dari
pengguna.
- Loop
testing
Ada juga teknik loop testing. Pengujian ini
yang wajib dilakukan untuk menguji berbagai perulangan/looping yang
ada dalam program, seperti do-while, for, dan while.
Dalam pengujian ini kamu juga dapat memeriksa kondisi dari perulangan,
apakah sudah berjalan dengan benar atau tidak.
- Multiple
condition coverage
Berikutnya adalah multiple condition coverage.
Teknik ini dilakukan untuk menguji seluruh kombinasi dari kode yang mungkin
digunakan dalam berbagai kondisi. Seluruh kombinasi harus diuji minimal satu
kali, tujuannya untuk memastikan perangkat lunak agar berjalan dengan baik.
- Statement
coverage
Teknik terakhir adalah statement coverage.
Teknik ini dilakukan minimal satu kali untuk menguji setiap statement dalam
perangkat lunak. Dengan pengujian ini, kamu dapat mengetahui kode-kode yang
error sehingga dapat segera memperbaikinya.
Kelebihan dan Kekurangan
Ketika white box testing digunakan untuk
menguji perangkat lunak, ada beberapa kelebihan dan kekurangan yang bisa kamu
dapatkan. Berikut ini adalah kelebihan dan kekurangannya:
Kelebihan
- Meningkatkan
ketelitian dalam mengimplementasikan perangkat lunak.
- Memudahkan
dalam menemukan kesalahan atau bug dalam perangkat lunak
yang sebelumnya tidak terlihat.
- Memudahkan
pengujian karena dilakukan secara menyeluruh sehingga memperkecil
kemungkinan terjadinya error pada kode.
- Meminimalisir
error atau bug karena pengujian dapat dilakukan sebelum perangkat lunak
diluncurkan.
Kekurangan
- Menyusahkan
karena pengujian ini cukup kompleks.
- Memerlukan
waktu kembali ketika menambahkan atau mengganti kode, karena kamu perlu
menguji keseluruhan kode kembali.
- Memakan
sumber daya yang banyak karena White-box testing termasuk
ke dalam pengujian yang cukup mahal.
Perbedaan Antara Black Box Testing dengan White
Box Testing
Setelah mengetahui penjelasan, teknik, dan kelebihan serta
kekurangannya, sekarang kita akan membahas perbedaan antara black box
testing dengan white box testing. Berikut ini adalah
perbedaannya.
- Black
Box Testing (Fungsional)
- Pengujian
dilakukan berdasarkan apa yang dilihat, fokus terhadap fungsionalitas dan
output dari perangkat lunak. Pengujian dilakukan untuk menguji desain
perangkat lunak.
- Dilakukan
oleh penguji yang independen, tidak memerlukan penguji yang mengetahui
dengan jelas programming atau penulisan kode program.
- Black-box
testing dilakukan setelah white-box testing selesai
dilakukan.
- White
Box Testing (Struktural)
- Pengujian
yang dilakukan berkaitan dengan keamanan dan performa dari perangkat
lunak (termasuk pengujian terhadap kode, implementasi, alur data,
dan kemungkinan kegagalan dalam perangkat lunak).
- Dilakukan
oleh penguji yang paham tentang quality assurance (QA), struktur
internal, dan kode dari perangkat lunak.
- Dilakukan
beriringan dengan tahap pengembangan perangkat lunak.
Kesimpulan
Jadi, itulah pembahasan mengenai white box testing.
Bagaimana, apakah kamu sudah paham sekarang? Intinya adalah, pengujian kotak
putih bertujuan untuk menguji perangkat lunak dengan cara menganalisa dan
meneliti struktur internal dan kode dari perangkat lunak.
Pengujian ini memiliki kelebihan seperti dapat dilakukan
lebih detail dan menyeluruh, sehingga kesalahan dapat diminimalisir. Akan
tetapi, pengujian ini juga memiliki kekurangan seperti pengujian yang dilakukan
sangat kompleks sehingga membutuhkan biaya yang cukup besar.
Demikian artikel kali ini. Perlu kamu tahu bahwa pengujian
perangkat lunak tetap harus dilakukan untuk memastikan perangkat lunak yang
kita buat dapat berjalan dengan baik dan sudah sesuai dengan apa yang
diharapkan. Tanpa dilakukannya pengujian, kamu tidak akan tahu apakah ada
kemungkinan terjadi error atau kesalahan dalam perangkat lunak
tersebut. Nantikan artikel selanjutnya dari Dicoding ya. Sampai jumpa di
artikel berikutnya!
White Box Testing untuk Menguji Perangkat Lunak – end
Komentar