Selasa, 26 Mei 2015

Perbedaan Antara White-Box dan Black-Box

White-box testing. (juga dikenal dengan clear box testing, glass box testing, transparent box testing, dan structural testing) Dalam White-box testing, kita membuat test cases dengan melihat source code untuk mencari adanya kesalahan pada program. White-box testing dilakukan oleh Software Engineer karena membutuhkan pengetahuan tentang programming dan implementasinya. Hal-hal yang biasa diuji dalam test cases seperti Loops(while or for loop), Decision Making (if statement or switch statement) atau data structure.
  • Keuntungan White-box testing:
  1. Sebagai Software engineer yang memiliki akses ke source code, hal ini menjadi sangat mudah untuk melakukan skenario pengujian secara efektif.
  2. Membantu Software engineer untuk mengoptimalkan source code.
  3. Baris kode yang tidak efisien dapat dihilangkan agar mencegah bugs pada program.
  • Kerugian White-box testing:
  1. Karena dibutuhkan Software engineer yang berpengalaman dalam White-box testing sehingga mengeluarkan biaya tambahan.
  2. Terkadang sangat sulit melihat setiap baris kode untuk mencari bugs pada program yang akan diuji.
Black-box testing. Sedangkan Black-box testing merupakan kebalikan dari White-box testing dimana Software Tester tidak memiliki akses source code atau mengetahui implementasi dari program tersebut untuk mencari adanya kesalahan pada program dan juga tidak diharuskan memiliki pengetahuan tentang programming dan implementasinya. Ketika melakukan Black-box testing, tester akan berinteraksi dengan user interface yang menyediakan input dan memeriksa outputnya, juga menguji performa program atau menguji function-function yang tidak bekerja dengan benar.
  • Keuntungan Black-box testing:
  1. Cocok dan efisien untuk source code dengan skala besar.
  2. Menguji program dari sudut pandang user.
  3. Software tester dalam jumlah yang banyak dapat menguji program tersebut tanpa harus memiliki pengetahuan tentang programming.
  • Kerugian Black-box testing:
  1. Software tester hanya menjalankan beberapa skenario pengujian yang dipilih.
  2. Pengujian yang tidak efisien karena Software tester memiliki pengetahuan yang terbatas tentang program.
  3. Pengujian yang tidak spesifik karena Software tester tidak memiliki akses ke source code.

Tidak ada komentar:

Posting Komentar