Pengujian Perangkat Lunak
Metode Pengujian Ada 2 metode untuk melakukan Pengujian perangkat Lunak, yaitu: Metode “White-box” Metode “Black-box”
1. Metode Pengujian A. White-box. Pengujian yang dilakukan terhadap prosedur -prosedur yang ada pada program, lintasan logika yang dilalui oleh setiap bagian prosedur yang di uji dgn memberikan pengulangan. B. Black-box Pengujian yg dilakukan untuk antarmuka program, pengujian ini untuk memperlihatkan bahwa fungsi-fungsi nekerja dgn baik, dalam arti masukan yg diterima dgn benar dan keluaran yg dihasilkan benar-benar tepat, integrasi dari eksternal data berjalan dgn baik.
White-box : untuk pengujia sebuah modul Kesimpulannya: White-box : untuk pengujia sebuah modul Black-box : untuk pengujian hubungan antar modul dalam sebuah sistem.
2. Pengujian White-box Menjamin testing terhadap semua lintasan yg tidak bergantungan minimal satu kali. Mencoba semua keputusan logika dari sisi “True” dan “False” Eksekusi semua pengulangan dalam batasan kondisi dan batasan operasionalnya.
3. Pengujian Basis-Path Adalah bagian dari White-box dalam hal pengujian prosedur-prosedur. Mempergunakan notasi aliran graph (node, link utk merepresentasikan if, while, until dan case) Konsep kompleksitas siklus.
Aliran graphs Menggambarkan alur kontrol. Setiap cabang ditunjukkan oleh path yg terpisah dan loop ditunjukkan oleh arrows looping kembali ke loop kondisi node. Digunakan sebagai basis untuk menghitung cyclomatic complexity Cyclomatic complexity = Jumlah edges – Jumlah Node +2 Cyclomatic complexity menyatakan jumlah test untuk menguji control statements
3.1 Notasi diagram alir . Sequence IF While Until Case
1 edge 2,3 1 6 2 simpul R2 4,5 Region R3 7 8 3 R1 6 9 4 10 5 R4 7 8 10 11 11 9 Aliran Grafik Bagan alir
1 1: do while file belum habis Baca record 2: If unit-terima = o 3: Then Sisa = awal 4: else if jual > 0 5: Then akhir = sisa – jual 6: else Akhir = sisa 7a: end if end if 7b: end do 8 end 2 4 R2 3 R3 6 5 R1 7a 7b R4 8
3.2. Kompleksitas siklomata Adalah metriks yang memberikan pengukuran kuantitatif terhadap kompleksitas logika sebu ah program. Nilai yang terhitung menentukan jumlah jalur independent dalam suatu program, untuk mem berikan gambaran berapa kali program harus ditesting.
1 edge 2,3 6 simpul R2 4,5 Region R3 7 8 R1 Jalur 1: 1-11 Jalur 2: 1-2-3-4-5-10-1-11 Jalur 3: 1-2-3-6-8-9-10-1-11 Jalur 4: 1-2-3-6-7-9-10-1-11 9 10 R4 11 Aliran Grafik
Banyaknya jalur yang dicari Ambil salah satu dari 3 point berikut: 1.V(G) = Jumlah region grafik alir sesuai dengan kompleksitas siklomatis. 2. V(G) = E – N + 2 3. V(G) = P + 1 Dimana: V(G) = banyak jalur E = Jumlah Edge N = Jumlah simpul P = Simpul tambahan
3.3 Test Case (Test kasus) Prosedur mencari nilai rata-rata PROC Rata-2; Type Nilai[1:100] is array Type rata2,tot-input, tot-valid,min,max,sum is integer Type i is integer i = 1; tot-input = tot-valid = 0; jum = 0 DO WHILE Nilai[i] < > -999 and tot-input < 100 tot-input = tot-input + 1 IF Nilai[i] >= min AND Nilai[i] < max THEN tot-valid = tot-valid + 1 jum = jum + nilai[i] ELSE skip ENDIF i = i + 1 ENDDO IF tot-valid > 0 THEN rata2 = jum / tot-valid; ELSE rata2 = -999 END IF END Rata2 1,2,3 4 5 6 8 10 12 11 7 13 9 14
. 1 2 3 4 12 5 13 14 6 7 8 10 9 11
. 1,2,3 4 12 5 13 14 6 15 7 8 9 10 11
3.4 Matriks Grafik . 1 2 3 4 5 1 2 3 4 5 a d b c f g e 1 a 3 e b f 5 4 1 2 3 4 5 1 2 3 4 5 a d b c f g e a 3 e b f 5 4 d c g 2
Kompleksitas siklomatik Matriks Koneksi 1 2 3 4 5 1 2 3 4 5 a d b c f g e Koneksi Ada hubungan 1 - 1 = 0 Tdk ada hubungan 2 - 1 = 1 2 – 1 = 1 2 – 1 = 1 3 + 1 = 4 Kompleksitas siklomatik
4.Testing Struktur kontrol Konsep pengujian: Pelengkap dari Basis-path Melakukan proses pengujian kondisi Sehingga dapat ditemukan kesalahan kondisi seperti: - kesalahan operator boolean. - Kesalahan variabel boolean. - Kesalahan operator relasional. Melakukan pengujian aliran data Melakukan pengujian loop
4.1 Testing kondisi Tujuannya: mendeteksi tidak hanya kesalahan didalam kondisi program, tetapi juga kesalahan lain pada program. Jika testing ditentukan untuk program P efektif untuk mendeteksi kesalahan pada kondisi yang ada pada prorgam P, maka kemungkinan besar Testing itu juga efektif untuk mendeteksi kesa lahan lain pada program P.
Testing kondisi Adalah metode desain test yang menggunakan kondisi logika yang ada pada suatu program. Kondisi sederhana. E1(operator-rlasional)E2 Kondisi gabungan E1(operator-relational)E2 OR E1(operator-relational)E3
a. Kondisi sederhana IF A = 0 THEN …… IF A = 1 THEN ……. IF A = B THEN …… IF A < B THEN …… IF A > B TEHN …… IF A <= B THEN …… IF A >= B THEN …… IF A <> B THEN ……
b. Kondisi gabungan IF (A > B AND A > C) THEN …… IF (A> B OR A > C) THEN …… IF (A> B OR A < C) THEN …… IF (A > B OR A <= C) THEN……
Tipe-tipe komponen pd suatu kondisi IF (A > B OR A <= C) THEN…… A,B,C : Persamaan arithmatika =, <, >, <=, >= : Operator-relasional AND, OR, N.Eq : Operator-Boolean ( ) : Kondisi sederhana Kondisi tanpa persamaan relasional disebut persamaan Boolean
Kesalahan pada suatu kondisi Kesalahan operator Boolean Kesalahan variabel Boolean Kesalahan tanda kurung Boolean Kesalahan operator relasional Kesalahan persamaan aritmatika
Strategi pengujian kondisi Pengujian kondisi sederhana pada pengujian cabang A = 1 B = 1 C = 0 IF A AND B THEN C = A + B ELSE C = A – B END IF Berapa kali pengujian ? A=1; B=1 C=0 T F A F T B C = A - B C = A + B
Pengujian domain INPUT A, B Skenario IF A > B Print “ A Lebih besar” ELSE IF A < B Print “ B Lebih besar” Print “ A dan B sama besar” END IF Bila hasil tidak sesuai berarti operator relasional SALAH A = 3 B = 2 A = 2 B = 3 Berapa kali Pengujian?
Untuk persamaan boolean dengan n variabel Berapa kali pengujian dilakukan adalah 2n Strategi ini dapat mendeteksi operator, variabel dan tanda kurung Variabel = 2 (A & B ) Pengujian = 2n 4 jumlah Region = 4 IF (A AND B) THEN X ELSE Y X T B T F Y A T Y F B F Y
4.2 Testing aliran data Pengujian dilakukan dari jalur terpendek. Proc X B1; B2; do While C1 ----- if C2 Then ----- If C4 Then B4; ----- Else B5; B3; end if ------ Else ------ if C3 Then B2; B4; Else B3; ----- end if; B5; end if; ------ end do; ------ B6; B6; Endproc; ------
Testing Aliran data A = 5 B = 2 Pegujian dengan mengikuti peng- C = 3 FOR J = 1 TO C IF B <> 0 THEN A = A + B B = B -1 ELSE A = A - C NEXT J PRINT A Pegujian dengan mengikuti peng- gunaan variabel pada program Mengurut aliran variabel A, hasil dari pengujian nilai variabel tidak akan berubah
4.3 Testing Loop Empat kelas loop yang berbeda Loop tidak Terstruktur Sederhana Loop Bersarang Loop Terangkai
Loop Sederhana . A = 3 B = 5 DO A = A + 1 B = B -1 LOOP WHILE B <> 0 PRINt A
Loop Bersarang C = 5 DO . A = 3 B = 5 A = A + 1 B = B -1 LOOP WHILE B <> 0 PRINT A C = C -1 LOOP WHILE C <> 0 .
Loop Terangkai A = 3; B = 5 DO . A = A + 1 B = B -1 LOOP WHILE B <> 0 C = 3; D = 5 C = C + 1 D = D -1 LOOP WHILE D <> 0 .
Loop Tidak terstruktur . .
Pengujian Black-box Pendekatan pengujian dimana program dianggap sebagai suatu ‘black-box’ (‘kotak hitam’) Program test case berbasiskan spesifikasi Test planning dapat dimulai sejak awal proses pengembangan perangkat lunak
Black-box Berusaha menemukan Fungsi2 yg tidk benar atau hilang Kesalahan interface Kesalahan dlm struktur data atau akses database external Kesalahan kinerja Inisialisasi
Pengujian black-box dirancang untuk menjawab pertanyaan2 sbb: Bagaimana validitas fungsional diuji ? Kelas input apa yg akan membuat test-case menjadi baik? Apakah sistem sangat sensitif terhadap input tertentu Bagaimana batasan dari suatu data diisolasi? Kecepatan data apa & volume data apa yg dpt ditolerir oleh sistem? Apa pengaruh kombinasi tertentu dari data terhadap operasi sistem?
Black-box testing