Black box testing adalah metode pengujian software yang memeriksa fungsi berdasarkan input dan output, tanpa meninjau detail implementasi atau struktur kode. Pengujian ini mengacu pada persyaratan dan spesifikasi software. Penguji memberikan input, lalu membandingkan hasil yang muncul dengan output yang seharusnya.
Apa itu Black Box Testing?
Black Box Testing merupakan metode untuk menguji perangkat lunak atau aplikasi dari sisi fungsinya. Tujuannya adalah memeriksa apakah suatu fitur bekerja sesuai kebutuhan dan spesifikasi yang telah ditetapkan.

Metode ini memperlakukan perangkat lunak seperti kotak hitam. Penguji tidak perlu mengetahui cara kerja kode di balik aplikasi. Pemeriksaan berfokus pada input yang diberikan dan output yang diterima, misalnya apakah formulir menampilkan pesan yang sesuai setelah pengguna mengirim data.
Black box testing membantu memastikan aplikasi sesuai dengan spesifikasi dan kebutuhan pengguna. Dalam alur kerja tim, hasil uji dapat dicatat sebagai bukti bahwa suatu fitur telah diperiksa. Jika hasil aktual berbeda dari hasil yang diharapkan, temuan tersebut bisa diteruskan kepada developer untuk ditindaklanjuti.
Tipe-Tipe Blackbox Testing
Setelah memahami pengertiannya, kenali juga tipe black box testing. Pemilihan tipe bergantung pada sasaran pengujian dan tahap pengembangan aplikasi.

– Tes Functional
Functional testing memeriksa fungsi tertentu pada aplikasi. Contohnya adalah menguji login menggunakan username dan password. Penguji memeriksa apakah sistem menerima kredensial yang valid dan menolak kredensial yang salah sesuai spesifikasi.
Pengujian ini dapat mencakup satu fitur atau alur yang menghubungkan beberapa komponen. Pada proses rilis, hasilnya membantu tim memastikan fungsi yang berubah tetap menghasilkan respons yang ditentukan.
– Tes non-functional
Non-functional testing menilai karakteristik sistem selain fungsi utama. Penguji dapat memeriksa waktu respons aplikasi atau perilakunya pada perangkat dan resolusi layar yang berbeda. Hasil uji menunjukkan apakah aplikasi memenuhi persyaratan nonfungsional yang telah ditentukan.
– Tes regression
Regression testing dilakukan setelah perubahan atau pembaruan software untuk memeriksa apakah fungsi yang sebelumnya berjalan tetap bekerja. Pengujian dapat mencakup fitur yang diperbaiki, juga bagian lain yang berpotensi terdampak perubahan.
Contohnya, setelah alur login diperbarui, penguji memeriksa kembali respons untuk password yang valid maupun yang salah. Pemeriksaan ulang ini membantu menemukan dampak perubahan sebelum versi baru digunakan.
Teknik-Teknik Utama Blackbox Testing
Teknik black box testing membantu menyusun kasus uji secara terarah. Pilih teknik sesuai aturan fitur yang diuji, lalu tetapkan hasil yang diharapkan sebelum menjalankan skenario.

– All-pair Testing
All-pair testing memilih kombinasi nilai input agar pasangan nilai yang mungkin dapat diperiksa tanpa harus menguji setiap kombinasi secara menyeluruh. Teknik ini berguna ketika formulir memiliki beberapa pilihan, seperti tombol radio atau kotak daftar, yang dapat menghasilkan banyak variasi input.
– Decision Table
Decision table merangkum kombinasi kondisi input dan respons sistem dalam sebuah tabel. Teknik ini cocok untuk fitur yang hasilnya bergantung pada lebih dari satu kondisi.
Contohnya, pada login, sistem memeriksa email dan password. Jika keduanya benar, pengguna diarahkan ke beranda. Jika salah satu tidak cocok, sistem menampilkan pesan gagal sesuai spesifikasi.
– Equivalence Partitioning
Equivalence partitioning membagi data input ke dalam kelompok yang diperkirakan memiliki perilaku serupa. Misalnya, untuk kolom umur dengan aturan tertentu, penguji dapat memilih perwakilan dari kelompok nilai yang diterima dan kelompok nilai yang ditolak. Tidak semua nilai dalam kelompok perlu diuji satu per satu.
– Boundary Value
Boundary value analysis memeriksa nilai di sekitar batas minimum dan maksimum yang ditetapkan. Jika sebuah nilai ulangan harus berada pada rentang 70 sampai 100, penguji dapat memeriksa nilai 69, 70, 100, dan 101. Kasus di sekitar batas sering membantu menemukan kesalahan validasi.
– State Transition
State transition menguji perubahan keadaan aplikasi setelah menerima input atau kejadian tertentu. Teknik ini sesuai untuk fitur yang memiliki beberapa status. Sebagai contoh, sistem dapat mengunci akses sementara setelah pengguna memasukkan PIN yang salah sesuai jumlah percobaan yang ditentukan dalam spesifikasi.
– Cause-Effect
Cause-effect memetakan hubungan antara kondisi input sebagai penyebab dan hasil sistem sebagai efek. Peta ini membantu penguji melihat aturan yang saling berkaitan sebelum menyusun kasus uji.
– Error Guessing
Error guessing menggunakan pengalaman penguji untuk memperkirakan bagian yang rentan gagal. Penguji dapat mencoba input kosong pada formulir atau memasukkan karakter yang tidak sesuai dengan petunjuk kolom, lalu membandingkan respons aplikasi dengan spesifikasi.
– Use Case
Teknik pengujian black box testing lainnya adalah Use Case. Penguji menjalankan alur untuk mencapai tujuan pengguna, mulai dari langkah awal sampai sistem memberikan hasil akhir.

