Contoh Pengujian
Contoh Pengujian
Uji Black box dan White box adalah dua jenis uji yang digunakan dalam
pengujian perangkat lunak. Kedua jenis uji ini dapat digunakan dalam kombinasi untuk
memastikan bahwa perangkat lunak yang diuji teruji dengan baik dan bekerja sesuai
dengan yang diharapkan. Berikut adalah contoh dari kedua uji tersebut dengan
menggunakan masing-masing 1 (satu) metode khusus dan 3 (tiga) sampel dalam setiap
pengujiannya:
1
a. Sampel 1. Uji Fitur Pencarian Produk Aplikasi E-Commerce
Skenario Test Case Hasil yang Hasil Kesimpulan
Pengujian Diharapkan Pengujian
Kasus uji yang 1) Buka aplikasi Setelah Saya Berhasil
akan diuji e-commerce melakukan melakukan
adalah fitur 2) Klik tombol langkah- pengujian
pendaftaran "Daftar" langkah di dengan
akun pada 3) Isi formulir atas, langkah-
sebuah aplikasi pendaftaran seharusnya langkah di
e-commerce. dengan data pengguna atas
Fitur ini valid (nama, berhasil menggunakan
memungkinkan alamat email, mendaftar data valid dan
pengguna untuk dan kata dan login hasilnya
membuat akun sandi) dengan akun berhasil. Saya
baru di dalam 4) Klik tombol yang baru berhasil
aplikasi. "Daftar" dibuat. mendaftar dan
5) Verifikasi login dengan
email dengan akun yang
mengklik baru dibuat.
tautan
verifikasi
yang
dikirimkan
melalui email
6) Login
menggunakan
akun yang
baru dibuat
Saya merasa senang bahwa fitur pendaftaran akun di aplikasi ini berfungsi dengan
baik dan mudah digunakan. Hal ini membuat saya lebih percaya untuk berbelanja di
2
dalam aplikasi ini.
3
1) Buka aplikasi Setelah Saya Berfungsi
2) Klik pada melakukan melakukan dengan babik.
tombol langkah- pengujian
"Login" langkah di dengan
3) Masukkan atas, langkah-
username seharusnya langkah di atas
atau pengguna menggunakan
password tidak berhasil username atau
yang salah login ke password yang
4) Klik tombol dalam salah dan tidak
"Login" aplikasi dan berhasil login
menerima ke dalam
pesan aplikasi dan
kesalahan. menerima
pesan
kesalahan.
Respon Pengguna:
Meskipun saya tidak berhasil login, saya merasa senang bahwa
aplikasi ini memiliki fitur keamanan yang baik dan tidak
memungkinkan orang yang tidak berhak mengakses akun saya.
Test Case 3
Langkah – Hasil yang Hasil Kesimpulan
Langkah Diharapkan Pengujian
Pengujian
1) Buka aplikasi Setelah Saya Berfungsi
2) Klik pada melakukan melakukan dengan baik.
tombol langkah- pengujian
"Login" langkah di dengan
3) Tidak atas, langkah-
memasukkan seharusnya langkah di atas
username pengguna tanpa
atau tidak berhasil memasukkan
4
password login ke username atau
4) Klik tombol dalam password dan
"Login" aplikasi dan tidak berhasil
menerima login ke dalam
pesan aplikasi dan
kesalahan. menerima
pesan
kesalahan.
Respon Pengguna:
Saya merasa senang bahwa aplikasi ini memiliki fitur keamanan
yang baik dan tidak memungkinkan orang yang tidak berhak
mengakses akun saya.
5
mengirimkannya yang ingin diterima dan diterima dan
ke alamat yang dipesan sedang sedang
telah ditentukan. 5) Tambahkan diproses. diproses.
ke keranjang
6) Klik "Check
Out"
7) Masukkan
alamat
pengiriman
8) Pilih metode
pembayaran
9) Klik "Submit
Order"
Respon Pengguna:
Saya merasa senang bahwa fitur pemesanan makanan di aplikasi ini berfungsi dengan
baik. Saya dapat memesan makanan dengan mudah dan pesanan saya diterima dengan
cepat. Hal ini membuat pengalaman memesan makanan menjadi lebih nyaman dan
efisien.
6
2. Pengujian White Box
Uji White box adalah jenis uji di mana pengujian dilakukan dengan
pengetahuan detail tentang struktur internal perangkat lunak. Dalam uji White box,
pengujian dilakukan dengan memeriksa algoritma, kode program, dan struktur data
yang digunakan dalam perangkat lunak. Pengujian jenis ini dapat membantu
mengidentifikasi cacat atau kesalahan yang terkait dengan kode program atau
algoritma yang digunakan. Berikut adalah beberapa contoh sampel dalam uji White
Box yang menggunakan Teknik Basis Path:
a. Sampel 1: Pemograman Sistem Fungsi Penanggalan Bulan
Fungsi bulan, adalah fungsi untuk mendapatkan bulan pada saat ini,
dengan parameter berupa angka, berikut merupakan cuplikan kodenya:
Gambar 1. Flow graph fungsi bulan
private String getMonthString (String
month) {switch (month)
{ case "01":
return "JANUARY"
case "02":
return "FEBRUARY";
case "03":
return "MARCH";
case "04":
return "APRIL";
case "05":
return "MAY";
case "06":
return "JUNE";
case "07":
return "JULY";
case "08":
return "AUGUST";
case "09":
return "SEPTEMBER";
case "10":
return "OCTOBER";
case "11":
return "NOVEMBER";
case "12":
return "DECEMBER";
default:
return
"";}}
7
Untuk menganalisa jalur eksekusi, selanjutnya dibuat flow graph.
Berdasarkan source code (kode sumber) di atas maka dibuat flow graph seperti
pada Gambar 1. di atas:
SQLiteDatabase db =this
.getWritableDatabase();
ContentValues
contentValues =
new ContentValues();
contentValues.put(COL_1_E, id);
contentValues.put(COL_2_E,
expense);
contentValues.put(COL_3_E,
description);
contentValues.put(COL_4_E,
date);
contentValues.put(COL_5_E,
category);
long res =
db.insert(TABLE_NAME_EXPENSE,
null,contentValues);
if(res == -
1) return
false;
else
return true;
}
Untuk mengidentifikasi jalur eksekusi program, selanjutnya dibuat flow
graph. Dari source code (kode sumber) di atas maka dibuat flow graph pada
Gambar 2 di atas:
8
c. Sampel 3: Memprogram Sistem Fungsi Menambahkan Kategori
Fungsi ini digunakan untuk menambah kategori pengeluaran
dari pengguna aplikasi dan data akan disimpan kedalam basis data pada gawai
ponsel, berikut cuplikan kode:
Gambar 3.Flow graph
menambahkan kategori
public boolean insertDataCategory(int
id,String description, String
budget, String state){
SQLiteDatabase db =
this.getWritableDatabase();
ContentValues contentValues =
new ContentValues();
contentValues.put(COL_1_C, id);
contentValues.put(COL_2_C, description);
contentValues.put(COL_3_C, budget);
contentValues.put(COL_4_C, state);
long res
=db.insert(TABLE_NAME_CATEGO
RY, null, contentValues);
if(res == -
1) return
false;
else
return true;
}
Dari cuplikan kode di atas maka dibuat flow graph dalam gambar 3 di
atas:
Respon Pengguna:
Pengujian White Box menggunakan teknik Basis Path pada aplikasi
yang saya gunakan sangat membantu dalam menjamin keandalan dan
kualitas aplikasi. Saya merasa yakin bahwa setiap kemungkinan jalur dan
kondisi telah diuji dengan baik sehingga saya dapat menggunakan aplikasi
tersebut dengan percaya diri dan tanpa khawatir mengalami masalah teknis.
9
Referensi:
Beizer, B. (1995). Black Box Testing: Techniques for Functional Testing of Software
and
Systems. Wiley.
Kaner, C., Falk, J., & Nguyen, H. Q. (1999). Testing Computer Software, 2nd Edition.
Wiley.
Myers, G. J., Sandler, C., & Badgett, T. (2011). The Art of Software Testing, 3rd
Edition.
Wiley.
Graham, D., Veenendaal, E., & Evans, I. (2007). Foundations of Software Testing:
ISTQB Certification. Cengage Learning.
Whittaker, J. A. (2000). Testing Complex and Embedded Systems. Addison-Wesley.
IEEE. (2008). IEEE Standard for Software Test Documentation, IEEE Std 829-2008.
ISO/IEC/IEEE. (2013). Software and Systems Engineering -- Software Testing -- Part
1:
Concepts and Definitions, ISO/IEC/IEEE 29119-1:2013.
Bach, J. (2003). Exploratory Testing. Available at
https://www.satisfice.com/download/exploratory_testing.pdf.
10