Perangkat lunak (software) dapat diuji dengan metode white box dan black box. Pengujian software merupakan sebuah metode untuk mengetahui apakah software yang dibuat, berfungsi dengan baik dan benar.
Beberapa tujuan dari software testing:
- Meningkatkan kualitas software.
- Memeriksa sistem agar memenuhi kebutuhan.
- Mengidentifikasi kesalahan dan error yang terjadi di dalam software tersebut.
A. White Box Testing
1. Pengertian White Box Testing
White Box Testing adalah salah satu cara untuk menguji dengan cara melihat Pure Code dari suatu aplikasi/software yang diuji tanpa memperdulikan Tampilan atau Ul dari aplikasi tersebut.
2. Teknik-teknik White Box Testing:
- Basis Path Testing
- Flow Graph
- Cyclomatic Complexity
- Graph Matrix
3. Keunggulan dan Kekurangan White Box Testing:
Keunggulan
- Kebenaran program dalam mendefinisakan algoritma dapat diketahui secara langsung.
- Menentukan kualitas pekerjaan coding dan pengaruhnya untuk standar coding
- Mampu mendeteksi kesalahan. Antara lain :
a. Kesalahan logika
b. Ketidaksesuaian asumsi yang tidak sesuai dengan kenyataan
c. Kesalahan ketik
Kekurangan
- Jumlah biaya pengujian yang besar
- Belum mampu untuk melakukan tes ketersediaan, keandalan, daya tahan beban, dan pengujian yang berhubungan dengan faktor operasi, revisi dan transisi
- Untuk software besar white box testing dianggap sebagai strategi yang boros karena akan melibatkan sumber daya yang besar.
B. Black Box Testing
1. Pengertian Black Box Testing
Pada Black Box Testing dilakukan pengujian yang didasarkan pada detail aplikasi seperti tampilan aplikasi, fungsi-fungsi yang ada pada aplikasi, dan kesesuaian alur fungsi dengan bisnis proses yang dinginkan oleh customer. Black-box Testing ini lebih menguji ke Tampilan Luar (Interface) dari suatu aplikasi agar mudah digunakan oleh Customer.
2. Teknik-teknik Black Box Testing:
- Equivalence Partitioning
- Boundary Value Analysis
- Fuzzing
- Cause-Effect Graph
- Orthogonal Array Testong
- All Pair Testing
- State Transition
3. Keunggulan dan Kekurangan Black Box Testing:
Keunggulan
- Penguji tidak perlu memiliki pangetahuan tentang bahasa pemograman tertentu
- Pengujian yang dilakukan berdasarkan sudut pandang user agar dapat mengungkapkan inkosistensi atau ambiquitas dalam spesifikasi
- Programmer dan tester memilki ketergantungan satu sama lain
Kekurangan
1. Uji kasus sulit didesain tapa spesifikasi yang jelas
2. Kemungkinan memiliki pengulangan tes yang sudah dilakukan oleh programmer
3. Beberapa bagian back end tidak diuji sama sekali.