HOTLINE

(0275) 2974 127

CHAT WA 24/7
0859-60000-390 (Sales)
0852-8969-9009 (Support)
Blog

Mengenal Black Box Testing, Uji Software Yang Penting Bagi Developer

Berlawanan dengan namanya, pengujian black box bukanlah pengujian black box pesawat terbang melainkan sebuah metode pengujian perangkat lunak. Cara pengujian ini dikenal cukup menarik.

Pengertian Black box testing

Black box testing alias behavioral testing adalah metode pengujian fungsionalitas atau kegunaan perangkat lunak. Black box testing adalah pengujian yang dilakukan secara keseluruhan dengan menilai kebutuhan dan spesifikasi perangkat lunak. Black box testing hanya akan mencakup input dan output dari sistem perangkat lunak tanpa mengetahui program internal. Black box testing dilakukan sedemikian rupa sehingga dapat menggambarkan sudut pandang penguji, tampak seperti black box sederhana.

Sedangkan untuk black box sendiri bisa berupa sistem atau software apa saja yang ingin Anda uji nanti, seperti Linux, sistem operasi Windows atau website seperti Google, Facebook atau bahkan data dasar seperti Oracle atau bahkan aplikasi yang Anda buat sendiri. Metode pengujian black box ini digunakan oleh sebagian besar aplikasi yang dapat Anda temukan saat ini. Pengujian ini juga penting agar Anda dapat menemukan masalah atau bug apa pun di aplikasi sebelum rilis resmi.

Ciri-Ciri Black Box Testing

  1. Black box testing berfokus pada persyaratan fungsional perangkat lunak, berdasarkan persyaratan spesifikasi software.
  2. Black box testing bukanlah pengganti white box testing. Selain itu, ini merupakan pendekatan tambahan untuk menutupi bug dengan metode white box testing jenis lain.
  3. Black box testing melakukan pengujian tanpa pengetahuan rinci tentang struktur internal sistem atau komponen yang diuji juga disebut sebagai behavioral testing, specification-based testing, input/output testing atau functional testing.

Fungsi Black Box Testing

Black box testing berfokus pada spesifikasi fungsional perangkat lunak, serangkaian kondisi masukan, dan melakukan pengujian fungsional program. Oleh karena itu dapat disimpulkan bahwa Black Box Testing memiliki 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.

Tipe Black Box Testing

1. Functional Testing

Functional testing adalah proses pengujian fitur atau fungsionalitas perangkat lunak tertentu. Tujuan sederhana dari pengujian ini adalah untuk dapat memverifikasi kemampuan pengguna aplikasi untuk masuk atau kemahiran mereka dalam menggunakan kata sandi, email, dan nama pengguna.

Pengujian ini juga dapat dilakukan untuk memastikan bahwa pengguna memang dapat login tanpa informasi tersebut guna menjaga keamanan program. Biasanya pengujian jenis ini juga lebih fokus pada pengujian berbagai aspek penting aplikasi dan integrasi antar masing-masing komponen utamanya. Functional testing juga dapat dilakukan untuk menguji keseluruhan sistem.

2. Non-functional Testing 

Non-functional testing adalah proses pengujian yang dilakukan dengan banyak tambahan aspek non-functional. Non-functional testing dilakukan untuk mengetahui bagaimana perangkat lunak dapat melakukan suatu perintah atau tugas. Selain itu, pengujian ini juga dilakukan untuk melihat apakah aplikasi yang dibuat dapat digunakan dengan benar di seluruh perangkat dan ukuran layar serta pada sistem operasi yang berbeda.

3. Regression Testing

Jenis pengujian ini akan memeriksa apakah terjadi kerusakan atau regresi tertentu saat sebuah aplikasi di upgrade. Dalam regression test akan dilakukan pengujian terhadap aspek fungsional dan non fungsional. Beberapa contoh aspek fungsional yang dapat diuji dalam hal ini adalah fitur-fitur yang sudah tidak berfungsi dengan baik pada versi terbaru. Misalnya, untuk aspek non-fungsional yang diuji, kinerjanya lambat pada versi perangkat lunak terbaru.

Jenis Desain Testing

Dalam black box testing, terdapat banyak jenis teknik desain pengujian yang dapat dipilih berdasarkan jenis pengujian yang akan digunakan. Jenis-jenis desain percobaan adalah sebagai berikut:

  1. Equivalence Class Partitioning
    Merupakan teknik pengujian perangkat lunak atau pengujian Black Box yang membagi domain masukan ke dalam kelas-kelas data dan menggunakan kasus uji kelas-kelas data tersebut dapat diturunkan.
  2. Boundary Value Analysis
    BVA adalah teknik pengujian Black Box yang digunakan untuk memeriksa kesalahan pada batas domain masukan. Namanya berasal dari Boundary yang artinya batas suatu wilayah. Jadi BVA terutama berfokus pada pemeriksaan parameter input yang valid dan tidak valid untuk sejumlah komponen perangkat lunak tertentu.
  3. State Transitions Testing
    Merupakan teknik Black Box testing dimana perubahan kondisi masukan menyebabkan perubahan keadaan atau perubahan keluaran pada aplikasi yang diuji (AUT). Pengujian ini memungkinkan Anda menganalisis perilaku aplikasi Anda untuk berbagai kondisi masukan.
  4. Cause-Effect Graphing
    Merupakan teknik Black Box testing yang secara grafis menunjukkan hubungan antara hasil tertentu dan semua faktor yang mempengaruhi hasil tersebut. Diagram ini juga dikenal sebagai diagram tulang ikan yang diciptakan oleh Kaoru Ishikawa atau diagram tulang ikan karena bentuknya yang mirip ikan.

