Pertemuan 12 Metode Pengujian Perangkat Lunak White Box
Pertemuan 12 Metode Pengujian Perangkat Lunak (White Box) Cont…. . Febriyanno Suryana, S. Kom, MM surya_gsc 04@yahoo. com 0852 7474 1981 SI -2013
2. Pengujian Kondisi Merupakan metode/teknik desain test case yang menggunakan kondisi logis yang ada pada suatu program. Kondisi dibagi atas : Kondisi sederhana Terdiri dari : - satu variabel boolean - persamaan relasional - dapat didahului dengan operator NOT Kondisi gabungan Terdiri dari dua atau lebih kondisi sederhana, operator boolean, dan tanda kurung. 2
Pengujian Kondisi. . . Dengan demikian, tipe 2 komponen yg mungkin di dlm suatu kondisi meliputi : Operator boolean Sebuah variabel boolean Sepasang tanda kurung boolean (yang mengelilingi suatu kondisi gabungan dan kondisi sederhana) Sebuah operator operasional atau sebuah persamaan aritmatik. Teknik pengujian fokus pada masing-masing kondisi yg ada dlm program. 3
Pengujian Kondisi. . . Operator : simbol khusus untuk mengoperasikan suatu nilai data (operand). Operator Aritmatik : +. -, *, /, ^ Operator Relasional : >, <, =, >=, <> Operator Boolean/Logika : AND atau “&” OR atau “|” NOT atau “-” 4
Pengujian Kondisi. . . Strategi pengujian kondisi 1. Pengujian cabang Merupakan strategi pengujian kondisi yang paling sederhana. Untuk suatu kondisi gabungan, cabang 2 true (benar) dan false (salah) dan setiap kondisi sederhana yang ada perlu di eksekusi paling tidak 1 (satu) kali. Contoh : If A & B then C Else then D End if Test Case : 1. A =. t. B =. t. Cabang true (benar) (C) 2. A =. f. B =. t. Cabang false (salah) (D) 5
Pengujian Kondisi. . . Contoh program : 01 procedure TForm 1. Button 1 Click(Sender: TObject); 02 var nilai : integer; 03 hasil : string; 04 begin 05 nilai: =strtoint(edit 1. Text); 06 if nilai < 60 then 07 hasil: = 'Tidak lulus' 08 else 09 hasil: ='Lulus'; 10 edit 2. Text: = hasil; end if 11 end; 6
Pengujian Kondisi. . . 7
Pengujian Kondisi. . . 2. Pengujian domain membutuhkan 3 atau 4 pengujian untuk sebuah persamaan relasional, karena persamaan relasional mengambil bentuk : E 1 (operator Aritmatik) E 2 dimana : E 1, E 2 = persamaan aritmatik Maka diperlukan 3 pengujian untuk membuat : ü Nilai E 1 > E 2 ü Nilai E 1 = E 2 ü Nilai E 1 < E 2 secara berurutan 8
Pengujian Kondisi. . . Mendeteksi kesalahan : 1. Bila operator relasional salah dan E 1, E 2 benar, maka ke-3 pengujian diatas menjamin pendeteksian kesalahan pada operator relasional. Contoh : E 1=A, E 2=7 if A > 7 then B else C Test Case: 1) A = 10 nilai E 1 > E 2 2) A = 7 nilai E 1 = E 2 3) A = 4 nilai E 1 < E 2 endif Catatan : Ø Persamaan Aritmatik/ E 1 adalah operand dengan nilai A Ø E 2 adalah operand dengan nilai 7 Ø Operand adalah nilai suatu data 9
Pengujian Kondisi. . . 2. Untuk mendeteksi kesalahan pada E 1 dan E 2, maka test case yg membuat nilai ( E 1 > E 2 ) dan ( E 1< E 2 ) harus dibuat perbedaan harga keduanya (E 1, E 2) sekecil mungkin. Contoh : if A > 7 then B else C Test Case: 1) A = 8 nilai E 1 > E 2 2) A = 7 nilai E 1 = E 2 3) A = 6 nilai E 1 < E 2 endif 10
Pengujian Kondisi. . . 1. Tabel Operator NOT ("-") A T F NOT A F T 2. Tabel Operator OR ("|") A T T F F B T F A|B T T T F 11
Pengujian Kondisi. . . 3. Tabel Operator AND ("&") A T T F F B T F A&B T F F F 12
Pengujian Kondisi. . . Persamaan boolean dg n variabel Semua 2 n pengujian yg mungkin (dimana n>0) perlu dilakukan. Strategi ini dpt mendeteksi kesalahan : variabel, operator dan kesalahan tanda kurung boolean. (catt: tetapi strategi ini praktis untuk n yg kecil) Contoh: if (A & B ) | C then D else E endif Test case: 1) A =. t. , B =. t. , C =. t. 2) A =. t. , B =. t. , C =. f. 3) A =. t. , B =. f. , C =. t. 4) A =. t. , B =. f. , C =. f. 5) A =. f. , B =. t. , C =. t. 6) A =. f. , B =. t. , C =. f. 7) A =. f. , B =. f. , C =. t. 8) A =. f. , B =. f. , C =. f. Pada contoh diatas terdapat 3 variabel yaitu (A, B dan C), sehingga diperlukan 23 = 8 test case 13
Latihan Perhatikan listing program berikut : 1 2 3 4 5 6 7 8 9 10 11 Dim hasil as int, H_true as int ; Dim A as int, B as int, C as int ; A = val(text 1. text) B = val(text 2. text) Hasil = (A&B)|C C = val(text 3. text) H_true = 1 If (A&B)|C if hasil = H_true print “true” --------- berapa kali ? else print “false” -------- berapa kali ? end if End if Dari test case yang dilakukan, berapa kali jalur yang masuk ke “true” dan false”…. ? 14
Latihan. . . Data input : A A A A = = = = 1 1 0 0 B B B B = = = = 1 1 0 0 C C C C = = = = 1 0 1 0 Catatan : Nilai true = 1 Nilai false = 0 15
Latihan. . . Pembahasan : AND 1 1 0 0 & & & & Nilai 1 = 5 Nilai 0 = 3 1 1 0 0 = = = = Hasil "AND" OR 1 1 0 0 0 | | | | Hasil "AND" dan "OR" 1 0 1 0 = = = = 1 1 1 0 1 0 ---> 5 x jalur ---> 3 x jalur 16
Pengujian Kondisi. . . 3. Pengujian BRO (Branch and Relational Operator) ü Strategi pengujian BRO menjamin pendeteksian kesalahan cabang dan operator relasional, dg kondisi bahwa; semua variabel boolean dan operator relasional pada kondisi itu terjadi hanya sekali dan tidak memiliki variabel umum. ü Strategi BRO menggunakan batasan kondisi bagi suatu kondisi. Misal: Ø suatu kondisi-C, dimana batasan kondisi untuk kondisi-C dgn n kondisi sederhana ditentukan sebagai (D 1, D 2, … , Dn), dimana Di (0 < i< = n) merupakan simbol yg menentukan batasan pd hasil akhir dari kondisi sederhana ke-i dlm kondisi-C. 17
Pengujian Kondisi. . . Catatan: Batasan-kondisi-D untuk kondisi-C dikatakan dipenuhi oleh eksekusi dari kondisi-C bila selama eksekusi dari kondisi-C, hasil akhir dari masing-2 kondisi sederhana di dalam kondisi-C memenuhi batasan yg bersesuaian di dlm kondisi-C. v Untuk variabel-boolean, kita menentukan batasan pd hasil akhir variabel-boolean yg menyatakan bahwa variabel-boolean harus; true (. t. ) atau false (. f. ). v Begitu juga untuk persamaan relasional, dimana simbol: >, =, < digunakan untuk menentukan batasan pd hasil akhir persamaan relasional. 18
Pengujian Kondisi. . . Contoh 1: Kondisi C 1 : B 1 & B 2 Dimana: B 1 dan B 2 adalah: variabel boolean v Batasan kondisi untuk C 1 adalah bentuk: ( D 1 , D 2 ) v Dimana masing-2 dari D 1 dan D 2 adalah : . t. atau. f. v Strategi pengujian BRO mengharuskan himpunan batasan: [ (t, t), (t, f), (f, t) ] dicakup oleh eksekusi C 1 19
Pengujian Kondisi. . . kasus: if A & B then C else D endif Batasan kondisi: ( D 1 , D 2 ) Himpunan batasan: [ (t, t), (t, f), (f, t) ] Test case: 1) A =. t. , B =. t. 2) A =. t. , B =. f. 3) A =. f. , B =. t. 20
Pengujian Kondisi. . . Contoh 2: Kondisi C 2 : B 1 & ( E 1 = E 2 ) Dimana: B 1 adalah: variabel boolean E 1, E 2 adalah: persamaan relasi v Batasan kondisi C 2 adalah bentuk: ( D 1 , D 2 ) dimana: D 1 adalah: . t. atau. f. D 2 adalah: > , = , < v Himpunan batasan: [ (t, t), (t, f), (f, t) ] dimodifikasi menjadi: [ (t, =), (t, >), (t, <), (f, =) ] 21
Pengujian Kondisi. . . kasus: if A & ( B = 5 ) then C else D endif Batasan kondisi: ( D 1 , D 2 ) Himpunan batasan: [ (t, =), (t, >), (t, <), (f, =) ] Test case: 1) A =. t. , B = 5 2) A =. t. , B = 8 3) A =. t. , B = 3 4) A =. f. , B = 5 22
Pengujian Kondisi. . . Contoh 3: Kondisi C 3 : ( E 1 > E 2 ) & ( E 3 = E 4 ) Dimana: E 1, E 2, E 3, E 4 adalah: persamaan relasi v Batasan kondisi C 3 adalah bentuk: ( D 1 , D 2 ) dimana: D 1 adalah: > , = , < D 2 adalah: > , = , < v Himpunan batasan: [ (t, t), (t, f), (f, t) ] dimodifikasi menjadi: [ (>, =), (>, >), (>, <), (=, =), (<, =) ] 23
Pengujian Kondisi. . . kasus: if ( A > 5 ) & ( B = 8 ) then C else D endif Batasan kondisi: ( D 1 , D 2 ) Himpunan batasan: [ (>, =), (>, >), (>, <), (=, =), (<, =) ] Test case: 1) A = 9 , B = 8 2) A = 12 , B = 10 3) A = 7 , B = 3 4) A = 5 , B = 8 5) A = 2 , B = 8 24
Kasus : Program Aplikasi Penggajian Perhatikan kasus berikut : Latihan If ( MK > 10 ) & ( UM < 50 ) l ( GOL = 4 ) then TK = 500. 000 ------ berapa kali ? else TK = 200. 000 ------ berapa kali ? endif Keterangan: TK = Tunjangan Keluarga MK = Masa Kerja (dalam tahun) UM = Umur (dalam tahun) GOL = Golongan (1, 2, 3, 4, 5) 25
Latihan. . . Pertanyaan: Rancanglah maksimal test case pada pengujian kondisi IF diatas dengan strategi Pengujian BRO dan tentukan berapa jalur yang masuk pada kondisi “true” dan “false” Jawab: Langkah – langkah : 1. Tentukan batasan kondisi: ( D 1 , D 2, D 3 ) dimana D 1 , D 2 , D 3 isinya : >, =, < If ( MK > 10 ) & ( UM < 50 ) l ( GOL = 4 ) D 1 D 2 D 3
If ( MK > 10 ) & ( UM < 50 ) l ( GOL = 4 ) D 1 D 2 D 3 Pembahasan : Latihan. . . D 1 D 2 D 3 1 T T T (>, <, =) TTT 2 T T F ( >, <, >) (>, <, <) 3 T F T TTF ……………. 4 T F F ……………. 5 F T T ……………. 6 F T F 7 F F T 8 F F F Himpunan Batasan (=, <, >) (<, <, <) (=, <, <) (<, <, >) ……………. Test case setelah dimodifikasi ?
Pembahasan : Latihan. . . 2. Tentukan himpunan batasan: [ (>, <, =), (>, <, >), (>, <, <), (>, >, =), (>, =, =), (>, >, >), (>, >, <), (>, =, >), (>, =, <) (=, <, =), (<, <, =), (=, <, >), (=, <, <), (<, <, >), (<, <, <) (=, >, =), (=, =, =), (<, >, =), (<, =, =) dari himpunan batasan diatas diperoleh jumlah sebanyak 19. dengan demikian jumlah test case adalah sebanyak 19 kali
Latihan. . . Pembahasan : 1 2 3 4 5 6 7 8 9 10 D 1 T & & D 2 T Hsl 1 T | | D 3 T Hsl 2 T T T T T F & & & & & T T F F F T T T F F F F | | | | | F F T T T F F T
Latihan. . . Pembahasan : D 1 & D 2 Hsl 1 | D 3 Hsl 2 F F F F F & & & & & T T T F F F F | | | | | T F F F F T T T T 11 12 13 14 15 16 17 18 19 Nilai TRUE = 11 ---> 11 x jalur Nilai FALSE = 8 ---> 8 x jalur
Pengujian Kondisi. . . Test case: No. 1. 2. 3. 4. 5. 6. . 19. MK 12 15 13 12 17 18. . . 8 UM 40 42 45 55 50 54. . . 50 GOL 4 5 2 4 4 5. . . 4
End Session www. suryagsc. wordpress. com 32
- Slides: 32