Pengujian atau testing dalam dunia pengembangan perangkat lunak maupun aplikasi menjadi salah satu hal penting yang harus dilakukan dengan presisi. Selain itu, pengujian ini umumnya mengacu pada aspek fungsi dari masukan (input) dan luaran (output) sebuah aplikasi sebelum sampai ke tangan pengguna. Nah, salah satu bentuk pengujian tadi adalah black box testing. Apa itu black box testing? Mari simak ulasannya berikut ini.
Baca juga: Panduan Software Development Bagi Milenial
Apa itu black box testing?
Black box testing merupakan metode pengujian perangkat lunak yang berbasis fungsionalitas (Sumber: Pexels)
Dilansir dari National Institute of Standards and Technology (NIST) Computer Security Resource Center (CSRC) dalam situsnya, black box testing didefinisikan sebagai metode pengujian perangkat lunak (software) yang memeriksa fungsionalitas aplikasi tanpa mengintip ke dalam struktur atau cara kerja internalnya.
Metode pengujian black box testing secara khusus dapat diterapkan pada hampir setiap tingkat pengujian perangkat, baik itu unit, integration, system, dan acceptance.
Jika dilihat dari segi teknis, black box testing dilakukan dengan menilai suatu perangkat lunak atau aplikasi hanya dari luar. Hal ini berarti black box testing dilakukan penguji atau operator tanpa mereka mengetahui apa yang terjadi di dalam sistem untuk menghasilkan respons terhadap tindakan pengujian.
Black box testing secara khusus mengacu pada sistem yang perilakunya harus diamati sepenuhnya oleh input dan output. Teknik pengujian ni secara umum dapat menggambarkan berbagai metodologi pengujian dan berbeda dengan teknik pengujian white box maupun clear box.
Sebabnya, di kedua teknik pengujian tadi penguji diharuskan mempertimbangkan cara kerja internal kode aplikasi, seperti cakupan jalur, cabang, kebocoran memori, dan penanganan terhadap pengecualian. Sehingga, bila disimpulkan, black box testing merupakan teknik pengujian perangkat lunak dimana fungsionalitasnya tidak diketahui dan juga bagian internal produk tidak dilihat.
Baca juga: Mengenal White Box Testing: Jenis dan 6 Teknik yang Digunakan
Pro dan kontra black box testing
Black box testing merupakan pengujian berbasis perilaku dengan keunggulan dan kekurangan tertentu (Sumber: Pexels)
Black box testing juga dikenal sebagai pengujian behavioral atau pengujian berbasis perilaku. Sebabnya, teknik pengujian ini berfokus pada input dan output serta didasarkan pada persyaratan dan spesifikasi suatu perangkat lunak atau aplikasi itu sendiri.
Sebagai salah satu teknik pengujian perangkat lunak, black box testing tentu menuai pro dan kontra atau kelebihan serta kekurangannya jika dibandingkan dengan teknik pengujian lainnya. Adapun beberapa pro dan kontra dari black box testing antara lain adalah sebagai berikut.
Pro Black Box Testing | Kontra Black Box Testing |
Penguji tidak perlu memiliki pengetahuan lebih di aspek fungsional atau keterampilan pemrograman untuk proses implementasi | Potensi mengulang tes yang sama saat penerapan proses pengujian |
Lebih efisien untuk menerapkan pengujian dalam sistem yang lebih besar atau kompleks | Tidak memiliki spesifikasi fungsional yang jelas sehingga kasus uji sulit diterapkan secara berulang |
Mudah mereproduksi kasus pengujian | Potensi tidak dapat mendeteksi penyebab kegagalan pengujian |
Efektif digunakan untuk menemukan ambiguitas dan kontradiksi dalam spesifikasi fungsional | Tidak memunculkan kesalahan dalam struktur kontrol dan akan sangat menghabiskan banyak waktu jika sampel input besar |
Baca juga: Software Development: Ketahui Proses, Tipe, dan 3 Daftar Pekerjaannya
Perbedaan black box testing dengan white box testing
Perbedaan umum black box testing dengan white box testing adalah menyoal fungsi eksternal dan kode internal (Sumber: Pexels)
Seperti yang telah disebut sebelumnya, black box testing memiliki perbedaan mendasar dengan white box testing maupun clear box testing. Hal ini utamanya berdasarkan pada aspek internal dan fungsionalitas perangkat lunak. Adapun beberapa perbedaan antara black box testing dengan white box testing antara lain adalah sebagai berikut.
Black Box Testing | White Box Testing |
Metode pengujian tanpa pengetahuan tentang kode aktual atau struktur internal aplikasi | Metode pengujian yang memiliki pengetahuan tentang kode aktual dan struktur internal aplikasi |
Dilakukan sebagai pengujian tingkat tinggi (behavioral) atau tingkat lanjut | Dilakukan pada tingkat pengujian lebih rendah seperti pengujian unit dan integrasi |
Berkonsentrasi pada fungsionalitas sistem yang diuji (eksternal) | Berkonsentrasi pada kode aktual, program, dan sintaksnya (internal) |
Membutuhkan spesifikasi dan persyaratan untuk melakukan pengujian, serta dilakukan oleh penguji | Membutuhkan dokumen desain dan diagram alir data, serta dilakukan oleh pengembang (developer) atau penguji dengan pengetahuan pemrograman |
Baca juga: 6 Keuntungan Menjadi Software Developer
6 Teknik black box testing
Contoh black box testing menggunakan teknik Equivalence Class Partitioning (Sumber: softwaretestinghelp.com)
Sebagai metode pengujian, black box testing memiliki serangkaian teknik untuk menguji fungsionalitas perangkat lunak secara sistematis. Beberapa teknik black box testing itu antara lain adalah sebagai berikut.
1. Boundary value analysis
Boundary value analysis merupakan teknik black box testing yang berupa analisis nilai batas. Teknik ini fokus pada nilai dan batas karena umumnya perangkat lunak atau aplikasi memiliki sejumlah masalah yang tinggi pada boundaries. Hal ini mengacu pada nilai dan perubahan sistem perilaku, begitu juga dengan validasi dan verifikasi input yang masuk dalam nilai batas suatu aplikasi tersebut.
Contoh penerapan teknik ini adalah bilamana ingin diuji suatu input dengan nilai 1 hingga 100 maka dibuatlah nilai batas seperti 1-1, 1, 1+1, 100-1, 100, dan 100+1. Lantas, kemudian yang dipilih saat pengujian adalah 0, 1, 2, 99, 100, dan 101 sesuai nilai batas tadi.
2. State transition testing
State transition testing merupakan teknik yang digunakan untuk menguji keadaan berbeda dari sistem teruji. Keadaan sistem akan berubah tergantung pada kondisi tertentu. Sedangkan, kondisi tersebut nantinya memicu status yang menjadi skenario dimana penguji perlu melakukan pengujian.
Teknik black box testing yang satu ini umumnya dibuat sebagai diagram transisi yang berisi transisi keadaan sistematis. Dimana, keadaan sistematis ini memberikan pandakan jelas tentang perubahan keadaan (state) untuk efisiensi dan penyederhanaan aplikasi.
3. Error guessing
Teknik error guessing merupakan teknik klasik dalam metode pengujian berbasis perilaku atau pengalaman (experience-based testing). Dalam teknik ini, penguji dapat menggunakan pengalamannya tentang perilaku dan fungsionalitas aplikasi untuk menebak area rawan kesalahan. Teknik ini umumnya dapat menemukan banyak kecacatan di titik-titik umum di mana biasanya para pengembang melakukan kekeliruan.
Beberapa kesalahan umum pengembang antara lain adalah sebagai berikut:
- Divide by zero
- Penanganan nilai “null” pada bidang teks
- Mengklik tombol “submit” tanpa isian nilai apa pun
- Mengunggah dokumen (file) tanpa lampiran
- Mengunggah dokumen dengan ukuran kurang atau lebih dari batasan
4. Graph-based dan comparison testing
Teknik black box testing selanjutnya adalah pengujian berbasis grafik. Seperti namanya, teknik ini adalah build-up dari beberapa objek, dimana semua objek diidentifikasi dan grafiknya disiapkan. Grafik objek ini nantinya dicari hubungan setiap objeknya serta diidentifikasi lalu kasusnya diuji dengan penyelarasan untuk menemukan kesalahan. Sedangkan, comparison testing dilakukan secara independen yang secara sederhana membandingkan perangkat lunak atau aplikasi satu dengan lainnya.
5. Equivalence partitioning testing (ECP)
Teknik pengujian yang satu ini umum dikenal sebagai teknik partisi kesetaraan, dimana nilai input ke sistem aplikasi dibagi ke dalam kelas atau kelompok berbeda berdasar kesamaan hasil. Teknik ini secara khusus dapat dilakukan dengan menggunakan salah satu nilai dari grup/kelas untuk menguji hasilnya. Secara umum, teknik pengujian ini dapat mempertahankan cakupan pengujian temporal atau sementara sambil mengurangi jumlah pengerjaan ulang.
6. Decision table testing
Contoh tabel benar/salah (true/false) dalam teknik decision table (Sumber: softwaretestinghelp.com)
Teknik pengujian ini didasarkan pada hubungan logis di mana jika aksi A benar dan tindakan A benar, maka tindakan B salah. Kondisi ini dilakukan dengan penentuan Boolean atau benar dan salah. Dalam teknik decision table testing ini dikenal beberapa elemen seperti condition (input), action (output), dan rules (aturan). Dimana elemen-elemen tersebut digunakan untuk mengelola keputusan terhadap sistem.
Baca juga: Ikuti Tips Ini dan Dapatkan Posisi Software Developer!
Berikut tadi adalah beberapa hal yang perlu kamu ketahui mengenai black box testing jika kamu ingin belajar sebagai software developer. Perihal teknis mengenai pengujian perangkat lunak dan aplikasi ini perlu kamu pahami sebelum berkarier di bidang software developer seperti ini.
Bagi kamu yang kini tengah bingung mencari jalan terbaik untuk kariermu, EKRUT hadir sebagai rekan profesional buat kamu. Dengan mendaftar lewat EKRU, kamu bisa mendapatkan berbagai informasi perihal pengembangan karier hingga potensi direkrut oleh berbagai perusahaan bonafide di Indonesia. Kamu hanya perlu menyiapkan CV dan portofolio terbaik yang kamu punya lalu klik tautan di bawah ini untuk langsung mendaftar lewat EKRUT.
Sumber:
- csrc.nist.gov
- techtarget.com
- geeksforgeeks.org