Cara Kerja Black Box Testing
Pengujian black box dimulai dari pemahaman kebutuhan, lalu dilanjutkan dengan penyusunan dan pelaksanaan kasus uji. Agar hasilnya dapat ditindaklanjuti, catat input yang digunakan dan output aktual yang muncul.
Pahami kebutuhan serta spesifikasi
Sebelum menguji, pahami persyaratan fitur dan perilaku yang diharapkan. Jika spesifikasi menyebutkan formulir wajib diisi, misalnya, pastikan aturan tersebut menjadi dasar kasus uji.
Penentuan Input
Tentukan input yang mewakili kondisi yang akan diperiksa. Sertakan input valid dan kondisi yang seharusnya ditolak agar batas perilaku sistem terlihat.
Penentuan Output
Tetapkan output yang diharapkan untuk setiap input. Output dapat berupa halaman tujuan, pesan validasi, atau perubahan status. Acuan ini membantu penguji membedakan hasil yang sesuai dari temuan yang perlu diperiksa.
Proses penyeleksian Input
Susun input menjadi test case yang bisa dijalankan ulang. Catat kondisi awal dan langkah yang dilakukan, lalu pastikan setiap test case menguji aturan tertentu. Contohnya, satu kasus menguji password yang salah, sementara kasus lain menguji kolom yang dibiarkan kosong.
Tahap pengujian
Jalankan test case pada aplikasi. Catat output aktual untuk dibandingkan dengan output yang sudah ditentukan. Jika keduanya berbeda, simpan langkah reproduksi dan informasi yang diperlukan agar tim dapat meninjau masalah tersebut.
Review dan evaluasi hasil
Tinjau hasil pengujian dan susun laporan berisi status setiap kasus serta detail temuan. Catatan yang jelas memudahkan developer mengulang kondisi yang gagal dan membantu tim menentukan apakah fitur siap dilanjutkan ke tahap berikutnya.
Kelebihan Blackbox Testing
Black box testing menilai aplikasi dari sudut pandang pengguna dan tidak mengharuskan penguji membaca kode program. Dalam alur kerja tim, penguji dapat menjalankan skenario berdasarkan spesifikasi, lalu menyerahkan temuan yang dapat direproduksi kepada developer.
Beberapa kelebihan black box testing antara lain:
- Pengujian dapat dilakukan tanpa pengetahuan bahasa pemrograman.
- Fokus pada perilaku aplikasi yang terlihat oleh pengguna.
- Developer dapat menerima temuan dari penguji tanpa menghentikan pekerjaan utama untuk meninjau kode bersama-sama.
- Kasus uji dapat membantu menemukan ketidaksesuaian antara spesifikasi dan respons aplikasi.
Kekurangan Blackbox Testing
Black box testing juga memiliki batasan. Karena penguji tidak memeriksa struktur internal, pengujian ini tidak menunjukkan bagian kode yang menyebabkan masalah. Temuan yang tidak dilengkapi langkah reproduksi juga dapat membutuhkan pemeriksaan ulang oleh programmer.
- Kesalahan pada struktur internal program dapat luput dari pengujian.
- Hasil pengujian bergantung pada kelengkapan spesifikasi dan kasus uji.
- Penguji dapat melewatkan skenario jika kondisi yang diuji terlalu terbatas.
Contoh Pengujian Blackbox
Berikut contoh black box testing pada fitur login aplikasi toko online. Contoh ini mengasumsikan spesifikasi meminta email terdaftar dan password yang benar agar pengguna dapat masuk. Penguji tidak perlu memeriksa kode login, cukup memasukkan variasi data dan membandingkan respons sistem dengan hasil yang diharapkan.
| Kasus uji | Input atau kondisi | Output yang diharapkan |
|---|---|---|
| Login berhasil | Email terdaftar dan password benar | Pengguna diarahkan ke halaman akun |
| Password salah | Email terdaftar dan password tidak cocok | Sistem menolak login dan menampilkan pesan yang sesuai |
| Email belum terdaftar | Email yang tidak terdaftar dan password apa pun | Sistem menolak login sesuai aturan validasi |
| Kolom wajib kosong | Email atau password tidak diisi | Sistem meminta pengguna melengkapi kolom yang wajib |
Setelah setiap kasus dijalankan, catat hasil aktual. Jika sistem justru mengarahkan pengguna ke halaman akun saat password salah, misalnya, hasil tersebut tidak sesuai dengan spesifikasi dan perlu dilaporkan. Tabel seperti ini juga memudahkan penguji mengulang tes setelah perbaikan dilakukan.
Pola pengujian yang sama dapat diterapkan pada fitur lain. Pada checkout, penguji bisa memasukkan alamat yang memenuhi persyaratan lalu memeriksa ringkasan pesanan. Kondisi yang tidak memenuhi aturan juga perlu diuji agar respons aplikasi dapat dibandingkan dengan spesifikasi.

Bedanya Dengan Whitebox Testing
Black box testing memeriksa fungsionalitas aplikasi melalui input dan output. Sebaliknya, white box testing memeriksa struktur internal, termasuk kode program. Perbedaan ini membuat sasaran keduanya tidak sama.
Black box testing berfokus pada perilaku yang terlihat dari sisi pengguna. White box testing digunakan untuk menilai logika dan struktur internal program. Dalam proses pengembangan, kedua metode dapat melengkapi pemeriksaan dari sudut yang berbeda.
Singkatnya, black box testing menguji apakah fitur bekerja sesuai ketentuan, sedangkan white box testing meninjau cara sistem dibangun. Jika kamu ingin meningkatkan skill di bidang teknologi atau digital, kamu bisa mempertimbangkan kursus profesional dari Coding Studio.
