Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 1 / 33 Agenda Pembahasan Pengertian dan Urgensi Prinsip-prinsip Karakteristik dan Teknik White Box.

Presentasi serupa


Presentasi berjudul: "Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 1 / 33 Agenda Pembahasan Pengertian dan Urgensi Prinsip-prinsip Karakteristik dan Teknik White Box."— Transcript presentasi:

1 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 1 / 33 Agenda Pembahasan Pengertian dan Urgensi Prinsip-prinsip Karakteristik dan Teknik White Box Testing Black Box Testing Strategi Pengujian

2 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 2 / 33 Pengertian, Urgensi Suatu proses eksekusi program yang ditujukan untuk menemukan kesalahan (Glen Myers) Sebuah elemen penting dari penjaminan kualitas perangkat lunak dan merepresentasikan review akhir dari spesifikasi, perancangan dan implementasi (Roger S. Pressman) Urgensi : PL harus sedapat mungkin terbebas dari segala kesalahan pada saat dieksekusi oleh pengguna, sehingga PL harus diuji terlebih dahulu untuk menemukan sebanyak mungkin kesalahan sebelum digunakan oleh pengguna

3 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 3 / 33 Prinsip-prinsip Menurut Davis : –Semua pengujian harus bisa ditelusuri ke kebutuhan- kebutuhan kustomer –Pengujian seharusnya direncanakan jauh sebelum pengujian dimulai –Pengujian seharusnya dimulai dari yang kecil menuju ke besar –Tidak mungkin untuk menguji seluruh kemungkinan jalur kesalahan –Untuk lebih efektif, pengujian dilakukan oleh pihak ketiga (bukan s/w engineer maupun programmer)

4 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 4 / 33 Karakteristik, Teknik Karakteristik menurut Kaner, Falk dan Nguyen : –Pengujian yang baik adalah yang memiliki kemungkinan yang tinggi untuk menemukan kesalahan –Pengujian yang baik adalah tidak duplikasi (redundant) –Pengujian yang baik adalah bisa mewakili beberapa pengujian yang memiliki kemiripan (tujuan, waktu dan sarana) –Pengujian yang baik adalah yang tidak terlalu sederhana dan tidak terlalu kompleks Teknik : –Pengujian kotak putih (white box testing) –Pengujian kotak hitam (black box testing)

5 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 5 / 33 White Box Testing Disebut juga dengan pengujian struktur (structural testing) Teknik pengujian yang menggunakan struktur kontrol dari prosedur yang terdapat dalam perancangan untuk membuat kasus uji Aspek-aspek pengujian : –memastikan bahwa semua jalur algoritma telah diuji minimal sekali –menguji seluruh keputusan lojik (true atau false) –mengeksekusi seluruh loop dalam batasan yang ditentukan –memvalidasi struktur data internal

6 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 6 / 33 White Box Testing Jenis : –Pengujian Jalur Dasar (Basis Path Testing) –Pengujian Struktur Kontrol (Control Structure Testing) Pengujian Jalur Dasar (Basis Path Testing) –Pengujian kotak putih yang dibuat berdasarkan ukuran tingkat kompleksitas dari algoritma hasil perancangan –Langkah-langkah : Mendefinisikan flow graph berdasarkan mapping dari flow chart atau struktur dari algoritma Menentukan ukuran kompleksitas (cyclomatic complexity) Mendefinisikan kasus uji

7 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 7 / 33 Basis Path Testing : Flow Graph Notasi sederhana yang merepresentasikan aliran kontrol Notasi yang digunakan : –proses dan keputusan yg berurutan dimapping menjadi 1 node –setiap edge harus berakhir pada sebuah node (walaupun tdk merepresentasikan proses apapun) –region : daerah yang dibatasi oleh edge dan node –predicate node : node yg merupakan kondisi (2 atau lebih edge akan keluar dari sini) sequenceifwhileuntilcase - node (N) - edge/link (E)

8 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 8 / 33 Basis Path Testing : Flow Graph Transformasi dari flow chart ke flow graph : , ,5 R1 R2 R3 R4 predicate node

9 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 9 / 33 Basis Path Testing : Cyclomatic Complexity Definisi : angka yang menyatakan jumlah jalur independen/jalur dasar dari sebuah program (representasi dari kompleksitas program) Menunjukkan jumlah pengujian (kasus uji) yang harus dieksekusi Jalur independen (independent path) : setiap jalur dalam program yang memiliki setidaknya satu set pernyataan (processing statement) atau satu kondisi yang baru sama sekali (blm digunakan oleh jalur sebelumnya)

