Black Box Testing atau Behavioral Testing adalah uji coba yang dilakukan pada sebuah software untuk mengetahui hasil input dan outputnya.
Dalam membangun sebuah software atau perangkat lunak, umumnya akan ada beberapa masalah yang ditemukan saat awal peluncurannya. Masalah-masalah tersebut umumnya berupa hasil output atau hasil input pada software tersebut.
Software yang memiliki masalah tersebut akan berdampak pada operasionalnya. Sehingga diperlukan sebuah uji coba sebelum peluncuran perangkat lunak tersebut. Umumnya perangkat lunak yang akan diluncurkan akan diuji melalui beberapa tahapan.
Salah satu tahapan pada uji coba tersebut adalah dengan menggunakan metode Black Box Testing.
Uji coba ini sangat penting bagi sebuah software karena bertujuan untuk mengetahui apakah sistem pada software berjalan dengan baik atau tidak.
Dalam artikel ini, akan dijelaskan terkait pengertian dan definisi dari black box testing beserta cara kerja dan delapan teknik uji coba black box testing pada suatu software yang akan diluncurkan.
Pengertian Black Box Testing
Black Box Testing atau juga dikenal sebagai Behavioral Testing adalah salah satu jenis tahapan uji coba pada software yang menguji performa input dan output software dengan mengamatinya tanpa mengetahui struktur kode yang ada pada software tersebut.
Pengujian ini masuk pada kategori pengujian tahap akhir pada sebuah software untuk mengetahui apakah software tersebut berjalan dengan baik atau tidak. Sehingga software dapat diluncurkan dengan aman tanpa ada gangguan yang bersifat fatal pada sistemnya.
Sehingga dapat dikatakan bahwa black box testing adalah sebuah tahap pengujian software tanpa detail dari struktur dan kode pemrograman dari software tersebut.
Black box testing adalah pengujian software yang meninjau luaran dari software saja.
Seperti namanya, black box testing menguji sebuah software dengan mengibaratkan software tersebut sebagai “kotak hitam” yang hanya memiliki esensi pada hasil luaran dan inputnya saja. Ada tiga jenis tipe black box testing yang umum digunakan diantaranya adalah sebagai berikut.
1. Tes fungsional
Tes fungsional akan mengecek dan meninjau fungsi suatu software yang diuji. Seperti mengecek performa dan fitur-fitur yang tersedia pada software tersebut. Pengujian jenis ini juga berguna untuk menjaga sistem keamanan software yang diuji.
Misalkan seorang penguji akan menguji fitur login pada software yang diuji, maka penguji akan membuat username dan password yang sesuai dan bisa dimengerti oleh bahasa pemrograman software tersebut.
2. Tes Non-fungsional
Tes non-fungsional berfungsi untuk meninjau fitur tambahan pada software. Tujuannya agar penguji mengetahui apakah aplikasi sudah optimal atau belum. Semisal ada fitur tambahan tersebut yang belum berjalan dengan baik, maka software tersebut belum optimal meskipun sudah berjalan dengan baik.
3. Tes Regresi
Tes regresi berfungsi untuk meninjau apakah ada downgrade atau kemunduran pada sistem yang telah diupgrade atau diperbarui. Sehingga versi terbaru sebuah software akan diperbaiki lebih lanjut apabila penguji menemukan kesalahan pada beberapa fitur yang dianggap “mundur”.
Kelebihan Black Box Testing
- Developer bersama penguji bisa bekerja sama tanpa harus mengganggu aktivitas pekerjaan utama masing-masing.
- Tidak perlu pengetahuan teknis seputar bahasa pemrograman.
- Testing dilakukan sesuai perspektif pengguna, hasilnya bisa membantu menemukan berbagai inkonsistensi pada aplikasi terkait.
- Penguji sudah tidak perlu lagi cek structured code.
Kekurangan Black Box Testing
- Saat ada kesalahan, maka pengujian perlu diulang oleh programmer atau sumber daya lainnya lagi
- Penguji di blackbox testing tidak memiliki background teknis, maka kesalahan yang tak terdeteksi dapat saja terjadi. Salah satu alasannya karena kurang teliti.
- Sebagian back-end sama sekali tidak diuji.
Perbedaan Black Box dan White Box Testing
Ada beberapa perbedaan antara black box testing dengan white box testing. Uji coba dalam black box testing mengacu pada pengujian fungsionalitas aplikasi yang telah dikembangkan, sedangkan uji coba dalam white box testing lebih berfokus pada pengujian struktur internal.
Seperti source code, tujuan keduanya berbeda, tetapi uji coba dalam black box testing menguji fungsionalitas apakah sesuai dengan ketentuan yang terkait atau tidak.
Sedangkan, setelah white box testing selesai, ini difokuskan pada perspektif end-user. White box testing dilakukan untuk mengetahui apakah struktur aplikasi sudah sesuai dengan tujuan. Tes ini kadang-kadang membutuhkan waktu yang lebih lama untuk memastikan bahwa seluruh komponen sesuai.
Cara Kerja Black Box Testing
Dalam black box testing, ada beberapa cara yang dapat dilakukan oleh penguji dalam melakukannya. Berikut adalah cara kerja dan langkah-langkah yang umum dilakukan dalam black box testing.
1. Memahami spesifikasi software yang diuji
Sebelum melakukan pengujian, seorang penguji harus memastikan bahwa software yang akan diuji sudah diketahui spesifikasinya dan fungsinya saat nanti diluncurkan. Penguji juga harus memahami fitur-fitur yang seharusnya ada atau tidak ada pada software tersebut.
2. Menentukan input software yang diuji
Setelah memahami spesifikasi software yang diuji, seorang penguji akan dituntut untuk mencari dan menentukan input yang akan diamati pada software tersebut. Input yang dimaksud adalah fitur-fitur atau luaran sistem aplikasi yang akan diuji.
3. Menentukan output software yang diuji
Hampir sama seperti input, output sebuah software akan diuji oleh penguji umumnya akan dipilih terlebih dahulu. Sehingga anda dapat merubah atau mengevaluasi output atau fungsi dari software tersebut.
4. Melakukan seleksi terhadap input
Melalui beberapa input yang sudah dianalisa dan diseleksi, penguji akan melakukan simulasi buatan atau test case. Melalui test case ini, seorang penguji akan memasukkan input yang salah untuk mengetahui apakah output yang dihasilkan sesuai dengan analisa sebelumnya atau tidak.
5. Melakukan proses pengujian pada software
Pengujian adalah tahap puncak pada pengujian black box testing. Pengujian ini umumnya berupa simulasi buatan. Simulasi buatan ini nantinya akan diujikan sesuai dengan input-input terpilih tadi yang sudah ditentukan terlebih dahulu. Sehingga hasil dari pengujian tetap berdasar pada input yang ditentukan.
6. Mengevaluasi hasil pengujian software
Hasil pengujian ini nantinya akan menjadi bahan evaluasi untuk pengembangan software kedepannya. Sebuah software yang sudah melewati tahap pengujian nantinya akan ditinjau kembali apakah akan dikembangkan lagi, diluncurkan, atau ada beberapa fitur pada software tersebut yang harus diperbaiki.
Teknik Black Box Testing
Ada delapan jenis teknik pada black box testing yang umum digunakan. Berikut adalah delapan teknik black box testing tersebut.
1. All-pair Testing
Tes ini akan menguji keseluruhan data diskrit kombinasi yang memungkinkan. Ada pun data diskrit itu merupakan data dengan nilai terbatas dan pasti, bisa berbentuk bilangan ganjil atau bulat.
Metode kombinasi tersebut digunakan untuk uji aplikasi dengan input centang, tombol radio, kotak teks, kotak daftar, dan berbagai input lain sebagainya.
2. Decision Table
Teknik selanjutnya untuk black box testing adalah decision table. Decision table dilakukan dengan memakai pendekatan sistematis, kombinasi input akan dirangkum dalam tabel. Teknik decision table ideal untuk tes fungsi dengan hubungan logis lebih dari satu input.
Contohnya misal ingin masuk ke Tiktok, sebelumnya diminta input kata sandi dan e-mail yang sudah disimpan Tiktok. Kalau kita menginput data-data ini dengan benar, akan diarahkan ke Beranda. Tapi kalau Andin salah, tetap ada pada halaman masuk / login.
3. Equivalence Partitioning
Equivalence partitioning merupakan teknik black box testing yang membagi data ke dua bagian (data input), nilai yang valid dan tidak valid atau invalid.
Pengujian equivalence partitioning dilakukan secara terpisah. Bagian-bagian tersebut perlu menunjukkan perilaku serupa agar pengujian ini berhasil.
4. Boundary Value
Selanjutnya ada boundary value, uji error ini dilakukan untuk nilai batas bawah & atas variabel. Contoh variabel nilai ulangan, minimumnya 70 dan 100 sebagai batas atasnya.
Teknik seperti ini dipakai karena ada banyak aplikasi dengan masalah nilai batas, tapi yang paling sering adalah permasalahan batas atasnya.
5. State Transition
Kegunaan teknik state transition pada black box testing adalah mencari tahu fungsi software mampu bekerja kalau mendapatkan input berbeda. Keadaan output pada sistem bisa saja berubah tergantung kondisi terkait.
Uji atau teknik state transition dipakai pada aplikasi dengan hasil percobaan tertentu dalam mengakses aplikasi. Contohnya dapat ditemukan saat pengguna keliru memasukkan PIN berkali-kali, output-nya yaitu pemblokiran PIN secara sendirinya.
6. Cause-Effect
Cause-effect merupakan teknik black box testing yang menggunakan grafik dalam penggambaran hubungan efek dan penyebab error.
7. Error Guessing
Pada cara kerja teknik black box testing satu ini, dilakukan identifikasi error untuk aplikasi yang didasarkan kepada pengetahuan dan pengalaman pihak penguji.
8. Use Case
Teknik black box testing selanjutnya yaitu Use Case atau simulasi penggunaan Kegunaannya yaitu menguji tiap fungsi software, caranya dengan menjalankan sistem terkait mulai tahap awal sampai yang paling akhir.
Demikian penjelasan terkait pengertian black box testing, kelebihan dan kekurangannya, cara kerja black box testing, hingga delapan teknik black box testing yang sering digunakan selama pengujiannya. Black box testing sangat penting bagi pengoperasian sebuah perangkat lunak atau software.
Black box testing dapat mempermudah proses pengembangan suatu software dengan meninjau dan mengecek kembali apakah ada masalah pada software tersebut sebelum dikembangkan atau diluncurkan. Sehingga sangat cocok untuk sebuah aplikasi yang akan dibuat atau akan di-upgrade.
Sekawan media membuka jasa pembuatan aplikasi berbasis website dan aplikasi berbasis android. Kami melakukan tahap black box testing pada setiap aplikasi yang kami buat. Hubungi kami untuk informasi lebih lanjut.