Teknik Pengujian Black-box Testing dan White-box Testing
Saat ini metode pengujian perangkat lunak sudah banyak
berkembang seiring semakin beragamnya platform dan tujuan perangkat lunak.
Metode-metode pengujian tersebut memberikan pendekatan yang sistematik dalam
menguji perangkat lunak. Di samping itu, metode-metode tersebut bisa memberikan
mekanisme yang bisa membantu dalam memastikan kelengkapan pengujian dan
memberikan kemungkinan tertinggi dalam menguak kesalahan pada perangkat lunak.
- Dengan
mengetahui fungsi yang ditentukan untuk dilakukan oleh suatu produk RPL,
pengujian bisa dilakukan untuk memperlihatkan bahwa masing-masing fungsi
berjalan sepenuhnya dan pada waktu yang sama mencari kesalahan pada setiap
fungsi. Pendekatan pengujian ini biasa disebut dengan sebutan pengujian
black-box atau black-box testing.
- Dengan
mengetahui kerja internal produk RPL, maka pengujian bisa dilakukan dalam
memastikan bahwa semua operasi internal bekerja sesuai dengan spesifikasi
dan segala komponen interna telah diamati dengan memadai. Pendekatan
pengujian ini biasa disebut dengan sebutan pengujian white-box atau
white-box testing.
Pengujian Black-box
Pengujian black-box adalah pengujian berkaitan dengan
pengujian yang dilakukan pada interface perangkat lunak. Walaupun dirancang
untuk menguak kesalahan, pengujian black-box digunakan untuk memperlihatkan
bahwa fungsi-fungsi yang ada pada perangkat lunak bisa beroperasi, bahwa
inputan diterima dengan baik dan output dihasilkan secara tepat, serta integritas
informasi eksternal dipelihara dengan baik. Black-box testing menguji beberapa
aspek dasar sebuah sistem dengan memperhatikan sedikit struktur logika internal
pada perangkat lunak.
Pengujian White-box
Pengujian white-box adalah pengujian yang didasari pada
pengamatan yang teliti mengenai detail prosedural. Jalur-jaur logika yang
melewati perangkat lunak diuji dengan memberikan kasus uji atau skenario
pengujian yang menguji serangkaian kondisi atau perulangan (loop) tertentu.
Status program bisa diuji pada berbagai titik untuk menentukan apakah status
yang diharapkan dengan status sebenarnya.
Dari paparan mengenai pengujian black-box dan white-box di
atas sebelumnya, sekilas dapat disimpulkan bahwa pengujian white-box yang
sangat teliti akan dapat membawa perangkat lunak kepada program yang benar
100%. Yang diperlukan adlaah menentukan semua jalur logika, mengembangkan kasus
uji untuk mengujinya dan mengevaluasi hasilnya, yakni memunculkan kasus uji
untuk menguji logika program secara lebih mendalam. Akan tetapi sesuai dengan
prinsip pengujian, pengujian secara mendalam akan menimbulkan masalah sumber
daya atau logistik. Bahkan bagi program dalam skala kecil, logika dapat
dibangkitkan dengan jumlah jalur logika yang besar.
Pengujjian white-box tidak boleh dianggap tidak praktis.
Sejumlah jalur logika yang penting dapat dipiih dan digunakan.
Struktur-struktur data yang penting dapat diperiksa kevalidalitasnya. Atribut
pengujian black-box dan white-box bisa digabungkan secara bersamaan dalam memberikan
penekatan yang memvalidasi antarmuka dan secara selektif menjamin bahwa proses
internal perangkat lunak sudah benar.
Black-box Testing
Pengujian ini berfokus pada persyaratan fungsional perangkat
lunak. Black-box memungkinkan pelaku RPL memperoleh serangkaian kondisi input
yang memenuhi syarat fungsional suatu perangkat lunak.
Black-box testing akan berusaha dalam menemukan kesalahan dengan
kategori sebagai berikut ini :
- Fungsi-fungsi
yang rusak atau salah
- Kesalahan
antarmuka perangkat lunak
- Kesalahan
kinerja
- Kesalahan
inisialisasi ataupun terminasi
- Kesalahan
struktur data atau akses basis data
Pengujian black-box lebih cenderung untuk dilakukan pada
tahap akhir dan dituntut untuk menjawab pertanyaan-pertanyaan seperti berikut :
- Apakah
sistem sangat sensitif terhadap nilai input tertentu?
- Bagaimana
validitas fungsional diuji
- Apa
pengaruh kombinasi tertentu dari data terhadap operasi sistem?
- Berapa
kecepatan dan volume data yang dapat ditangani sistem?
- Bagaimana
batasan suatu data diisolasi?
Melalui pengujian black-box ini, penguji musti merancang
serangkaian kasus uji atau skenario pengujian yang dapat memberitahu mengani
ada atau tidaknya kesalahan dan dapat mengurangi jumlah kasus uji atau skenario
uji yang harus dirancang untuk mencapai pengujian yang benar.
Teknik Pengujian Black-box
Contoh penguian black-box diantaranya adalah sebagai berikut
:
Boundary Value Analysis
Merupakan teknik pengujian yang membagi domain-domain input
dari suatu program ke dalam keompok-kelompok data, kemudian melakukan pengujian
hanya pada batas-batas domain input tersebut.
Graph Based Testing Method
Teknik pengujian black-box ini melibatkan gambar grafik yang
mengilustrasikan hubungan antara penyebab (input) dan dampak (output), yang
memicu terjadinya hasil. Pengujian ini menggunakan kombinasi output dan input
yang berbeda.
Decision Table Testing
Dalam beberapa kasus, kombinasi input menjadi sangat rumit
untuk melacak beberapa kemungkinan. Situasi rumit seperti ini bergantung pada
tabel keputusan, karena menawarkan penguji pandangan terorganisir tentang
kombinasi input dan output yang diharapkan. Teknik ini identik dengan teknik
pengujian berbasis grafik; perbedaan utamanya adalah menggunakan tabel
alih-alih diagram atau grafik.
Equivalence Partitioning
Teknik pengujian black-box ini banyak digunakan untuk
menulis kasus uji. Ini dapat berguna dalam mengurangi serangkaian input yang
mungkin menjadi input yang lebih kecil namun efektif. Ini dilakukan melalui
pembagian input sebagai kelas, dan setiap kelas diberi nilai. Ini diterapkan
ketika kebutuhan untuk pengujian lengkap muncul dan untuk menolak redundansi
input.
State Transition Testing
Teknik ini biasanya mempertimbangkan keadaan, keluaran, dan
input dari suatu sistem selama periode tertentu. Berdasarkan pada jenis
perangkat lunak yang diuji, ia memeriksa perubahan perilaku suatu sistem dalam
keadaan tertentu atau keadaan lain sambil mempertahankan input yang sama. State
transitition testng teknik ini dibuat dengan memeriksa urutan transisi dan
keadaan atau kejadian di antara input.
White-box Testing
White-box testing adalah metode desain kasus uji yang
menggunakan struktur kontrol desain prosedural untuk memperoleh kasus uji.
Dengan menggunakan metode pengujian white box, pelaku RPL dapat melakukan kasus
uji yang merujuk pada :
- Memberikan
jaminan bahwa seluruh jalur independen pada suatu modul telah digunakan
paling tidak satu kali.
- Menggunakan
struktur data internal untuk menjamin validitasnya.
- Mengeksekusi
semua loop pada batasan dan pada batas operasionalnya.
- Menggunakan
semua keputusan logis pada sisi true dan false.
Sifat cacat internal pada perangkat lunak sangat mungkin
ditemukan dengan menggunakan pengujian white-box sedangkan black-box tidak
mungkin dapat menemukannya. Alasan inilah yang mendasari mengapa pengujian
white-box dilakukan.
Teknik White-box Testing
Teknik pengujian white-box testing diantaranya adalah
Basis Path Testing
Metode ini memungkinkan perancang kasus uji untuk mengukur
kompleksitas logis dari rancangan prosedural dan menggunakannya sebagai pedoman
untuk menetapkan sekumpulan jalur eksekusi dasar (basis set). Kasus uji yang
dilakukan untuk menggunakan basis set tersebut dijamin untuk menggunakan setiap
statement dalam program paling tidak sekali selama pengujian. Metode ini
menggunakan notasi flow graph yang menggambarkan aliran kontrol logika yang
menggunakan notasi yang ditunjukkan pada gambar di bawah ini:
Definisinya yaitu suatu metode disain test case yang
memeriksa kondisi logika yang terdapat pada modul program.
|
|
Source : stackexchange.com |
Data Flow Testing
Data Flow Testing adalah strategi spesifik pengujian perangkat lunak yang berfokus pada variabel data dan nilainya. Itu menggunakan grafik aliran kontrol. Ketika datang ke kategorisasi, pengujian aliran data akan dapat dianggap sebagai jenis pengujian kotak putih dan jenis pengujian struktural. Itu membuat cek di titik penerimaan data oleh variabel dan titik penggunaannya. Hal ini dilakukan untuk menutup jalur pengujian dan celah pengujian cabang.
Loop testing adalah suatu teknik white box testing yang
berfokus pada validitas konstruksi loop (kejadian berulang) secara eksklusif.










Tidak ada komentar:
Posting Komentar