white box testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · white box testing...

33
White Box Testing

Upload: hoangthuan

Post on 03-Apr-2019

292 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

White Box Testing

Page 2: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

White Box Testing

• Structural Testing or Logic-driven Testing orGlass Box Testing

• Yang dibutuhkan > Source code

• Menguji lebih “dekat” tentang detail prosedurperangkat lunak.

• Yang diselidiki: logical path (jalur logika)perangkat lunak

Page 3: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

Mengapa “Source code”?

• Dengan source code, dapat dilakukanpengujian tentang:– Structural Testing process– Program Logic-driven Testing– Design-based Testing– Examines the internal structure of program

Page 4: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

Jalur Logika

Page 5: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

Contoh Test Case

Page 6: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

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

Page 7: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

Kekurangan

• Pengujian secara menyeluruh justrumenimbulkan masalah sumber daya

• Program yang kecil bisa menghasilkan banyaksekali jalur logika, contoh:

Page 8: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan
Page 9: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

Masih “Kekurangan”

• Setiap jalur harus diuji secara “manual” untukdibuktikan kebenarannya.

• 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?

Page 10: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

“Bukankah black box testing jauh lebihcepat dan lebih mungkin dilakukan?”

• Jawaban terletak pada ketidak-sempurnaanperangkat lunak:– 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;..

Page 11: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

Mungkinkah dilakukan pengujianWhite Box?

• Ya!

• Tidak dilakukan secara menyeluruh.

• Cukup dilakukan pada jalur logika yangpenting.

• Kombinasikan dengan black box testing.

Page 12: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

Metode White Box | Basis path testing

• Diusulkan oleh Tom McCabe pada tahun 1976

• Digunakan untuk mendapatkan ukurankompleksitas logika

• Ukuran ini dijadikan sebagai panduan untukmenentukan jalur-jalur utama untukdieksekusi.

Page 13: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

Notasi

Sequence

IF

While

UntilCase

Page 14: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

Regions

Page 15: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

Compound Conditions

Page 16: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

Independent Path

Page 17: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

Cyclomatic Complexity

• Untuk menentukan banyaknya independentpath yang merupakan basis path• Rumus:V(G) = E – N + 2V(G) = P + 1dimana:E : EdgeN : NodeP : Predicate node

Page 18: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

74Tentukan independen path?

Contoh:

Page 19: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

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 diagram alir.

75

Jawab :

Page 20: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

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

Page 21: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

SOAL | independent path dan CC?

Page 22: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

Latihan | independent path dan CC?

Page 23: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

Kuis

Page 24: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

Contoh pengujian White BoX

80

Page 25: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

Contoh pengujian White Box

81

Page 26: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

Contoh pengujian White Box

82

Page 27: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

Contoh pengujian White Box

83

Page 28: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

Contoh pengujian White Box

84

Page 29: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

Contoh pengujian White Box

85

Page 30: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

Contoh pengujian White Box

86

Page 31: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

Contoh pengujian White Box

87

Page 32: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

Tugas!

1. Membuat/mencari program sederhanacontoh: Program untuk menentukan bilanganreal negatif atau positif (Source code).

2. Gambarkan flow graphnya

3. Tuliskan path independentnya (jalur)

4. Hitung Cyclomatic Complexity nya

Page 33: White Box Testing - eprints.uad.ac.ideprints.uad.ac.id/7752/1/5-white-box.pdf · White Box Testing •Structural Testing or Logic-driven Testing or Glass Box Testing •Yang dibutuhkan

Terima Kasih