White Box Testing untuk Menguji Perangkat Lunak

White Box Testing untuk Menguji Perangkat Lunak

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.

💻 Mulai Belajar Pemrograman

Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.

Daftar Sekarang

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

Baca juga beberapa artikel pilihan berikut untuk menambah wawasan:

  1. Apa Itu MVC? Pahami Konsepnya dengan Baik
  2. Metode SDLC Dalam Pengembangan Software
  3. Apa Itu Prototype? Kenapa Itu Penting?
  4. Black Box Testing Untuk Menguji Perangkat Lunak

Belajar Pemrograman Gratis
Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.