2.12 Pengujian
Sebelum program diterapkan, maka program harus bebas dari kesalahan dan program harus diuji untuk menemukan kesalahan yang mungkin dapat terjadi
seperti kesalahan dalam bahasa, kesalahan waktu proses dan kesalahan logika program. Pengujian Perangkat Lunak PL adalah elemen kritis dari jaminan
kualitas PL dan merepresentasikan spesifikasi, desain dan pengkodean. Meningkatnya visibilitas PL sebagai suatu elemen sistem dan biaya yang muncul
akibat kegagalan PL, memotivasi dilakukan perencanaan yang baik melalui pengujian yang teliti.
2.12.1 White-box Testing
Menurut Purwadhika http:www.purwadhikapress.comapa-perbedaan- antara-white-box-testing-dan-black-box-testing.html white-box testing adalah
pengujian yang didasarkan pada pengecekan terhadap detail perancangan, menggunakan struktur kontrol dari desain program secara procedural untuk
membagi pengujian ke dalam beberapa kasus pengujian. Dalam white-box testing, yang perlu dilakukan adalah membuat pengujian kasus dengan melihat source
code untuk mencari adanya kesalahan pada program. White-box testing dilakukan
oleh Software Engineer karena membutuhkan pengetahuan tentang bahasa pemrograman dan implementasinya. Contoh hal-hal yang diuji dalam pengujian
kasus yaitu seperti loops while or for loop, pengambilan keputusa pernyataan if atau switch atau struktur data.
2.12.2 Black-box Testing
Pengujian black-box testing berfokus pada persyaratan fungsional perangkat lunak. Pengujian black-box testing di desain untuk mengungkap
kesalahan pada persyaratan fungsional tanpa mengabaikan kerja internal dari suatu program. Teknik pengujian black-box testing berfokus pada domain
informasi dari perangkat lunak, dengan melakukan test case dengan mempartisi domain input
dan output dari suatu program dengan cara memberikan cangkupan pengujian yang mendalam Pressman, 2011.
Terdapat beberapa klasifikasi black box testing menurut Simarmata 2010, adapun beberapa klasifikasi yang digunakan dalam penelitian ini adalah
sebagai berikut: 1.
Pengujian fungsional functional testing, merupakan pengujian fitur dan perilaku operasional produk untuk memastikan apakah mereka sesuai
dengan spesifikasinya. Pengujian ini mengabaikan mekanisme internal sistem atau komponen dan hanya berfokus pada keluaran yang dihasilkan
sebagai respon terhadap input yang dipilih dan kondisi eksekusi. 2.
Pengujian alfa alfa testing, merupakan simulasi pengujian operasional atau aktual oleh pengguna potensial pelanggan atau tim uji independen
di situs pengembang. Pengujian alfa sering digunakan sebelum perangkat lunak dilanjutkan ke pengujian beta.
3. Pengujian beta beta testing, dilakukan setelah pengujian alfa dan dapat
dianggap sebagai bentuk eksternal pengujian penerimaan pengguna.
Pengujian dari rilisnya suatu produk perangkat lunak yang dilakukan oleh pelanggan dan di luar tim pemrograman.
Dari klasifikasi pengujian yang dijelaskan diatas tersebut untuk contoh kasus pengujiannya dapat dilakukan seperti berikut:
Pada suatu web seminar online terdapat formulir untuk dimasukkan datanya oleh user untuk melanjutkan proses registrasi. Berikut tampilan dari web
contoh kasus tersebut
Gambar 2.14
Contoh kasus Black-box Testing Tanpa mengetahui tahapan atau proses penguji melakukan proses
memasukkan data. Pada formulir tersebut peneliti menemukan beberapa kesalahan validasi setelah dilakukan proses input form sebagai berikut:
Kolom telepon bisa dimasukkan huruf atau karekter.
Kolom fax bisa dimasukkan huruf atau karekter. Kolom mobile bisa dimasukkan huruf atau karekter.
Kolom email bisa dimasukkan tanpa pengecekan apakah yang diinput user merupakah alamat email atau tidak.
Tidak terdapat captcha untuk memastikan bahwa user yang melakukan input bukan robot.
Hal tersebut dapat dikethui dari proses testing yang dilakukan ketika alfa testing
atau beta testing.
2.12.3 Perbandingan White-box dan Black-box Testing