10 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 10 / 33 Basis Path Testing : Cyclomatic Complexity Contoh : 1 2, ,5 R1 R2 R3 R4 Jalur independen : –jalur 1 : 1-11 –jalur 2 : –jalur 3 : –jalur 4 : Bukan Jalur independen : –

11 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 11 / 33 Basis Path Testing : Cyclomatic Complexity Perhitungan matematis cyclomatic complexity – V(G) : –V(G) = jumlah region –V(G) = E – N + 2 –V(G) = P + 1, dimana P – predicate node Contoh perhitungan : –V(G) = 4, ada 4 region R1, R2, R3, R4 –V(G) = 11 edges – 9 nodes + 2 = 4 –V(G) = 3 predicate node + 1 = 4

12 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 12 / 33 Basis Path Testing : Contoh Contoh : prosedur average PROCEDURE average; INTERFACE RETURNS average, total.input, total.valid; INTERFACE ACCEPTS value, minimum, maximum; TYPEvalue[1:100] IS SCALAR ARRAY; TYPEaverage, total.input, total.valid, minimum, maximum, sum IS SCALAR; TYPE i IS INTEGER; i = 1; total.input = total.valid = sum = 0; DO WHILE value[i] <> -999 AND total.input -999 AND total.input < 100 increment total.input by 1; IF value[i] >= minimum AND value[i] = minimum AND value[i] <= maximum THENincrement total.valid by 1; sum = sum + value[i]; ELSEskip; ENDIF increment i by 1; ENDDO IF total.valid > 0 THEN average = sum / total.valid; ELSE average = -999; ENDIF END average

13 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 13 / 33 Basis Path Testing : Contoh Prosedur average : flow graph R1 R2 R3 R4 R5 R6 P P Cyclomatic complexity : –V(G) = 6 regions –V(G) = 17E – 13N + 2 = 6 –V(G) = 5P + 1 = 6 Jalur independen : –jalur 1 : –jalur 2 : –jalur 3 : –jalur 4 : … –jalur 5 : … –jalur 6 : …

14 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 14 / 33 Basis Path Testing : Contoh Prosedur average : test case Jalur 1:value(k) = valid input, dimana k < i untuk 2 < i < 100 value(i) = -999, dimana 2 < i < 100 exp.res. = nilai rata2 valid sesuai dg nilai k dan totalnya Note : jalur 1 tdk bisa diuji sendiri, bag. dr. jalur 4,5,6 Jalur 2:value(i) = -999 exp.res. = nilai rata2 adl. -999, nilai total pd nilai awal Jalur 3:mulai dari proses 101 atau lebih hasil dari 100 pertama harus valid exp.res. = idem jalur 1 Jalur 4:value(i) = valid input, dimana i < 100 value(k) < minimum, dimana k < i exp.res. = nilai rata2 valid sesuai dg nilai k dan totalnya Jalur 5:value(i) = valid input, dimana i < 100 value(k) > maximum, dimana k maximum, dimana k < i exp.res. = nilai rata2 valid sesuai dg nilai n dan totalnya Jalur 6:value(i) = valid input, dimana i < 100 exp.res. = nilai rata2 valid sesuai dg nilai n dan totalnya

15 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 15 / 33 Control Structure Testing Pengujian struktur kontrol, sebagai pelengkap bagi pengujian jalur dasar (basis path testing) Jenis : –Pengujian Kondisi (Condition Testing) –Pengujian Loop (Loop Testing) Pengujian Kondisi (Condition Testing) –Pengujian kotak putih yang dibuat untuk menguji kondisi lojik dalam sebuah program –Jenis-jenis kondisi : Kondisi Sederhana (simple condition) Kondisi Majemuk (compound condition)

16 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 16 / 33 Condition Testing Kondisi Sederhana (Simple Condition) –Terdiri dari sebuah ekspresi relasi atau sebuah ekspresi boolean –Ekspresi relasi : E1 E2 dimana,E1 dan E2 adl. ekspresi aritmatika operator relasi : =, > Contoh : IF skor < 45 THEN nilai = ‘E’ nilai = ‘E’ END IF –Ekspresi boolean : berisi variabel boolean, tanpa eksp. relasi Contoh : selesai: boolean IF selesai THEN //lakukan sesuatu //lakukan sesuatu END IF

