Salah satu pengujian perangkat lunak yang kerap digunakan ialah black box testing, sering kali dapat meninjau baik secara input maupun output pada aplikasi.
Artikel ini akan membahas mengenai penjelasan mendalam, jenis tekniknya, cara kerja, dan contoh penggunaannya pada black box testing.
Mengenal Black Box Testing
Black box testing dapat disebut sebagai behavioral testing yang pengujiannya dapat dilakukan untuk mengamati hasil input dan output tanpa perlu mengetahui struktur internal dari perangkat lunak.
Pengujian dengan menggunakan black box dapat digunakan untuk dapat memastikan jika software hingga aplikasi yang diuji layak digunakan sesuai dengan spesifikasi dan kebutuhan penggunanya.
3 Tipe Black Box Testing
Berikut tiga penjelasan lengkap mengenai tipe-tipe black box testing.
Tes Functional
Pengujian ini menilai fungsionalitas, seperti kinerja login dengan username dan password. Dalam tes functional dapat memastikan keamanan dan mencakup elemen penting dalam perangkat lunak.
Tes Non-Functional
Kemudian, pada tes non-functional mengevaluasi fitur tambahan yang tidak bersifat fungsional, pengujian ini dapat mengukur aplikasi secara optimal, termasuk aspek OS, resolusi layar, dan jenis perangkat.
Tes Regression
Pada tes ini dapat menggabungkan aspek functional dan non-functional untuk dapat memastikan tidak adanya penurunan performa setelah melakukan pembaruan versi software.
Jenis-Jenis Teknik Black Box Testing
Ada beberapa jenis teknik yang bisa digunakan untuk dapat menguji perangkat lunak.
- All Pair Testing. Teknik dapat menguji semua kemungkinan kombinasi pasangan berdasarkan input parameter.
- Boundary Value Analysis. Teknik ini dapat mencari error pada batas luar atau dalam perangkat lunak.
- Cause-Effect Graph. Pengujiannya menggunakan grafik, dengan menggambarkan relasi antara efek dan penyebab dari error.
- Equivalence Partitioning. Dapat bekerja dengan cara membagi data input dari beberapa perangkat lunak menjadi beberapa partisi data.
- Fuzzing. Merupakan teknik pencarian bug dalam software dengan memasukan data yang tidak sempurna.
- Orthogonal Array Testing. Digunakan jika input berukuran kecil, tetapi biasanya cukup berat jika digunakan dalam skala besar.
- State Transition. Berguna untuk melakukan pengujian terhadap mesin dan navigasi dari UI dalam bentuk grafik.
Cara Kerja Black Box Testing
Inilah langkah-langkah yang harus diperhatikan pada black box testing.
Pahami Kebutuhan Secara Detail
Sebelum melakukan pengujian, pahami kebutuhan serta spesifikasi yang mau diuji. Selain itu, memahami pentingnya aspek pendukung lainnya dari perangkat lunak.
Menentukan Input
Selanjutnya, pastikan untuk menentukan input data yang ingin diuji. Hal ini untuk memastikan semua jenis input dapat diuji dengan behavioral testing.
Menentukan Output
Tak hanya itu, tentukan pula output setelah dilakukan pengujian dengan cara menggunakan metode behavioral testing.
Proses Seleksi Input
Pada tahapan ini dapat menerapkan test case untuk menguji input yang telah diuji sebelumnya. Misalnya, jika Anda salah input dapat mengetahui hasil atau output dari kesalahan tersebut.
Tahap Pengujian
Dalam tahap ini, test case tadi dapat diuji berdasarkan input yang dapat ditentukan sebelumnya. Hal ini bisa digunakan sebagai alat uji apakah perangkat lunak berjalan dengan baik/tidak.
Evaluasi Hasil
Tahapan terakhir, pengujian dapat berupa laporan dan catatan hasil pengujian. Melalui laporan ini dapat melihat apakah ada kesesuaian dengan perangkat lunak atau tidak.
Kelebihan Black Box Testing
Ketika menggunakan behavioral testing, terdapat beberapa keuntungan yang dapat diperoleh.
- Penguji tidak memerlukan pengetahuan bahasa pemrograman.
- Pengujian dapat mengidentifikasi inkonsistensi dalam perangkat lunak.
- Pengembang dan penguji saling bergantung satu sama lain.
- Penguji tidak memerlukan pemeriksaan kode secara langsung.
- Dapat memungkinkan penguji dan pengembang dapat bekerja secara mandiri.
Baca juga: Apa Itu Behavioral Diagram? Ini Pengertian, Jenis, dan Manfaatnya
Kekurangan Black Box Testing
Tak hanya memiliki kelebihan, behavioral testing juga memiliki kekurangan.
- Ada risiko kesalahan yang tidak terdeteksi karena kurangnya ketelitian dan keterbatasan.
- Beberapa bagian back-end mungkin tidak dapat teruji dengan baik.
- Pengujian mungkin perlu diulang oleh programmer.
- Keterbatasan dalam mengidentifikasi bug kompleks.
- Dapat memiliki ketergantungan pada skema uji yang terbatas.
Contoh Pengujian pada Black Box
Saat melakukan pembelian di platform belanja online X, kamu diminta untuk memasukkan nomor kartu kredit dan kode keamanan yang valid pada tahap pembayaran.
Setelah mengisi dan menekan tombol “bayar”, muncul notifikasi bahwa nomor kartu kredit yang dimasukkan tidak valid.
Kemudian, adanya opsi untuk dapat memperbaiki data yang salah atau dapat memilih metode pembayaran lain, seperti dompet digital. Kamu bisa mencoba memasukkan nomor kartu kredit yang berbeda hingga pembayaran bisa berhasil.
Setelah itu, sistem akan mengarahkannya secara langsung ke halaman konfirmasi pembelian dengan adanya rincian transaksi yang telah diproses.
Perbedaannya dengan White Box Testing
Black box testing memiliki pengujian dengan white box testing. Pada black box biasanya menguji fungsionalitas program dan memastikan apakah sudah sesuai dengan ketentuan yang telah ditetapkan. Pengujian ini dilakukan setelah white box selesai.
Sementara itu, pada white box testing memiliki tujuan untuk memeriksa apakah struktur dapat sesuai dengan ketentuan yang ada. Namun, seringkali pengujian ini dapat memakan waktu lebih lama untuk memastikan semua komponen terpasang dengan benar.