TI

Black Box Testing: Fungsi, Teknik, Kelemahan dan Kekurangan

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

Pengertian Black Box Testing

Black Box Testing adalah salah satu teknik pengujian perangkat lunak yang mana fungsi dari perangkat lunak dapat diuji meskipun tanpa pengetahuan mengenai struktur kode internal, jalur internal serta rincian pelaksanaannya.

Black Box Testing berfokus pada input dan output aplikasi perangkat lunak dan dilakukan berdasarkan pada persyaratan dan spesifikasi perangkat lunak. 

Fungsi Black Box Testing

Black Box Testing dapat dilakukan pada berbagai tingkatan, diantaranya unit testing, integration testing, system testing, atau acceptance testing.

Pada salah satu tingkat tersebut, Black Box Testing mampu memeriksa input dan output dari perangkat lunak untuk memastikan bahwa perangkat lunak berjalan sebagaimana yang dimaksud atau dalam berbagai kondisi dan untuk menemukan dan memperbaiki kesalahan.

Hal tersebut memungkinkan teknik ini untuk dapat mengidentifikasi bagaimana sistem merespons tindakan pengguna yang diharapkan dan tidak diharapkan, waktu responnya, masalah kegunaan dan masalah reliabilitasnya. 

Black Box Testing dapat mengetahui apakah perangkat lunak:

  • Dapat digunakan dan mudah dipahami oleh penggunanya
  • Berkinerja di bawah beban yang diharapkan atau beban puncak
  • Kompatibel dengan perangkat, ukuran layar, browser, atau sistem operasi yang relevan
  • Memiliki kerentanan keamanan atau ancaman keamanan umum

Berbagai parameter yang diperiksa dalam Black Box Testing adalah:

  • Tindakan akurat yang dilakukan oleh pengguna
  • Interaksi sistem dengan input
  • Waktu respons sistem
  • Penggunaan struktur data 
  • Masalah pada user interface
  • Masalah kegunaan
  • Masalah performa
  • Kegagalan aplikasi yang tiba-tiba

Teknik Black Box Testing

Ada berbagai teknik kasus uji yang diterapkan untuk Black Box Testing, diantaranya:

Boundary Value Analysis

Boundary Value Analysis adalah teknik Black Box Testing yang banyak digunakan, yang juga merupakan dasar untuk pengujian ekuivalensi.

Teknik ini menguji perangkat lunak dengan kasus uji dengan nilai ekstrim dari data uji. Boundary Value Analysis digunakan untuk mengidentifikasi kekurangan atau kesalahan yang timbul akibat keterbatasan input data. Teknik ini akan menentukan apakah rentang nilai tertentu dapat diterima oleh sistem atau tidak.

Hal tersebut sangat berguna dalam mengurangi jumlah kasus uji dan paling cocok untuk sistem di mana input berada dalam rentang tertentu.

Equivalence Partitioning

Teknik kasus uji ini digunakan untuk memeriksa input dan output dengan membagi input ke dalam kelas-kelas yang setara.

Data harus diuji setidaknya sekali untuk memastikan cakupan pengujian data sudah maksimal. Teknik ini merupakan bentuk pengujian yang lengkap sekaligus juga dapat mengurangi redudansi input. 

State Transition Testing

State Transition Testing menggunakan input, output, dan inti dari sistem selama fase pengujian dengan memeriksa perangkat lunak terhadap urutan transisi atau peristiwa di antara data uji.

Berdasarkan jenis perangkat lunak yang diuji, teknik ini akan memeriksa perubahan sistem dalam keadaan tertentu dengan mempertahankan input yang sama.

Decision Table Testing

Decision Table Testing membuat kasus uji berdasarkan berbagai kemungkinan dengan mempertimbangkan beberapa kasus uji dalam tabel keputusan yang setiap kondisinya akan diperiksa untuk lulus pengujian dan memberikan hasil yang akurat.

Penguji dapat mengidentifikasi “aturan” yang merupakan kombinasi kondisi, mengidentifikasi hasil dari setiap aturan, dan merancang kasus uji untuk setiap aturan. Teknik ini lebih disukai dalam berbagai kombinasi input dan berbagai kemungkinan. 

Error Guessing Technique

Metode Error Guessing Technique adalah dilakukan dengan cara menebak output dan input untuk memperbaiki kesalahan yang mungkin ada dalam sistem.

Hal tersebut tergantung pada keterampilan dan penilaian penguji. Teknik ini juga menguji untuk kesalahan umum yang dilakukan pengembang saat membuat sistem serupa.

Kelebihan Black Box Testing

  • Efisien bila digunakan pada sistem yang besar.
  • Pengujian dilakukan secara seimbang dan tidak berprasangka, karena penguji dan pengembang independen satu sama lain. Pengujian dilakukan setelah pengembangan.
  • Penguji dapat bersifat non-teknis.
  • Penguji tidak perlu memiliki pengetahuan fungsional sistem yang terperinci, tapi sangat penting untuk memahami perspektif pengguna.
  • Pengujian akan dilakukan dari sudut pandang end-user karena mereka yang nantinya akan menggunakan sistem. 
  • Pengujian membantu mengidentifikasi ketidakjelasan dan kontradiksi dalam hal spesifikasi fungsional.
  • Kasus uji dapat dirancang segera setelah spesifikasi fungsional selesai.
  • Pengujian dapat dieksekusi oleh penguji crowdsourced atau outsourcing.
  • Kemungkinan kesalahan lebih rendah.
  • Black Box Testing memiliki cakupan yang lebih luas yang biasanya terlewatkan oleh penguji karena mereka gagal melihat gambaran yang lebih besar dari perangkat lunak.
  • Kasus uji dapat dihasilkan sebelum pengembangan dan dihasilkan tepat setelah spesifikasi.

Kelemahan Black Box Testing

  • Sulit untuk mengidentifikasi input yang rumit jika kasus uji tidak dikembangkan berdasarkan spesifikasi.
  • Sulit untuk mengidentifikasi semua input dalam waktu pengujian yang terbatas.
  • Ada kemungkinan memiliki jalur yang tidak teridentifikasi selama proses pengujian.
  • Adanya kemungkinan besar untuk mengulang tes yang sudah dilakukan oleh programmer.
  • Sulit untuk diotomatisasi
  • Sulit untuk menghitung cakupan pengujian.
  • Jika pengujian gagal, kemungkinan akan sulit untuk memahami akar penyebab masalah.
  • Memerlukan prioritas untuk melakukan pengujian, karena biasanya tidak semua jalur pengguna diuji.