White Box Testing: Pengertian, Fungsi, Teknik, Kelebihan dan Kelemahan

√ Edu Passed Pass quality & scientific checked by advisor, read our quality control guidelance for more info

Pengertian White Box Testing

White Box Testing merupakan metodologi pengujian yang dijalankan berdasarkan struktur internal dan desain perangkat lunak untuk memeriksa struktur program dan memperoleh data pengujian berdasarkan logika atau kode program.

Pengujian ini dilakukan untuk memastikan bahwa operasi internal dijalankan sesuai spesifikasi dan berbagai modul internal telah diimplementasikan dengan tepat.

White Box Testing dilakukan dengan pengujian kode perangkat lunak untuk beberapa hal-hal berikut:

  • Keamanan internal
  • Jalur yang rusak atau tidak terstruktur dengan baik dalam proses pengkodean
  • Aliran input yang spesifik melalui kode
  • Output yang diharapkan
  • Fungsionalitas conditional loops
  • Pengujian untuk setiap pernyataan, objek, dan fungsi secara individual

Pengujian dapat dilakukan pada sistem, integrasi, dan tingkat unit pengembangan perangkat lunak. Salah satu tujuan dasar White Box Testing adalah untuk memverifikasi alur kerja untuk suatu aplikasi.

Teknik ini melibatkan pengujian rangkaian input yang telah ditentukan sebelumnya terhadap output yang diharapkan atau diinginkan sehingga ketika input tertentu tidak menghasilkan output yang diharapkan, Anda akan menemukan bug.

Untuk melakukan White Box Testing, diperlukan keterampilan pemrograman atau setidaknya pemahaman yang mendalam tentang kode untuk dapat mengimplementasikan suatu fitur tertentu. 

Fungsi White Box Testing

White Box Testing dapat berfungsi untuk:

  • Memastikan bahwa semua jalur sudah tercakup setidaknya sekali.
  • Memastikan semua keputusan logis didasarkan pada nilai benar dan salah.
  • Untuk menguji bahwa semua loop telah diuji
  • Untuk menemukan jenis bug seperti kesalahan logic, desain, tipografis, dan sintaks.

Teknik White Box Testing

Statement Coverage

Statement Coverage adalah teknik White Box Testing dimana semua pernyataan yang dapat dieksekusi dalam source code dieksekusi setidaknya sekali.

Teknik ini digunakan untuk menghitung jumlah pernyataan dalam source code yang telah dieksekusi.

Tujuan utama dari Statement Coverage adalah untuk mencakup semua kemungkinan line, path, dan statement dalam source code.

Statement Coverage digunakan untuk menurunkan skenario berdasarkan struktur kode yang diuji. 

Dalam White Box Testing, penguji akan berfokus pada cara kerja perangkat lunak. Dengan kata lain, penguji akan berkonsentrasi pada kerja internal source code mengenai grafik aliran kontrol atau diagram alir.

Umumnya dalam perangkat lunak apapun, jika Anda melihat kode sumbernya, akan ada berbagai macam elemen seperti operators, functions, looping, exceptional handlers, dll.

Berdasarkan input ke program, beberapa pernyataan kode mungkin tidak dapat dieksekusi, sehingga tujuan dari Statement Coverage adalah untuk mencakup semua kemungkinan path, line, dan statement dalam kode agar dapat dieksekusi.

Branch Coverage

Teknik Branch Coverage mampu memberikan ruang yang luas bagi penguji untuk menemukan hasil yang lebih cepat.

Teknik ini akan membantu dalam memverifikasi semua branch dalam baris kode, sehingga dapat memberikan akses yang lebih baik untuk menemukan dan memperbaiki segala jenis hal yang tidak normal dalam aplikasi dengan mudah.

Branch menunjukkan sebuah instruksi dengan menyertakan penggunaan IF clause dalam kode. IF clause ini memiliki dua kemungkinan yaitu sukses atau gagal.

Teknik ini dapat membantu untuk menentukan jumlah kode menggunakan percabangan yang nantinya akan memunculkan nomor yang sesuai dari uji kasus.

Branch Coverage akan memastikan bahwa setiap branch dari setiap titik keputusan telah dieksekusi.

Path Coverage

Path coverage dilakukan untuk menentukan pengujian yang mencakup semua jalur dalam suatu aplikasi. Teknik ini akan memastikan bahwa tidak ada jalur yang tidak tervalidasi.

Teknik ini bermanfaat untuk memvalidasi produk yang kompleks dan memastikan bahwa setiap jalur dilalui setidaknya sekali.

Umumnya, teknik ini digunakan untuk menguji program yang kompleks. Dapat dikatakan teknik Path Coverage ini lebih bermanfaat daripada Branch Coverage. 

Kelebihan dan Kelemahan White Box Testing

Kelebihan White Box Testing

  • Mampu menemukan kesalahan internal yang mungkin tersembunyi, karena White Box Testing mampu memeriksa dengan fungsionalitas internal.
  • Membantu menemukan masalah dan mengoptimalkan kode untuk mengadopsi berbagai teknik.
  • Struktur pengkodean internal yang lebih transparan.
  • Pengujian menyeluruh dengan mencakup semua kemungkinan jalur kode.
  • Kasus dengan White Box Testing dapat dengan mudah diotomatisasi.
  • Dapat memulai pengujian lebih awal atau pada tahap sebelumnya, tidak perlu menunggu seluruh modul tersedia.
  • Proses pengujian lebih inklusif, menyediakan lebih banyak cakupan ke bagian aplikasi, sehingga dapat meningkatkan kemungkinan pengujian pada sebagian besar jalur.

Kelemahan White Box Testing

  • Desain White Box Testing terbilang canggih sehingga membutuhkan keterampilan pemrograman yang relevan dan sumber daya yang memiliki pengetahuan menyeluruh tentang desain aplikasi.
  • Membutuhkan tenaga dan upaya yang lebih ekstra untuk mengelola kode pengujian dan script.
  • Perubahan kode sering memerlukan eksekusi ulang, dan bahkan terkadang mengarah ke jalur baru untuk pengujian.
  • Prosedur White Box Testing terbilang cukup rumit dan mahal.
  • White Box Testing yang dilakukan oleh pengembang yang tidak detail dapat menyebabkan kesalahan produksi.
  • Pembaruan pengujian script sering diperlukan setiap kali terjadi perubahan dalam kode.
  • White Box Testing memerlukan pengujian menyeluruh untuk pernagkat lunak yang berukuran besar.
  • White Box Testing tidak selalu bisa dilakukan untuk menguji berbagai kondisi.
  • Perlunya membuat berbagai input yang menjadikan proses White Box Testing sangat memakan waktu lebih banyak, terutama pada perangkat lunak pemrograman yang lebih besar.

Hal-hal tersebut perlu Anda pahami dan perhatikan sebelum melakuakn testing terutama jika Anda memutuskan untuk melakuakan White Box Testing. Semoga informasi tersebut bermanfaat bagi Anda.

fbWhatsappTwitterLinkedIn