17 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 17 / 33 Condition Testing Kondisi Majemuk (Compound Condition) –Terdiri dari dua atau lebih kondisi sederhana, operator boolean, dan tanda kurung –Operator boolean : OR (|), AND (&), NOT (!) Contoh : skor, absen: float nilai: string nilai: string IF (skor > 45 AND skor 45 AND skor < 55) OR absen < 0.8 THEN absen < 0.8 THEN nilai = ‘D’ nilai = ‘D’ ELSE ELSE //lakukan sesuatu //lakukan sesuatu END IF END IF

18 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 18 / 33 Condition Testing Strategi Pengujian –Pengujian Cabang (branch testing) Pengujian dilakukan untuk setiap cabang true atau false dari kondisi, minimal sekali dilakukan untuk setiap cabang Contoh : IF skor < 45 THEN nilai = ‘E’ nilai = ‘E’ END IF END IF Kasus uji: - TRUE, skor < 45 - FALSE, skor >= 45 - FALSE, skor >= 45

19 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 19 / 33 Condition Testing Strategi Pengujian –Pengujian Domain (domain testing) Pengujian dilakukan untuk setiap kemungkinan nilai dari ekspresi kondisi Untuk ekspresi relasi : E1 E2, perlu 3 kasus uji yaitu E1 > E2, E1 = E2 dan E1 E2, perlu 3 kasus uji yaitu E1 > E2, E1 = E2 dan E1 < E2 Contoh : IF skor < 45 THEN nilai = ‘E’ nilai = ‘E’ END IF END IF Kasus uji: 1. E1 > E2 : skor bernilai lebih dari E1 = E2 : skor bernilai E1 = E2 : skor bernilai E1 < E2 : skor bernilai kurang dari E1 < E2 : skor bernilai kurang dari 45

20 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 20 / 33 Condition Testing Strategi Pengujian –Pengujian Domain (domain testing) - lanjutan Untuk ekspresi boolean : dengan n variabel maka perlu 2 n kasus uji Contoh : IF selesai THEN //lakukan sesuatu //lakukan sesuatu END IF END IF Kasus uji: 1. selesai=TRUE2. selesai=FALSE

21 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 21 / 33 Loop Testing Pengujian kotak putih yang dilakukan untuk menguji validitas dari struktur loop Jenis-jenis loop : Simple loop : dg. maks. n kali –Kasus uji tidak melewati loop sama sekali –Kasus uji m kali melewati loop, dimana m < n –Kasus uji n-1, n, n+1 melewati loop simple loop nested loop

22 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 22 / 33 Loop Testing Nested loop : loop bersarang/loop di dalam loop, jumlah kasus uji semakin besar –Pengujian dimulai dari loop paling dalam. Set iterator loop yang lain dengan nilai minimum –Lakukan pengujian simple loop untuk loop paling dalam, sementara loop luarnya diset pada iterator yang minimum –Contoh : i, j: integer DO WHILE i < 100 j = 0 j = 0 DO WHILE j < 10 DO WHILE j < 10 Tampilkan nilai j ke layar Tampilkan nilai j ke layar Naikkan nilai j dengan 1 Naikkan nilai j dengan 1 ENDDO ENDDO Naikkan nilai i dengan 1 Naikkan nilai i dengan 1ENDDO

23 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 23 / 33 Black Box Testing Disebut juga dengan pengujian perilaku (behavioral testing) atau pengujian fungsi (functional testing) Fokus pada kebutuhan fungsi (functional requirement) dari PL Sebagai pelengkap bagi white box testing (bukan sebagai alternatif) Jenis-jenis : –Pengujian klas ekivalen (equivalence class testing) –Pengujian batas (limit testing) –Pengujian acak (robustness testing) –Pengujian kebutuhan (requirements testing)

24 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 24 / 33 Equivalence Class Testing Dikenal juga sbg. Pengujian Partisi Ekivalen (equivalence partitioning testing) Pengujian kotak hitam yg. membagi domain masukan sebuah program menjadi klas-klas data dimana kasus uji nantinya akan diturunkan Satu kasus uji mengkover satu klas kesalahan Kumpulan data dari setiap klas data memiliki pengaruh yang sama terhadap program Mengurangi jumlah kasus uji : efisiensi Sebuah klas ekivalen merepresentasikan sebuah kondisi masukan yg mewakili keadaan valid atau tidak valid