Kelebihan Black box testing

Untuk dapat melakukan black box testing, Anda tidak memerlukan sumber daya dengan latar belakang teknis. Anda hanya memerlukan sumber daya yang dapat memahami pengguna dan melihatnya dengan jelas saat menguji perangkat lunak. Selain itu, tes ini bahkan lebih cepat dalam hal menganalisis jarak dari awal tes. Faktanya, hal ini dapat dilakukan dengan lebih efisien untuk pengujian yang sangat kompleks. Karena pengujian ini bisa Anda lakukan setelah tahap pengembangan selesai.

Kekurangan Black Box Testing

Karena sumber daya pengujian tidak memiliki pengetahuan teknis, maka tidak mungkin mengabaikan atau meremehkan berbagai aspek potensi kerusakan. Selain itu, jika Anda harus bekerja dalam waktu singkat dan memenuhi tenggat waktu, kemungkinan besar tes yang salah akan terjadi karena banyak tes input dan output yang terlewat.

Langkah Black Box Testing

  1. Analisa kebutuhan dan spesifikasi
    Hal ini dilakukan untuk memastikan persyaratan apa saja yang terpenuhi saat melakukan pengujian, misalnya fungsi A harus mampu mengeksekusi instruksi B dan menghasilkan output C.
  2. Pemilihan input
    Pemilihan input dilakukan untuk memastikan bahwa semua input yang tersedia telah diuji, sehingga pengujian black box dapat menguji semua kemungkinan skenario input pada perangkat lunak. Misalnya, kita memilih untuk memasukkan login sebagai nama pengguna dan kata sandi.
  3. Pemilihan output
    Tester akan menentukan hasil seperti apa yang diharapkan dari perangkat lunak. Misalnya, apakah perlu memastikan hasil cetakan memungkinkan laporan yang benar dicetak dari perangkat lunak? dan sebagainya.
  4. Seleksi input
    Pada titik ini penguji akan menentukan kasus uji atau skenario dari data yang dipilih. Skenario seperti apa yang akan dilakukan pada input? Misalnya, apakah kita mencoba memasukkan nama pengguna yang salah dan melihat apa yang terjadi? dan sebagainya.
  5. Pengujian
    Kasus uji yang berbeda telah diidentifikasi melalui analisis kebutuhan, spesifikasi, pemilihan input, ouput, serta test case seleksi input yang telah dilakukan dilaksanakan pada tahap ini.
  6. Review hasil
    Pengujian yang dilakukan dievaluasi pelaksanaannya, sehingga menghasilkan berbagai catatan dan dokumen mengenai kesalahan, kelalaian, kesalahan, dan berbagai fungsi yang berjalan sebagaimana mestinya.

Black box testing merupakan proses pengujian yang dilakukan agar input dan output aplikasi dapat diamati tanpa harus mengetahui berbagai struktur kode kompleks yang ada pada aplikasi. Tes ini memiliki beberapa teknik jelas yang dapat Anda gunakan. Selain itu, black box testing memiliki kelebihan tersendiri karena penguji tidak perlu memahami bahasa pemrograman untuk membangun aplikasi dan tidak perlu menguji semua kode yang dihasilkan oleh pemrogram.

Namun tes ini masih mempunyai kelemahan. Karena penguji tidak perlu mengetahui cara menguji kode, ada kemungkinan bug tidak terdeteksi di bagian kode tertentu. Selain pro dan kontra dari pengujian di atas, sangat penting untuk menguji aplikasi sebelum benar-benar merilisnya kepada pengguna sehingga tidak ada masalah yang dapat membuat mereka frustrasi dan merugikan pengguna. Namun kerugian tidak hanya terjadi pada perusahaan yang tidak mengelola operasionalnya dengan baik, namun juga pada perusahaan yang tidak mengelola keuangannya dengan baik dan tidak menyajikan laporan keuangannya dengan benar.

5/5 - (1 vote)
Anisa Sifa

Recent Posts

Ingin Membuat Website E-Commerce Yang Menarik? Perhatikan Tips Ini

Design website toko online tidak hanya soal estetika, tapi juga UX yang bagus secara keseluruhan.…

21 hours ago

Apa Saja Jenis Proyek yang Bisa Dikerjakan UX Designer? Yuk Simak Di Sini

Sebelum memulai karir Anda sebagai desainer UX, Anda harus membuat portofolio yang mencakup semua pengalaman…

2 days ago

Aktifkan Keep-Alive Untuk Meningkatkan Performa Website Anda

Keep-Alive memungkinkan browser pengunjung Anda mendownload semua konten (JavaScript, CSS, gambar, video, dll) melalui koneksi…

3 days ago

Baca Ini Untuk Pelajari Apa Saja Job Description Web Developer

Job description seorang web developer adalah membuat situs web menggunakan berbagai bahasa pemrograman. Tanggung jawab…

4 days ago

Rekomendasi Tools A/B Testing untuk Meningkatkan Conversion Rate

Secara default, WordPress tidak mendukung A/B testing. Tapi jangan khawatir. Di bawah ini, kami telah…

5 days ago

Ingin Menjadi UX Designer? Coba Pelajari Apa Saja Tugasnya!

UX design merupakan singkatan dari User Experience design atau desain pengalaman pengguna. Istilah ini sering…

7 days ago