Skip to main content

Pengujian White-box vs Black-box dalam Software Engineering

Pengujian white-box

Pengujian white-box, kadang-kadang disebut pengujian glass-box, adalah filosofi desain pengujian yang menggunakan struktur kontrol yang dideskripsikan sebagai bagian dari desain di component-level untuk menurunkan pengujian. Dengan menggunakan metode pengujian white-box, kita dapat memperoleh kasus pengujian yang (1) menjamin bahwa semua jalur independen dalam modul telah dilakukan setidaknya satu kali, (2) menggunakan semua keputusan logis pada sisi yang benar dan salah, (3) menjalankan semua loop pada rentang batasannya dan dalam batasan operasionalnya, dan (4) menggunakan struktur data internal untuk memastikan validitasnya.

Pengujian black-box

Pengujian black-box, juga disebut dengan pengujian perilaku, berfokus pada persyaratan fungsional perangkat lunak. Artinya, teknik pengujian black-box memungkinkan kita untuk memperoleh serangkaian kondisi input yang sepenuhnya akan menjalankan semua persyaratan fungsional untuk suatu program.

Pengujian black-box bukanlah alternatif dari teknik white-box. Sebaliknya, ini adalah pengujian yang komplementer yang cenderung mengungkap jenis kesalahan yang berbeda dari metode white-box.

Pengujian black-box mencoba untuk menemukan kesalahan dalam kategori berikut: (1) fungsi yang salah atau yang belum ada, (2) kesalahan antarmuka, (3) kesalahan dalam struktur data atau akses database eksternal, (4) kesalahan perilaku atau kinerja, dan (5) ) kesalahan inisialisasi dan terminasi.

Tidak seperti pengujian white-box, yang dilakukan pada awal proses pengujian, pengujian blackbox cenderung diterapkan pada tahap pengujian selanjutnya. Karena pengujian black-box sengaja mengabaikan struktur kontrol, perhatian difokuskan pada domain informasi. Pengujian didesain untuk menjawab pertanyaan-pertanyaan seperti berikut:
• Bagaimana validitas fungsional diuji?
• Bagaimana perilaku dan kinerja sistem sistem diuji?
• Kategori input apa yang akan menghasilkan test case yang baik?
• Apakah sistem sangat sensitif terhadap nilai input tertentu?
• Bagaimana batas-batas kategori data diisolasi?
• Berapa kecepatan data dan volume data yang dapat ditoleransi sistem?
• Apa pengaruh kombinasi data tertentu pada operasi sistem?
Dengan menerapkan teknik black-box, kita menurunkan satu set kasus pengujian yang memenuhi kriteria berikut: (1) kasus pengujian yang mengurangi jumlah kasus pengujian tambahan yang harus didesain untuk mencapai pengujian yang wajar, dan (2) pengujian yang memberi tahu kita tentang ada atau tidak adanya kategori kesalahan, alih-alih menemukan kesalahan yang hanya terkait dengan pengujian khusus yang ada.

--o0o--

Referensi: 
Software Engineering - A Practitioner's Approach - Roger S. Pressman / Bruce R. Maxim


Artikel terkait:

Comments

Popular posts from this blog

Pengertian Binding dalam Bahasa Pemrograman dan Kapan Terjadinya

Binding dimaksudkan sebagai pengikatan (association) antara suatu entity dengan atributnya, misalnya binding/pengikatan antara suatu variable dengan tipe datanya atau dengan nilainya, atau dapat juga antara suatu operasi dengan simbol, misalnya simbol + dikenali sebagai operasi penjumlahan atau simbol ^ dikenali sebagai operasi pangkat, dll.  Peristiwa binding dan kapan terjadinya binding (biasanya disebut dengan binding time ) berperan penting dalam membicarakan semantics suatu bahasa pemrograman. Beberapa kemungkinan binding time adalah:

Latihan Soal Jawab Matematika Diskrit

Berikut di bawah ini adalah latihan soal jawab untuk matematika diskrit dengan topik-topik: Pernyataan Logika Circuits dan Ekspresi Boolean Argumen (valid/tidak valid) Teori Himpunan Permutasi Fungsi --o0o-- Pernyataan Logika 1. Buatlah tabel kebenaran untuk menentukan yang mana tautology dan yang mana contradiction dalam pernyataan logika (a) dan (b) di bawah ini: a. (p ∧ q) ∨ (∼p ∨ (p ∧ ∼q)) b.  (p ∧ ∼q) ∧ (∼p ∨ q)

Contoh proses normalisasi relasi dari UNF – 1NF – 2NF – dan 3NF

Dalam posting tulisan tentang: “Tujuan dan Manfaat Normalisasi dalam Perancangan Database” , kita sudah mempelajari tentang: “Apa itu normalisasi” dan “Mengapa kita perlu melakukan normalisasi”. Kedua pertanyaan itu sudah terjawab dalam tulisan tersebut.  Kemudian dalam posting tulisan tentang: “Konsep Ketergantungan Fungsional, Normalisasi, dan Identifikasi Primary Key dalam Perancangan Sistem Database” , kita sudah mempelajari suatu konsep penting yang digunakan untuk melakukan normalisasi, yaitu konsep ketergantungan fungsional yang terdiri dari ketergantungan penuh, ketergantungan parsial atau sebagian, dan ketergantungan transitif. Proses normalisasi pertama-tama dilakukan dengan mengidentifikasi adanya ketergantungan-ketergantungan tersebut dalam relasi-relasi dan kemudian menghilangkannya. Cara melakukan normalisasi, mengidentifikasi berbagai macam ketergantungan, dan menghilangkan ketergantungan pada relasi-relasi bisa dipelajari ulang dalam postingan tulisan d...