25 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 25 / 33 Equivalence Class Testing Pedoman umum penentuan klas ekivalen : –Kondisi masukan adalah sebuah rentang : 1 klas ekivalen valid dan 2 klas ekivalen tidak valid Contoh : Sebuah counter hanya menghitung 1 – 999 (req.) - Kasus uji valid : nilai [1..999] - Kasus uji tdk valid : counter 999 –Kondisi masukan adalah sebuah nilai tertentu : 1 klas ekivalen valid dan 2 klas ekivalen tidak valid Contoh : Sebuah list nama terdiri (req.) - Kasus uji valid : list terdiri [1..6] nama - Kasus uji tdk valid :- tdk ada nama sama sekali - list terdiri > 6 nama

26 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 26 / 33 Equivalence Class Testing Pedoman umum penentuan klas ekivalen (lanjutan) : –Kondisi masukan adl. sebuah anggota dari suatu kumpulan : 1 klas ekivalen valid per anggota dan 1 klas ekivalen tidak valid Contoh : Merk mobil yg diperbolehkan adl. Toyota, Honda, Daihatsu dan Suzuki (req.) - Kasus uji valid : Toyota, Honda, Daihatsu, Suzuki - Kasus uji tdk valid : Hyundai atau KIA atau Audi

27 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 27 / 33 Equivalence Class Testing Contoh kasus : Req.:- masukan dari program adl. integer [-100,100] - keluarannya adl. tanda ‘+’/’-’ sesuai nilai masukan (0 dianggap positif) Klas ekivalen valid : - nilai [-100,-1] akan menghasilkan ‘-’ - nilai [0,100] akan menghasilkan ‘+’ Klas ekivalen tidak valid : - integer < integer > 100

28 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 28 / 33 Limit Testing Dikenal juga sbg. Pengujian Analisis Nilai Batas (boundary value analysis testing - BVA) Pengujian kotak hitam yg. menguji nilai-nilai yang terdapat di perbatasan (limit) Pedoman umum - jika suatu kondisi masukan adalah sebuah rentang antara a dan b maka kasus ujinya (2 kasus valid dan 2 kasus tidak valid): - nilai a, b - nilai > b (mendekati b), nilai b (mendekati b), nilai < a (mendekati a) Contoh : Jika masukan data valid adl. [-1,0;1,0] Kasus uji valid : nilai -1,0 dan 1,0 Kasus uji tdk. valid : nilai -1,001 dan 1,001

29 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 29 / 33 Robustness Testing Pengujian kotak hitam dengan memasukkan nilai-nilai yang diluar dari kebutuhan yang ditentukan (requirement) Tujuan : untuk membuktikan bahwa tidak ada even yang kacau (catasthropic : hang, shutdown, dll.) pada P/L dengan dimasukkannya nilai-nilai yang tidak normal Contoh : Jika masukan sebuah password valid adl. 5 karakter [a..z;A..Z] Kasus uji :masukkan sembarang karakter dan sembarang jumlah karakter, misal : z##12 atau iu831280j Ex. result:P/L tidak boleh mengalami hang

30 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 30 / 33 Requirements Testing Pengujian kotak hitam yang dilakukan untuk menguji apakah kebutuhan (requirement : functional, performance, security, dll.) yang ditentukan selama proses analisis kebutuhan terpenuhi atau tidak Setiap kebutuhan harus bisa dilacak ke kasus uji dengan menggunakan traceability matrix Traceability matrix : No.Requirements Test Name Test Case Remark 1.SRS_REQ_XXX1Measure_Data_T1Get_Marked_T SRS_REQ_XXX2Measure_Data_T1Get_Traced_T

31 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 31 / 33 Strategi Aktifitas untuk mengintegrasikan kasus2 uji dari beberapa teknik yang ada ke dalam sebuah rangkaian langkah-langkah pengujian yang terencana Urgensi : untuk efisiensi dan efektifitas Tahapan : –Pengujian Unit (unit testing) –Pengujian Integrasi (integration testing) –Pengujian Validasi (validation testing) –Pengujian Sistem (system testing)


Download ppt "Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT 1 / 33 Agenda Pembahasan Pengertian dan Urgensi Prinsip-prinsip Karakteristik dan Teknik White Box."

Presentasi serupa


Iklan oleh Google