Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Control Flow Testing Software Quality Eko Prasetyo Teknik Informatika Univ. Pembangunan Nasional Veteran Jawa Timur 2011 1.

Presentasi serupa


Presentasi berjudul: "Control Flow Testing Software Quality Eko Prasetyo Teknik Informatika Univ. Pembangunan Nasional Veteran Jawa Timur 2011 1."— Transcript presentasi:

1 Control Flow Testing Software Quality Eko Prasetyo Teknik Informatika Univ. Pembangunan Nasional Veteran Jawa Timur

2 Basic Idea Dua jenis statemen dasar dalam unit program adalah assignment statements dan conditional statements. Statemen assignment secara eksplisit direpresentasikan menggunakan simbol assignment “=“, ◦ seperti : x = 2*y, dimana x dan y are variables. Condition adalah inti dalam statement kondisi, seperti: if(), for() loop, while() loop, and goto. ◦ Misal, dalam if(x! = y), kita menguji ketidaksamaan x dan y. Pemanggilan fungsi adalah mekanisme untuk memberikan abstraksi desain program. ◦ Karena fungsi menerima input dan memberikan output, maka sebuah fungsi sebenarnya menjalankan serangkaian statemen dari titik masukan sampai ke titik keluaran. ◦ Eksekusi serangkaian instruksi dari titik masuk ke titik keluar disebut dengan lintasan (path). 2

3 Lintasan (path) unit program Sebuah unit program bisa mempunyai sejumlah path, banyak, bahkan tak terhingga jumlahnya. Sebuah path dikarakteristikkan dengan sebuah input dan sebuah output yang diharapkan. Sebuah masukan bisa memberikan keluaran yang berbeda karena lintasan yang dilalui juga berbeda. Semakin banyak kemungkinan pengujian, akan memberikan kualitas unit yang lebih baik. Control flow testing, dilakukan oleh programmer. 3

4 Outline Control Flow Testing 4

5 Simbol Control Flow Graph (CFG) 5

6 Contoh CFG Unit program untuk menentukan bilangan terbesar dari 3 bilangan. Koding: 6 A, B, C if A>B if A>C max = A else max = B end else if B>C max = B else max = C end A, B, C A > B B > CA > C max = Cmax = Bmax = Cmax = A FT FFTT

7 7 PathRantai Jalur 11-2(T)-3(T) (T)-3(F) (F)-4(T) (F)-4(F)-8 Input Domain Jalur ABC Terbesar pertamaTerbesar keduaTerbesar ketiga 1-2(T)-3(T)-5 Terbesar pertamaTerbesar ketigaTerbesar kedua 1-2(T)-3(T)-5 Terbesar ketigaTerbesar pertamaTerbesar kedua 1-2(F)-4(T)-7 Terbesar keduaTerbesar pertamaTerbesar ketiga 1-2(F)-4(T)-7 Terbesar keduaTerbesar ketigaTerbesar pertama 1-2(T)-3(F)-6 Terbesar ketigaTerbesar keduaTerbesar pertama 1-2(F)-4(F)-8 A, B, C A > B B > CA > C max = Cmax = Bmax = Cmax = A FT FFTT Input Domain dan Jalur yang mungkin terjadi Jalur yang mungkin terjadi

8 Pengujian 8 KASUS UJI INTERPRETASI MASUKAN JALUR KELUARAN DIHARAPKAN ABC (T)-3(T)-5 max = (T)-3(T)-5 max = (F)-4(T)-7 max = (F)-4(T)-7 max = (T)-3(F)-6 max = (F)-4(F)-8 max = (T)-3(T)-5 max = (T)-3(F)-6 max = (F)-4(T)-7 max = (F)-4(F)-8 max = 3

9 Latihan Jika A adalah bilangan genap maka kalikan A dengan 2, kemudian hitung jumlah dari kelipatan 5 untuk 2*A Jika A adalah bilangan ganjil maka kalikan A dengan 2 kemudian ditambah 1, kemudian hitung jumlah dari kelipatan 10 untuk 2*A+1 Misal: ◦ A= 2, B=2*A=4, H=1 ◦ A= 4, B = 2*A = 8, H = 2 ◦ A = 10, B = 2*A=20, H=4 ◦ A = 3, B = 2*A+1=7, H=1 ◦ A= 7, B = 2*A+1 = 15, H=2 ◦ A = 11, B = 2*A+1 = 23, H=3 9

10 10 A = ? sisa = A mod 2 H = 0; if sisa == 0 B = 2*A while B > 5 H = H+1 B = B - 5; end while else B = 2*A+1 while B > 10 H = H+1 B = B - 10; end while End if H = H+1 Latihan A = ? sisa = A mod 2 H = 0 sisa == 0 B = 2*A+1 B > 10 H = H + 1 B = B - 10 H = H + 1 B = 2*A T F B > 5 H = H + 1 B = B - 5 F F T T

11 11 Input Domain Jalur A  Genap 1-2(T)-3-5(T)-7-5(F)-10 A  Genap 1-2(T)-3-5(F)-10 A  Ganjil 1-2(F)-4-6(T)-9-6(F)-10 A  Ganjil1-2(F)-4-6(F)-10 A = ? sisa = A mod 2 H = 0 sisa == 0 B = 2*A+1 B > 10 H = H + 1 B = B - 10 H = H + 1 B = 2*A T F B > 5 H = H + 1 B = B - 5 F F T T KASUS UJI JALUR KELUARAN DIHARAPKAN A = 21-2(T)-3-5(F)-10H = 1 A = 4 A = 10 A = 3 A = 7 A = 11 Pengujian Input domain dan Jalur yang mungkin terjadi

12 12 Input Domain Jalur A  Genap 1-2(T)-3-5(T)-7-5(F)-10 A  Genap 1-2(T)-3-5(F)-10 A  Ganjil 1-2(F)-4-6(T)-9-6(F)-10 A  Ganjil1-2(F)-4-6(F)-10 KASUS UJI JALUR KELUARAN DIHARAPKAN A = 21-2(T)-3-5(F)-10H = 1 A = 41-2(T)-3-5(T)-7-5(F)-10H = 2 A = (T)-3-5(T)-7-5(T)-7- 5(T)-7-5(F)-10 H = 4 A = 31-2(F)-4-6(F)-10H = 1 A = 71-2(F)-4-6(T)-9-6(F)-10H = 2 A = 111-2(F)-4-6(T)-9-6(T)-9- 6(F)-10 H = 3 Pengujian Input domain dan Jalur yang mungkin terjadi A = ? sisa = A mod 2 H = 0 sisa == 0 B = 2*A+1 B > 10 H = H + 1 B = B - 10 H = H + 1 B = 2*A T F B > 5 H = H + 1 B = B - 5 F F T T


Download ppt "Control Flow Testing Software Quality Eko Prasetyo Teknik Informatika Univ. Pembangunan Nasional Veteran Jawa Timur 2011 1."

Presentasi serupa


Iklan oleh Google