Black Box Testing

Black box testing adalah proses menguji fungsi perangkat lunak (software) atau aplikasi dari sudut pandang pengguna, tanpa mengetahui struktur internal atau desain struktur tersebut.

Software Engineering

Mau Belajar

Software Engineering

GRATIS?

Di RevoU, tidak hanya teori, penerapan, serta career coaching. Kamu juga mendapatkan akses ke Community Hub dengan 6000+ member. Di sini, kamu akan selalu terupdate informasi seputar job openings, industry news, dan upskilling events!

IKUT KURSUS GRATIS

Mau Belajar

Software Engineering

GRATIS?

Apa itu Black Box Testing?  

Definisi black box testing
Definisi black box testing

Black box testing adalah proses menguji fungsi perangkat lunak (software) atau aplikasi dari sudut pandang pengguna, tanpa mengetahui struktur internal atau desain struktur tersebut.

Sederhananya, black box testing hanya melakukan penilaian dari apakah sistem bisa memberikan output atau hasil sesuai dengan input (informasi atau instruksi yang diterima sistem). 

Jika hasilnya sesuai, maka sistem dinyatakan bisa berfungsi dengan baik. Jika sistem gagal menjalankan prosedur yang diminta, maka dinyatakan butuh perbaikan. 

Karena itu black box testing juga disebut dengan behavioral testing, closed-box, atau specification-based testing. 

Teknik-teknik Black Box Testing

Dirangkum dari Javatpoint, berikut teknik black box testing yang digunakan untuk menguji perangkat lunak:

#1 Equivalence Partitioning Technique

Teknik ini membagi data input menjadi dua bagian, yaitu nilai valid dan invalid, dan dilakukan pengujian secara terpisah. Kedua bagian tersebut harus menunjukkan perilaku yang sama untuk dinyatakan pengujian berhasil.

#2 Boundary Value Technique

Teknik boundary value digunakan untuk menguji error pada nilai batas atas dan bawah suatu variabel. Misalnya, variabel usia memiliki batas bawah (minimum) yaitu 18 tahun, dan batas atasnya (usia maksimum) adalah 30 tahun. 

Teknik ini digunakan karena banyak aplikasi yang memiliki masalah pada nilai batas, terutama batas atas.  

#3 All-pair Testing Technique

Teknik ini menguji seluruh kemungkinan kombinasi data diskrit. 

Data diskrit adalah data dengan nilai yang pasti dan terbatas, biasanya dalam bentuk bilangan bulat atau ganjil. Misalnya, 2 kucing, 1 laptop, 5 baju. 

Metode kombinasi ini digunakan untuk menguji aplikasi yang menggunakan input kotak centang, input tombol radio, kotak daftar, kotak teks, dan lain-lain.

#4 Decision Table Technique

Teknik ini dilakukan dengan pendekatan sistematis, di mana kombinasi input dirangkum dalam sebuah tabel. Decision table technique cocok untuk menguji fungsi yang memiliki hubungan logis antara dua atau lebih input. 

Sebagai contoh, Andin ingin log in ke Facebook. Sebelumnya, ia diminta untuk memasukkan e-mail dan password yang telah disimpan oleh Facebook. 

Jika Andin memasukkan e-mail dan password yang benar, maka ia diarahkan ke halaman Beranda Facebook-nya. Tapi jika Andin memasukkan e-mail dan password yang salah, ia akan tetap di halaman log in. 

#5 State Transition Technique

Teknik state transition digunakan untuk mengetahui apakah fungsi software bisa bekerja jika mendapatkan nilai input yang berbeda. Hal ini karena keadaan output sistem bisa berubah tergantung pada kondisi atau peristiwa. 

State transition technique digunakan pada jenis aplikasi yang memberikan jumlah percobaan tertentu untuk mengakses aplikasi. 

Misalnya seperti pada ATM, jika user memasukkan PIN yang salah berkali-kali maka output-nya adalah PIN terblokir dengan sendirinya.

#6 Cause-Effect Technique

Cause-effect technique menggunakan grafik untuk menggambarkan hubungan antara penyebab error dan efeknya.

#7 Error Guessing Technique

Pada teknik ini, identifikasi error pada aplikasi didasarkan pada pengalaman dan pengetahuan penguji. 

#8 Use Case Technique

Teknik ini menguji setiap fungsi software dengan cara menjalankan sistem dari tahap awal hingga akhir. 

Keuntungan Black Box Testing

Black box testing adalah tes yang khusus dirancang untuk mencari error sistem dari sudut pandang pengguna. Siapapun bisa melakukan black box testing, tidak harus orang dengan latar belakang programming

Keuntungan lain dari black box testing meliputi:

  • Pengujian dapat langsung dilakukan setelah software dikembangkan.
  • Black box testing efektif untuk menguji aplikasi yang besar dan kompleks.
  • Error dan inkonsistensi sistem bisa dideteksi pada awal pengujian.

Kekurangan Black Box Testing

Terlepas dari manfaatnya, black box testing memiliki kekurangan antara lain:

  • Jika penguji tak memiliki latar belakang programming, ada kemungkinan penguji mengabaikan kondisi atau masalah yang seharusnya ingin diujikan.
  • Black box testing tidak bisa melakukan complete test coverage, yaitu pengujian yang melibatkan kode yang digunakan.
  • Ada kemungkinan black box testing tidak menguji kemungkinan input yang bisa terjadi dan output-nya.
Kelebihan dan kekurangan black box testing
Kelebihan dan kekurangan black box testing

Contoh Pengujian Black Box

Salah satu contoh pengujian black box adalah kasus Andin yang telah disebutkan di atas. 

Misalnya, suatu hari Andin ingin log in ke akun Facebook-nya. Ia memasukkan e-mail yang telah teregistrasi dan password yang diatur sebelumnya. 

Namun ternyata, ada pemberitahuan bahwa password yang dimasukkan oleh Andin salah. Pada halaman log in, Facebook memberi pilihan apakah ia ingin me-reset passwordnya atau log in langsung melalui e-mail.

Andin mencoba memasukkan password yang berbeda, dan ternyata berhasil. Ia pun diarahkan ke halaman Beranda akunnya. 

Contoh di atas menggunakan teknik decision table karena terdapat dua input atau kondisi berbeda (e-mail dan password) yang saling berhubungan, dan output-nya tergantung pada kesesuaian hubungan tersebut. 

Contoh black box testing
Contoh black box testing teknik decision table

FAQ (Frequently Asked Question)

Apa perbedaan black box testing dengan white box testing?

White box testing juga termasuk salah satu metode pengujian software. Bedanya, metode ini lebih berfokus pada struktur aplikasi, kode, dan desain. 

White box testing digunakan untuk mengetahui alur pengiriman data dari input hingga output. Fungsinya untuk meningkatkan desain, kegunaan, dan keamanan aplikasi.

Kata kunci lainnya

Mulai karirmu dalam

Software Engineering

Di RevoU, tidak hanya teori, penerapan, serta career coaching. Kamu juga mendapatkan akses ke Community Hub dengan 6000+ member. Di sini, kamu akan selalu terupdate informasi seputar job openings, industry news, dan upskilling events!
ikut kursus gratis
Menu