Black Box testing atau pengujian kotak hitam merupakan salah satu metode pengujian terhadap perangkat lunak. Metode pengujian sendiri adalah cara atau teknik untuk menguji perangkat lunak, mempunyai mekanisme untuk menentukan data uji yang dapat menguji perangkat lunak secara lengkap dan mempunyai kemungkinan tinggi untuk menemukan kesalahan.

Pengujian perangkat lunak perlu dilakukan untuk mengevaluasi baik secara manual maupun otomatis untuk menguji apakah perangkat lunak sudah memenuhi persyaratan atau belum, dan untuk menentukan perbedaan antara hasil yang diharapkan dengan hasil sebenarnya.  Secara umum, perangkat lunak dapat diuji menggunakan dua cara, yakni:

  1. Pengujian dengan menggunakan data uji untuk menguji semua elemen program (data internal, loop, keputusan dan jalur). Data uji dibangkitkan dengan mengetahui struktur internal (kode sumber) dari perangkat lunak.
  2. Pengujian dilakukan dengan mengeksekusi data uji dan mengecek apakah fungsional perangkat lunak bekerja dengan baik. Data uji dibangkitkan dari spesifikasi perangkat lunak.

Terdapat berbagai jenis metode pengujian perangkat lunak yang memiliki cakupannya masing-masing. Beberapa jenis metode pengujian tersebut meliputi White Box testing, Grey Box testing, dan Black Box testing yang akan dibahas pada artikel ini.

Pengertian Black Box Testing

Black Box testing adalah pengujian perangkat lunak dari segi spesifikasi fungsional tanpa menguji kode atau sisi internal programnya. Artinya, hanya sisi fungsi, antarmuka, dan alurnya saja yang diuji tanpa menyentuh kode atau script dari perangkat lunak. Hal ini tentunya berlainan dengan White Box testing yang menguji perangkat lunak dari sisi internalnya, termasuk dari kode-kode perintahnya. Sehingga Black Box bukanlah alternatif dari White Box, namun justru pelengkap untuk mengungkap kesalahan yang mungkin tidak dapat diketahui melalui White Box Testing.

Menurut Pressman (2010, hlm. 597) Black Box Testing juga disebut pengujian perilaku, berfokus pada persyaratan fungsional perangkat lunak. Artinya, teknik pengujian kotak hitam memungkinkan kita untuk membuat beberapa kumpulan kondisi masukan yang sepenuhnya akan melakukan semua kebutuhan fungsional untuk program.

Black box testing berfokus pada pengujian dari masing-masing spesifikasi fungsional perangkat lunak. Seorang tester dapat mendefinisikan kumpulan kondisi input dan melakukan pengetesan pada fungsional perangkat lunak (Mustaqbal dkk, 2015). Dengan demikian, setiap input pada perangkat lunak dapat diperhatikan kinerjanya berdasarkan fungsi yang ingin dicapai.

Metode Black Box Testing merupakan pengujian yang dilakukan untuk eksekusi melalui data uji dan memeriksa fungsional dari perangkat lunak. Pengamatan hasil ini melalui data uji dan fungsional yang didapat dari perangkat lunak itu sendiri. Sehingga pada pengujian black box testing ini, kita hanyat mengevaluasi pada antarmuka atau tampilan luarnya saja (interface). Cukup menguji proses input dan output-nya saja.

Ciri-Ciri Black Box Testing

Lalu apa perbedaan dari Black Box testing dengan White Box atau Grey Box testing? Tentunya Black Box testing memiliki ciri unik yang dapat membedakannya dari jenis pengujian lain. Syafitri (2015) mengemukakan bahwa ciri-ciri dari black box testing adalah sebagai berikut.

  1. Black box testing berfokus pada kebutuhan fungsional pada software, berdasarkan pada spesifikasi kebutuhan dari software.
  2. Black box testing bukan teknik alternatif daripada white box testing. Lebih dari pada itu, ia merupakan pendekatan pelengkap dalam mencakup error dengan kelas yang berbeda dari metode white box testing.
  3. Black box testing melakukan pengujian tanpa pengetahuan detil struktur internal dari sistem atau komponen yang dites. juga disebut sebagai behavioral testing, specification-based testing, input/output testing atau functional testing.

Jenis Desain Pengujian

Pada black box testing, terdapat jenis teknik design test yang dapat dipilih berdasarkan pada tipe testing yang akan digunakan. Jenis-jenis desain pengujian tersebut di antaranya adalah sebagai berikut.

  1. Equivalence Class Partitioning
    merupakan teknik pengujian perangkat lunak atau Black Box testing yang membagi domain input ke dalam kelas data, dan dengan bantuan kelas data ini, kasus uji dapat diturunkan.
  2. Boundary Value Analysis
    BVA adalah teknik pengujian Black Box testing yang digunakan untuk memeriksa kesalahan pada batas-batas domain input (masukan). Penamaan tersebut berasal dari Boundary yang artinya batas suatu wilayah. Jadi, BVA terutama berfokus pada pengujian parameter input yang valid dan tidak valid untuk rentang komponen perangkat lunak tertentu.
  3. State Transitions Testing
    adalah teknik pengujian Black Box testing di mana perubahan yang dibuat dalam kondisi input menyebabkan perubahan status atau perubahan output dalam Aplikasi di bawah Test (AUT). Pengujian ini membantu menganalisis perilaku aplikasi untuk kondisi input yang berbeda.
  4. Cause-Effect Graphing
    adalah teknik Black Box testing yang secara grafis menggambarkan hubungan antara hasil yang diberikan dan semua faktor yang mempengaruhi hasil tersebut. Diagram ini juga dikenal sebagai diagram Ishikawa karena ditemukan oleh Kaoru Ishikawa atau diagram tulang ikan karena tampilannya yang mirip ikan.

