Upload
others
View
15
Download
0
Embed Size (px)
Citation preview
Pertemuan 5 : PengujianWhite Box
Pengujian Software dan Sistem UPB 2020
M Najamuddin Dwi Miharja, S.Kom, M.Kom
Teknik Informatika
Fakultas Teknik
Universitas Pelita Bangsa
Pengujian White-Box
Pengujian white box adalah metode desain test case yang menggunakan struktur kontrol desain prosedural untuk memperolehtest case
Pengujian White Box didasarkan pada pengamatan yang telititerhadap detail prosedural dan jalur-jalur logikanya. Pengujiandilakukan dengan memberikan test case untuk menguji serangkaiankondisi.
Pengujian White-BoxHasil dari penggunaan pengujian White-box adalah menghasilkan
test case yang:
1. Memberikan jaminan bahwa semua jalur independen pada suatu modultelah digunakan paling tidak satu kali
2. Menggunakan semua keputusan logis pada sisi true dan false
3. Mengeksekusi semua loop pada batasannya dan batas operasionalnya
4. Menggunakan struktur data internal untuk menjamin validitasnya.
Pengujian White-Box
Yang diperlukan dalam White-box adalah
- Menentukan semua jalur logika
- Mengembangkan test case untuk mengujinya
- Mengevaluasi hasil dengan memunculkan test case untukmenguji logika program secara mendalam
Pengujian White-Box
• Mengapa kita harus menghabiskan waktu dan energi untukmelakukan pengujian white-box, bila ada pengujian black-box?
• Hal ini dikarenakan didalam perangkat lunak memiliki sifatcacat.
Pengujian White-Box• Cacat pada perangkat lunak adalah sbb:
Kesalahan logis dan asumsi yang tidak benar berbanding terbalik denganprobabilitas jalur program yg akan dieksekusi
Kita sering percaya bahwa logis mungkin tidak akan dieksekusi bila padakenyataannya akan dieksekusi pada basis regular
Kesalahan tipografis adalah random
White Box Testing
• Structural Testing or Logic-driven Testing or Glass BoxTesting
• Yang dibutuhkan > Source code
• Menguji lebih “dekat” tentang detail prosedur perangkatlunak.
• Yang diselidiki: logical path (jalur logika) perangkatlunak
Mengapa “Source code”?
• Dengan source code, dapat dilakukan pengujiantentang:– Structural Testing process– Program Logic-driven Testing– Design-based Testing– Examines the internal structure of program
Jalur Logika
Contoh Test Case
Keuntungan White Box• Menghasilkan program yang benar dan sempurna 100%,karena
• Mengerjakan seluruh keputusan logika
• Mengerjakan seluruh loop (sesuai batas)
• Menjamin seluruh jalur independen dalam modul dikerjakan minimal 1x
• Mengerjakan seluruh data internal yang menjamin validitas
• Syarat:–Mendefinisikan semua logical path–Membangun kasus untuk pengujian–Mengevaluasi hasilnya–Menguji secara menyeluruh
Kekurangan
• Pengujian secara menyeluruh justru menimbulkan masalah sumber daya
• Program yang kecil bisa menghasilkan banyak sekali jalur logika, contoh:
Masih “Kekurangan”
• Setiap jalur harus diuji secara “manual” untuk dibuktikankebenarannya.
• Manual:– Menulis– Mengeksekusi– Memverifikasi hasil
• 1 jalur logika = 1 kegiatan manual
• Jika 1 manual dilakukan selama 5 menit, Berapa lama waktu yang diperlukan untuk pengujian?
“Bukankah black box testing jauh lebih cepat dan lebih mungkin
dilakukan?”
• Jawaban terletak pada ketidak-sempurnaan perangkatlunak:
– Adanya kesalahan logika (logic errors)65 < x <=75 > if (x < 65) AND (x <= 75) then…
–Adanya ketidaksesuasian asumsi (incorrect assumptions)1 bulan = 30 hari >bulan Februari? Juli? dst…
– Adanya kesalahan menulis kode (typographical errors)volume:= P * L * T; > polume:=P * L * T;..
Mungkinkah dilakukan pengujian White Box?
• Ya!
• Tidak dilakukan secara menyeluruh.
• Cukup dilakukan pada jalur logika yang penting.
• Kombinasikan dengan black box testing.
Metode White Box | Basis path testing
• Diusulkan oleh Tom McCabe pada tahun 1976
• Digunakan untuk mendapatkan ukuran kompleksitaslogika
• Ukuran ini dijadikan sebagai panduan untuk menentukan jalur-jalur utama untuk dieksekusi.
Notasi
Sequence
IF
While
UntilCase
Regions
Compound Conditions
Independent Path
Cyclomatic Complexity
•Untuk menentukan banyaknya independent path yang merupakan basis path• Rumus:V(G) = E – N + 2 V(G) = P + 1dimana:E : Edge N : NodeP : Predicate node
74
Tentukan independen path?
Contoh:
Dari gambar:
• Path 1 = 1 - 11
• Path 2 = 1 - 2 - 3 - 4 - 5 - 10 - 1 - 11
• Path 3 = 1 - 2 - 3 - 6 - 8 – 9 - 10 - 1 - 11
• Path 4 = 1 - 2 - 3 - 6 - 7 - 9 - 10 - 1 - 11
• Path 1,2,3,4 yang telah didefinisikan diatas merupakan basis set untuk diagramalir.
75
Jawab :
cyclomatic complexity
• Flowgraph mempunyai 4 region
• V(G) = 11 edge - 9 node + 2 = 4
• V(G) = 3 predicate node + 1 = 4
• Jadi cyclomatic complexity untuk flowgraph adalah 4
76
Contoh pengujian WhiteBoX
80
Contoh pengujian White Box
81
Contoh pengujian White Box
82
Contoh pengujian White Box
83
Contoh pengujian White Box
84
Contoh pengujian White Box
85
Contoh pengujian White Box
86
Contoh pengujian White Box
87
Tugas
87
TerimakasihM Najamuddin Dwi Miharja, S.Kom, M.Kom
085730304025 – [email protected]