Metode Pengujian Perangkat Lunak (White Box) Pertemuan 10 Metode Pengujian Perangkat Lunak (White Box) Cont….. Febriyanno Suryana, S.Kom, MM surya_gsc04@yahoo.com 0852 7474 1981 SI -2012
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.
Pengujian Kondisi... Dengan demikian, tipe2 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.
Pengujian Kondisi... Operator : simbol khusus untuk mengoperasikan suatu nilai data (operand). Operator Aritmatik : +. -, *, /, ^ Operator Relasional : >, <, =, >=, <=, <> Operator Boolean/Logika : AND atau “&” OR atau “|” NOT atau “-”
Pengujian Kondisi... Strategi pengujian kondisi Pengujian cabang Merupakan strategi pengujian kondisi yang paling sederhana. Untuk suatu kondisi gabungan, cabang2 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 : A = .t. B = .t. A = .f. Cabang true (benar) (C) Cabang false (salah) (D)
Pengujian Kondisi... Contoh program : 01 procedure TForm1.Button1Click(Sender: TObject); 02 var nilai : integer; 03 hasil : string; 04 begin 05 nilai:=strtoint(edit1.Text); 06 if nilai < 60 then 07 hasil:= 'Tidak lulus' 08 else 09 hasil:='Lulus'; 10 edit2.Text:= hasil; end if 11 end;
Pengujian Kondisi...
Pengujian Kondisi... Pengujian domain Pengujian domain membutuhkan 3 atau 4 pengujian untuk sebuah persamaan relasional, karena persamaan relasional mengambil bentuk : dimana : E1, E2 = persamaan aritmatik Maka diperlukan 3 pengujian untuk membuat : Nilai E1 > E2 Nilai E1 = E2 Nilai E1 < E2 secara berurutan E1 (operator Aritmatik) E2
Pengujian Kondisi... Mendeteksi kesalahan : Bila operator relasional salah dan E1, E2 benar, maka ke-3 pengujian diatas menjamin pendeteksian kesalahan pada operator relasional. Contoh : E1=A, E2=7 Catatan : Persamaan Aritmatik/ E1 adalah operand dengan nilai A E2 adalah operand dengan nilai 7 Operand adalah nilai suatu data Test Case: A = 10 nilai E1 > E2 A = 7 nilai E1 = E2 A = 4 nilai E1 < E2 if A > 7 then B else C endif
Pengujian Kondisi... Untuk mendeteksi kesalahan pada E1 dan E2, maka test case yg membuat nilai ( E1 > E2 ) dan ( E1< E2 ) harus dibuat perbedaan harga keduanya (E1,E2) sekecil mungkin. Contoh : Test Case: A = 8 nilai E1 > E2 A = 7 nilai E1 = E2 A = 6 nilai E1 < E2 if A > 7 then B else C endif
Pengujian Kondisi... 1. Tabel Operator NOT ("-") A NOT A T F 2. Tabel Operator OR ("|") A B A|B T F
Pengujian Kondisi... 3. Tabel Operator AND ("&") A B A&B T F
Pengujian Kondisi... Persamaan boolean dg n variabel Semua 2n 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) Pada contoh diatas terdapat 3 variabel yaitu (A,B dan C), sehingga diperlukan 23 = 8 test case Contoh: Test case: A = .t. , B = .t. , C = .t. A = .t. , B = .t. , C = .f. A = .t. , B = .f. , C = .t. A = .t. , B = .f. , C = .f. A = .f. , B = .t. , C = .t. A = .f. , B = .t. , C = .f. A = .f. , B = .f. , C = .t. A = .f. , B = .f. , C = .f. if (A & B ) | C then D else E endif
Latihan Perhatikan listing program berikut : Dim hasil as int, H_true as int ; Dim A as int, B as int, C as int ; Hasil = (A&B)|C 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”….? A = val(text1.text) B = val(text2.text) C = val(text3.text)
Latihan... Data input : A = 1 B C Catatan : Nilai true = 1 Catatan : Nilai true = 1 Nilai false = 0
Latihan... Pembahasan : 1 & = | ---> 5 x jalur ---> 3 x jalur AND Hasil "AND" OR Hasil "AND" dan "OR" 1 & = | Nilai 1 = 5 ---> 5 x jalur Nilai 0 = 3 ---> 3 x jalur
End Session www.suryagsc.wordpress.com