Fungsi Pengujian Kotak Hitam

Mustaqbal dkk (2015, hlm. 34) menyatakan bahwa black box testing befokus pada spesifikasi fungsional dari perangkat lunak, kumpulan kondisi input dan melakukan pengetesan pada fungsional program. Sehingga dapat disimpulkan Black Box Testing memiliki fungsi-fungsi sebagai berikut.

  1. Menemukan fungsi-fungsi yang salah atau hilang di dalam suatu software.
  2. Mencari kesalahan interface yang terjadi pada saat software dijalankan.
  3. Untuk mengetahui kesalahan dalam struktur data atau akses database eksternal di dalam suatu aplikasi.
  4. Menguji kinerja dari software tersebut.
  5. Menginisialisasikan dan mencari kesalahan dari terminasi software itu sendiri.

Kategori Kesalahan (Error)

Selain itu, menurut Suryawan, dkk (2019) pengajuan Black Box juga ditujukan untuk mengetahui kesalahan atau error berdasarkan kategori kesalahannya. Kategori-kategori kesalahan dari Black Box testing adalah sebagai berikut.

  1. Fungsi yang hilang atau tak benar/salah
  2. Error dari antar-muka/interface
  3. Error dari struktur data atau akses eksternal database
  4. Kesalahan/Error dari kinerja atau tingkah laku/perform
  5. Error dari inisialisasi dan terminal

Kelebihan dan Kekurangan Kotak Hitam

Tentunya metode pengujian kotak hitam ini memiliki keunggulan atau justru kekurangan tertentu yang dapat menentukan sebaiknya kapan metode ini diterapkan pada situasi dan kondisi tertetntu. Kelebihan dan kekurangan black box testing dapat diuraikan sebagai berikut.

Kelebihan

Meskipun dalam pelaksanaannya testing kita dapat menguji keseluruhan fungsional perangkat lunak namun formal black box testing yang sebenarnya kita dapat memilih subset test yang secara efektif dan efisien dapat menentukan cacat. Dengan cara ini black box testing dapat membantu memaksimalkan testing investment.

Kekurangan

Ketika tester melakukan black box testing, tester tidak akan pernah yakin apakah
perangkat lunak yang telah diuji telah benar-benar lolos pengujian. Hal ini terjadi karena kemungkinan masih ada beberapa jalur eksekusi yang belum pernah diuji oleh user. Untuk menentukan cacat perangkat lunak menggunakan black box testing, tester seharusnya membuat setiap kemungkinan kombinasi data input baik yang valid maupun yang tidak valid.

Langkah Pengujian Black Box

Ada pun langkah-langkah yang dilakukan dalma pengujian kotak hitam adalah sebagai berikut.

  1. Analisa kebutuhan dan spesifikasi
    Dilakukan untuk memastikan persyaratan-persyaratan apa yang ingin dicapai ketika pengujian dilakukan, misalnya fungsi A harus mampu melaksanakan perintah B dan menghasilkan output C.
  2. Pemilihan input
    Pemilihan input dilaksanakan untuk memastikan seluruh input yang ada menerima pengujian, sehingga black box testing dapat menguji seluruh skenario input yang dapat terjadi pada suatu perangkat lunak. Misalnya, kita memilih input log in berupa form username dan password.
  3. Pemilihan output
    Tester akan menentukan output seperti apa yang diharapkan dari perangkat lunak. Misalnya apakah output cetak harus dipastikan dapat mencetak laporan dari perangkat lunak dengan baik? dsb.
  4. Seleksi input
    Pada tahap ini, penguji akan menentukan test case atau skenario dari input yang terpilih. Skenario seperti apa yang akan dilakukan pada input? Misalnya apakah kita akan mencoba memasukan username yang salah dan melihat output yang terjadi? dsb.
  5. Pengujian
    Berbagai skenario pengujian yang telah ditentukan melalui analisis kebutuhan, spesifikasi, pemilihan input, ouput, serta test case seleksi input yang telah dilakukan dilaksanakan pada tahap ini.
  6. Review hasil
    Pengujian yang telah dilaksanakan dievaluasi pelaksanaannya, sehingga menghasilkan berbagai catatan dan dokumentasi mengenai bug, cacat, kesalahan, dan berbagai fungsi yang telah berjalan sebagaimana mestinya.

Referensi

  1. Pressman, Roger S. (2012). Rekayasa Perangkat Lunak pendekatan praktisi. Yogyakarta: Penerbit ANDI.
  2. Suryawan, D., Prasetya, A., Budiawan, R., Nip, M. T., & Nipt, M. T. (2019).
    Aplikasi Administasi Penghitungan Pelanggaran Siswa di Sekolah. EProceeding of Applied Science, 5(1), 98–107.
  3. Syafitri, A. (2015). Sistem Informasi Rumah Sakit Ibu Dan Anak Widiyanti. 7–33.
  4. Mustaqbal MS, Firdaus RF, Rahmadi H. (2015). Pengujian Aplikasi Menggunakan Black Box Testing Boundary Value Analysis (Studi Kasus Aplikasi Prediksi Kelulusan SNMPTN). Jurnal Ilmiah Teknologi Informasi Terapan. 1 (3): 31–36.

Tinggalkan Komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *