Pernahkah Anda merasa penasaran bagaimana cara memastikan sebuah perangkat lunak atau aplikasi dapat bekerja dengan baik? Jawabannya adalah Black Box Testing, sebuah metode pengujian yang mensimulasikan perilaku pengguna dalam berinteraksi dengan sistem.
Nama lain dari Black Box Testing adalah behavioral testing atau closed-box testing yang artinya tidak memerlukan pengetahuan tentang struktur internal kode program. Lalu, bagaimana teknik testing ini bekerja dan apa saja jenisnya?
Ketahui selengkapnya pada Artikel di bawah ini!
Apa itu Black Box Testing?
Black Box Testing adalah metode pengujian perangkat lunak yang berfokus pada input dan output tanpa perlu mengetahui detail internal kode program. Metode ini mensimulasikan perilaku pengguna dalam berinteraksi dengan sistem untuk memastikan perangkat lunak atau aplikasi yang diuji:
- Layak digunakan
- Sesuai dengan spesifikasi
- Memenuhi kebutuhan pengguna
Tujuannya adalah untuk menemukan bug dan masalah sebelum perangkat lunak atau aplikasi digunakan oleh pengguna, sehingga mencegah timbulnya masalah di kemudian hari.
Dalam Black Box Testing, pentester membuat test case berdasarkan spesifikasi dan kebutuhan pengguna. Test case ini kemudian dijalankan untuk menguji fungsionalitas perangkat lunak atau aplikasi. Jika hasilnya sesuai dengan yang diharapkan, maka sistem dinyatakan berfungsi dengan baik. Jika gagal, maka sistem perlu diperbaiki.
Tipe-Tipe Black Box Testing
Black Box Testing terbagi menjadi 3 tipe dengan fungsi dan tujuan yang berbeda-beda. Berikut selengkapnya!
1. Tes Functional
Dalam Black Box Testing, terdapat teknik khusus yaitu Functional Testing. Functional Testing berfokus pada pengujian fungsionalitas individual fitur perangkat lunak. Tujuannya memastikan fitur bekerja sesuai harapan dan perangkat lunak terjaga keamanannya.
Contohnya, tester akan memastikan pengguna bisa login dengan benar dan tidak bisa masuk dengan informasi salah. Functional Testing bisa dilakukan pada tingkat komponen, integrasi, dan keseluruhan sistem untuk memastikan semua fitur berfungsi dengan baik.
2. Tes non-functional
Black Box Testing juga mencakup Non-Functional Testing, yang berfokus pada aspek selain fungsionalitas inti perangkat lunak. Ini mencakup fitur dan fungsi tambahan yang mempengaruhi pengalaman pengguna.
Non-Functional Testing menilai kemampuan software menjalankan tugas tertentu secara optimal, misalnya performanya saat beban kerja tinggi. Selain itu, pengujian ini memastikan kompatibilitas dengan berbagai perangkat dan sistem operasi, serta keamanan dari ancaman eksternal.
Dengan Non-Functional Testing, kita bisa mengetahui apakah software yang dirancang dapat beroperasi dengan baik secara menyeluruh.
3. Tes regression
Regression Testing adalah jenis pengujian yang dilakukan untuk mencari kemungkinan kemunduran pada perangkat lunak setelah dilakukan upgrade versi. Pengujian ini dilakukan dengan mengecek kembali aspek fungsional dan non-fungsional yang telah diuji pada versi sebelumnya.
Tujuannya adalah untuk memastikan bahwa upgrade versi tidak menyebabkan masalah baru atau membuat fitur yang sudah ada menjadi tidak berfungsi. Oleh karena itu, regression Testing adalah bagian penting dari proses pengembangan perangkat lunak.
![](https://digitalsolusigrup.co.id/wp-content/uploads/2023/12/Konsultasi-Jasa-Pentest-1024x256.webp)
Teknik-Teknik Utama Black Box Testing
Terdapat beberapa teknik testing yang digunakan dalam Black Box Testing. Berikut penjelasan serta penerapannya!
1. All-pair Testing
All Pair Testing, teknik pengujian yang efisien untuk aplikasi dengan input diskrit. Data diskrit memiliki nilai terbatas dan pasti, contohnya bilangan bulat (1, 2, 3) atau pilihan seperti jenis kelamin (pria, wanita). All Pair Testing menguji semua kombinasi data tersebut.
Misalnya pada aplikasi toko online, kita bisa menguji kombinasi jumlah produk (1, 2, 3) dengan metode pembayaran (transfer bank, kartu kredit) dan alamat pengiriman (Jakarta, Bandung, Surabaya). Dengan cara ini, All Pair Testing efektif menemukan bug yang muncul akibat kombinasi data tak terduga.
2. Decision Table
Decision Table adalah teknik Black Box Testing yang menggunakan pendekatan sistematis untuk menguji kombinasi input pada perangkat lunak. Teknik ini sangat ideal dalam pengujian fungsi antara dua atau lebih input yang memiliki hubungan logis.
Cara kerjanya dengan merangkum semua kombinasi input yang mungkin dalam sebuah tabel. Tabel tersebut kemudian digunakan untuk menguji bagaimana perangkat lunak merespons setiap kombinasi input.
Contohnya saat ingin login ke Facebook. Sebelumnya, kita diminta untuk memasukkan email dan password yang telah disimpan oleh Facebook. Jika memasukkan email dan password yang benar, maka kita diarahkan ke halaman Beranda Facebook-nya. Tapi jika memasukkan email dan password yang salah, akan tetap di halaman login.
3. Equivalence Partitioning
Equivalence Partitioning adalah teknik pengujian perangkat lunak yang membagi data input menjadi dua bagian yaitu valid dan tidak valid (invalid). Pengujian dilakukan secara terpisah untuk setiap partisi.
Cara kerja teknik ini adalah dengan membagi data input dari beberapa perangkat lunak menjadi beberapa partisi data. Setiap partisi harus memiliki karakteristik yang sama dalam hal efeknya pada perangkat lunak. Pengujian kemudian dilakukan untuk setiap partisi untuk memastikan bahwa perangkat lunak berperilaku dengan benar.
4. Boundary Value
Boundary Value Analysis (BVA) adalah teknik pengujian perangkat lunak yang fokus menemukan error pada batas nilai input. Alih-alih sembarang nilai, BVA menguji perangkat lunak dengan nilai-nilai yang berada tepat di sekitar batas minimum dan maksimum variabel input.
Nilai uji ini biasanya mencakup minimum itu sendiri, maksimum itu sendiri, satu angka di bawah minimum, dan satu angka di atas maksimum. Contohnya, untuk variabel nilai ulangan dengan minimum 70 dan maksimum 100, BVA akan menguji dengan nilai di sekitar batas, yang artinya 69, 70, 71, 99, 100, dan 101 akan diuji.
5. State Transition
Teknik State Transition digunakan untuk menguji bagaimana perangkat lunak berperilaku ketika menerima nilai input yang berbeda. Teknik ini didasarkan pada pemahaman bahwa keadaan output dari sistem dapat berubah tergantung pada kondisi atau peristiwa yang terjadi.
State Transition Testing ideal untuk jenis aplikasi yang memberikan jumlah percobaan tertentu untuk mengakses aplikasi. Contohnya adalah aplikasi mobile banking yang akan terblokir jika memasukkan PIN yang salah sebanyak tiga kali.
6. Cause-Effect
Cause Effect Graph (CEG) adalah teknik pengujian perangkat lunak yang menggunakan grafik untuk menunjukkan hubungan antara penyebab dan efek dari suatu error. Grafik terdiri dari simbol-simbol yang mewakili penyebab, efek, dan hubungan antara keduanya.
Simbol tersebut kemudian dihubungkan dengan garis untuk menunjukkan bagaimana satu penyebab dapat menyebabkan efek lain. Teknik ini sangat bermanfaat untuk menemukan akar permasalahan dari suatu error.
7. Error Guessing
Black Box Testing dengan teknik Error Guessing mengandalkan pengetahuan dan pengalaman penguji untuk mengidentifikasi error pada aplikasi. Pendekatan ini melibatkan pemikiran kritis dan pemahaman tentang cara kerja aplikasi untuk memprediksi dimana kemungkinan error dapat terjadi.
Penguji kemudian merancang kasus uji yang menargetkan area yang diperkirakan memiliki potensi error. Teknik ini sangat bergantung pada keahlian dan pengetahuan penguji.
8. Use Case
Use Case Testing adalah teknik pengujian black box yang digunakan untuk menguji fungsionalitas software dari awal hingga akhir. Teknik ini berdasarkan pada use case, yaitu deskripsi tentang bagaimana pengguna berinteraksi dengan software untuk menyelesaikan suatu tugas.
Use Case Testing dilakukan dengan menjalankan sistem sesuai dengan langkah-langkah yang dijelaskan dalam use case. Penguji akan mencatat setiap perilaku sistem dan membandingkannya dengan hasil yang diharapkan.
Cara Kerja Black Box Testing
Di bawah ini akan dijelaskan secara detail cara kerja atau Metode Black Box testing itu sendiri!
1. Pahami kebutuhan serta spesifikasi
Melakukan pengujian perangkat lunak atau aplikasi secara menyeluruh membutuhkan persiapan matang. Pastikan Anda memahami dengan baik tujuan, fungsi, kebutuhan pengguna, spesifikasi teknis, dan kriteria keberhasilan pengujian.
Selain itu, penting untuk mempertimbangkan aspek pendukung seperti kinerja, fungsionalitas, keamanan, dan kegunaan agar dapat merancang strategi pengujian yang efektif dan menyeluruh.
2. Penentuan Input
Sebelum memulai Black Box Testing, tentukan input yang ingin diuji untuk memastikan semua input yang relevan dapat diuji sesuai tujuan. Pilihlah input yang relevan dengan fungsionalitas dan perilaku yang ingin diuji.
Gunakan berbagai jenis input, buat skenario pengujian dengan kombinasi input, dan tentukan hasil yang diharapkan untuk setiap skenario. Dengan input yang tepat, pengujian Black Box Testing akan lebih efektif dan menemukan lebih banyak bug.
3. Penentuan Output
Setelah menentukan input, penting juga untuk menentukan output yang Anda inginkan setelah pengujian Black Box Testing dilakukan. Langkah ini membantu Anda memastikan bahwa pengujian menghasilkan output yang sesuai dengan harapan.
4. Proses penyeleksian Input
Setelah menentukan input untuk pengujian Black Box Testing, langkah selanjutnya adalah menerapkan skenario pengujian atau test case untuk menguji input tersebut. Skenario pengujian ini harus dirancang untuk mencakup berbagai kemungkinan input, termasuk nilai yang valid dan tidak valid, batas minimum dan maksimum, dan karakter spesial.
5. Tahap pengujian
Setelah merancang skenario pengujian, langkah selanjutnya adalah melaksanakan pengujian Black Box Testing itu sendiri. Pada tahap ini, test case yang telah ditentukan sebelumnya akan dijalankan dengan menggunakan input-input yang telah dipilih.
Tujuannya adalah untuk mengamati perilaku perangkat lunak atau aplikasi dan menentukan apakah perangkat lunak atau aplikasi tersebut sedang berjalan dengan baik atau tidak.
6. Review dan evaluasi hasil
Tahap terakhir dalam pengujian Black Box Testing adalah meninjau dan mengevaluasi hasil pengujian. Tujuan utama dari peninjauan dan evaluasi ini adalah untuk menentukan apakah pengujian telah berhasil mencapai tujuannya. Hasil pengujian ini biasanya berupa laporan hasil pengujian yang merincikan bug dan informasi lain yang relevan.
![](https://digitalsolusigrup.co.id/wp-content/uploads/2023/12/Konsultasi-Jasa-Pentest-1024x256.webp)
Kelebihan Black Box Testing
Salah satu kelebihan utama Black Box Testing adalah siapapun dapat melakukan black box testing, bahkan tanpa latar belakang pemrograman karena tidak memerlukan pengetahuan teknis tentang bahasa pemrograman.
Hal ini menjadikannya metode yang mudah diakses dan fleksibel. Berikut beberapa keuntungan Black Box Testing:
- Black box testing mensimulasikan perilaku pengguna, membantu menemukan inkonsistensi dan kesalahan yang mungkin tidak terdeteksi oleh pengujian internal.
- Pengujian dapat dilakukan segera setelah pengembangan perangkat lunak, memungkinkan deteksi dini bug dan penghematan waktu.
- Developer dan tester dapat bekerja secara independen tanpa mengganggu satu sama lain.
- Tester tidak perlu memahami kode, sehingga memungkinkan penggunaan tim yang lebih beragam.
- Black box testing relatif murah dibandingkan metode pengujian lain.
Kekurangan Black Box Testing
Meskipun Black Box Testing menawarkan banyak manfaat, penting untuk memahami kekurangannya agar dapat digunakan secara efektif:
- Jika penguji tidak memiliki latar belakang pemrograman, mereka mungkin melewatkan kondisi atau masalah yang seharusnya diuji.
- Black box testing tidak dapat mencapai complete test coverage, yaitu pengujian yang melibatkan semua kode yang digunakan. Kemungkinan input yang tidak terduga dan output yang tidak terdokumentasikan mungkin tidak teruji.
- Black box testing berfokus pada pengujian fungsionalitas dari sudut pandang pengguna, sehingga tidak selalu menguji back-end secara menyeluruh.
Contoh Pengujian Black Box
Mari kita lihat contoh Black Box Testing untuk proses login pada platform e-commerce. Anda mencoba masuk ke akun dengan memasukkan alamat email dan kata sandi terdaftar. Idealnya, jika login berhasil, Anda akan diarahkan ke halaman beranda.
Namun, jika Anda memasukkan kata sandi yang salah, sistem akan menampilkan pesan error. Anda dapat menjumpai opsi untuk mereset kata sandi atau mencoba login kembali. Setelah mencoba kata sandi berbeda yang benar, Anda seharusnya bisa masuk ke akun.
Skenario ini dapat divariasikan dengan mencoba email berbeda (valid dan tidak valid) serta kata sandi (benar, salah, lupa password). Anda juga bisa mengecek apakah bidang wajib dapat dikosongkan dan bagaimana sistem menangani karakter spesial pada email dan kata sandi.
Kesimpulan
Kita telah membahas Black Box Testing secara menyeluruh mulai dari pengertian hingga kekurangan. Dengan memahami kelebihan dan keterbatasan Black Box Testing, Anda dapat menggunakannya secara lebih efektif untuk meningkatkan kualitas perangkat lunak dan memastikan pengalaman pengguna yang optimal.
Butuh jasa penetration testing untuk meningkatkan keamanan perangkat lunak Anda? Kami memiliki tim pentester yang mampu melakukan pentest secara manual sebanyak 80% untuk hasil yang lebih akurat. Konsultasi dengan Tim Penetration Testing kami Sekarang!