Pengertian black box testing merujuk pada suatu metode yang digunakan untuk menguji fungsionalitas perangkat lunak tanpa melibatkan kode pemrograman atau menganalisa detail dan struktur internal dari software tersebut.
Dengan kata lain, pengujian dengan black box testing ini cukup dengan mengamati input dan output dari aplikasi atau software yang diuji.
Tujuan pengujian pada pengembangan perangkat lunak ini untuk meninjau apakah software yang sedang dikerjakan dapat beroperasi dengan baik atau masih perlu dievaluasi kembali.
Apa Itu Black Box Testing?
Black box testing adalah metode pengujian pada fungsionalitas software dari sudut pandang pengguna guna memastikan keoptimalan dengan meninjau input dan output perangkat lunak atau aplikasi yang sedang dikembangkan.
Pada tahap ini, penguji tidak perlu menganalisa struktur internal software secara detail karena black box testing ditujukan untuk menemukan masalah dan memastikan perangkat sudah siap dan layak digunakan atau belum.
Karena dilakukan dari sudut pandang pengguna, pengujiannya hanya terfokus pada spesifikasi dan kebutuhan user agar setelah digunakan tidak ditemukan masalah dari software atau aplikasi tersebut.
Apa Saja Jenis-Jenis Black Box Testing?
Setelah memahami apa itu black box testing, mari kita beralih pada jenis-jenis metode pengujian software yang dapat dilakukan, yakni:
1. Functional Testing
Functional testing akan meninjau setiap fungsi dan fitur, yang merupakan elemen penting dalam sebuah perangkat lunak.
Tujuannya untuk memastikan fungsi dari setiap aspek dalam aplikasi berjalan dengan optimal, seperti pada pengguna yang melakukan login dengan menggunakan password, email, dan username.
Singkatnya, tes ini ditujukan untuk memastikan pengguna hanya dapat masuk ke dalam aplikasi dengan beberapa informasi yang diperlukan. Hal ini berguna dalam menjaga keamanan program.
2. Non-Functional Testing
Pengujian ini diterapkan guna meninjau aspek diluar fungsional, seperti fitur tambahan atau fungsi pelengkap dari sebuah perangkat lunak.
Tes ini berfungsi untuk memastikan kinerja aplikasi saat melakukan run task sehingga penguji dapat mengetahui apakah perangkat lunak dapat dioperasikan dengan baik di sistem yang berbeda-beda.
Jika functional test digunakan untuk mengukur sejauh mana kemampuan perangkat lunak dalam menjalankan tugasnya, non-functional test diterapkan untuk mencari cara bagaimana tugas tersebut dapat dilakukan.
3. Regression Testing
Tes ini bertujuan untuk memastikan apakah perangkat lunak yang telah di-upgrade mengalami adanya regresi atau tidak.
Regression testing memanfaatkan dua jenis black box testing, tes fungsional dan non-fungsional.
Seperti pada aspek fungsionalnya, tes ini menguji kinerja suatu fitur di versi terbarunya. Sedangkan dari segi non-fungsional, tes ini meninjau performa dari fitur pada versi aplikasi terbarunya.
Bagaimana Melakukan Black Box Testing?
Berikut adalah langkah-langkah yang perlu diperhatikan sebelum melakukan black box testing:
1. Memahami kebutuhan dan spesifikasi
Langkah pertama, perlu untuk memahami apa-apa yang dibutuhkan dan spesifikasi yang sesuai dengan software atau aplikasi yang akan diuji.
Selain itu, perlu juga untuk memperhatikan aspek-aspek tambahan seperti kinerja dan fungsi dari software yang hendak diuji.
2. Menentukan Input dan Output
Dalam melakukan black box testing, Anda perlu menentukann input dan output apa saja yang dikehendaki dari pengujian ini.
Anda dapat menguraikan dengan jelas apa saja input yang ingin diujikan dengan black box testing sehingga proses dapat berjalan sesuai dengan yang diinginkan.
Begitu juga dengan output yang ingin dicapai setelah black box testing berlangsung. Dengan menentukan output sejak awal, maka Anda dapat melalui proses pengujian sesuai dengan yang diharapkan.
3. Proses Penyeleksian Input
Pada tahap ini, Anda akan dihadapkan pada skenario buatan untuk menguji beberapa input yang sudah dipilih sebelumnya dimana Anda akan mencoba beberapa input yang diinginkan untuk diuji dengan black box testing.
Seperti ketika Anda melakukan kesalahan input yang dimaksudkan agar mengetahui output apa yang dihasilkan dari peristiwa tersebut.
4. Tahap Pengujian
Ini merupakan langkah utama dari black box testing dimana kasus uji yang ditetapkan akan dites berdasarkan input-input yang telah ditentukan sebelumnya.
Kemudian hal tersebut digunakan sebagai alat uji untuk memastikan software dapat beroperasi dengan optimal atau tidak.
5. Review dan Evaluasi Hasil
Pada tahap ini, didapatkan hasil pengujian yang berupa laporan dan catatan pengujian. Dimana dari hasil pengujian black box testing tersebut, akan dilakukan pemeriksaan kembali dan evaluasi guna menemukan kemungkinan adanya ketidaksesuaian dengan software yang diuji atau tidak.
Teknik Black Box Testing
Sebelum beralih pada contoh kasusnya, mari kita kenali lebih jauh terkait beberapa teknik dalam pengujian ini. Diantaranya adalah:
1. Equivalence Partitioning
Teknik ini memungkinkan data yang terbagi dari beberapa perangkat lunak untuk diuji dalam dua bagian yang berbeda.
Dalam hal ini, dikatakan berhasil bila data dalam bagian yang terpisah tersebut dapat memberikan tindakan yang sama.
2. Boundary Value
Teknik ini berkaitan dengan batasan dari nilai, yang mana digunakan untuk melakukan uji error pada nilai batas atas dan bawah suatu variabel.
Misalnya pada variabel usia maksimal adalah 35 tahun dan usia minimal adalah 20 tahun. Pembatasan seperti itu seringkali terjadi kesalahan pada beberapa aplikasi.
3. All Pair Testing
Teknik ini menguji seluruh kemungkinan kombinasi data bernilai pasti dan terbatas. Data diskrit ini umumnya berupa bilangan bulat atau ganjil. Seperti, 4 buku, 3 pena, 2 biskuit, dan lainnya.
Metode ini diterapkan untuk uji aplikasi atau perangkat lunak dengan input centang, input tombol, daftar kotak, atau yang lainnya dalam penggunaannya.
4. Decision Table
Merupakan teknik dengan pendekatan sistematis dimana kombinasi input akan dihimpun dalam tabel. Teknik ini umum digunakan untuk menguji fungsi yang memiliki hubungan logis lebih dari satu input.
Seperti ketika ingin login ke akun Instagram, maka diminta untuk memasukkan email, username, atau nomor telepon dan juga password ke dalam tabelnya. Jika email atau informasi lain yang Anda berikan benar, maka akan diarahkan ke beranda aplikasi.
Namun, jika terdapat kesalahan informasi, maka Anda tidak dapat masuk ke akun tersebut dan tetap berada di halaman login.
Hubungan logis antara keduanya yang membuat user diarahkan ke beranda jika keduanya benar, dan akan berlaku sebaliknya jika salah.
5. State Transition
Teknik ini digunakan untuk mencari tahu fungsi dan kerja perangkat lunak ketika mendapat input yang berbeda.
Dalam hal ini, output yang diperoleh pada sistem bisa saja berubah tergantung kondisi yang mendasarinya.
Seperti ketika mengakses aplikasi M-Banking, pengguna yang salah memasukkan PIN berkali-kali akan menghasilkan output berupa pemblokiran PIN secara otomatis.
6. Cause-Effect
Teknik ini mengilustrasikan hubungan sebab akibat dari error yang terjadi dalam bentuk grafik.
7. Error Guessing
Teknik yang identifikasi kesalahan software yang didasarkan pada pengetahuan dan pengalaman penguji tes.
8. Use Case
Teknik untuk menguji setiap fungsi perangkat lunak dengan cara menjalankan keseluruhan sistem, dari tahap awal hingga paling akhir.
Contoh Black Box Testing
Seperti yang dijelaskan secara singkat dari pengujian decision table, ketika Anda ingin login ke akun Instagram, Anda perlu memasukkan email dan password yang telah diatur sebelumnya.
Jika email dan password yang diberikan benar, maka Anda langsung diarahkan menuju beranda Instagram.
Namun, jika Anda menjumpai notifikasi bahwa password yang dimasukkan salah, maka halaman tersebut akan memberi pilihan untuk mengatur ulang password atau login langsung dengan email.
Ketika mencoba kembali dengan password yang berbeda dan berhasil, Anda akan langsung diarahkan ke halaman akun.
Hal ini jelas bahwa hubungan kedua input tersebut saling berkaitan. Jika salah satunya tidak menerima data yang benar, maka kondisi yang dihasilkan juga tidak akan sesuai dengan output yang diharapkan.
Kesimpulan
Black box testing menjadi aspek penting dalam pengembangan perangkat lunak, mulai dari mengenali jenis-jenisnya, tekniknya, dan langkah melakukan pengujiannya.
Dimana hal ini berguna untuk memastikan aplikasi atau perangkat lunak yang telah dikembangkan dapat bekerja dengan baik dan layak digunakan oleh pengguna.
Sitespirit sebagai perusahaan yang bergerak dalam pelayanan jasa SEO, pembuatan website, pemeliharaan, dan pengembangannya tentu melakukan black box testing sebelum akhirnya diberikan pada klien untuk dapat digunakan.
Hubungi kontak kami jika Anda tertarik dengan layanan kami!