GT 07 White Box Black Box Testing

March 8, 2018 | Author: yerryanggoro24 | Category: N/A
Share Embed Donate


Short Description

pengujian game...

Description

REKAYASA PERANGKAT LUNAK (RPL) Pengujian PL

Pendahuluan Relevansi Perkuliahan – Untuk mengetahui unjuk kerja dari sebuah kendaraan maka kendaraan tsb. diuji terlebih dahulu sebelum dilempar ke pasaran – PL sebagai sebuah sistem yang relatif kompleks maka perlu dilakukan pengujian-pengujian sebelum diserahkan kepada kustomer

Tujuan Instruksional Khusus Mahasiswa akan dapat menjabarkan pengertian pengujian PL dan metode-metode yang digunakan

Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT

2

Agenda Pembahasan Pengertian dan Urgensi Prinsip-prinsip Karakteristik dan Teknik White Box Testing Black Box Testing

Strategi Pengujian

Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT

3

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 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT

4

Prinsip-prinsip Menurut Davis : – Semua pengujian harus bisa ditelusuri ke kebutuhankebutuhan 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) Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT

5

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) Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT

6

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 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT

7

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 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT

8

Basis Path Testing : Flow Graph Notasi sederhana yang merepresentasikan aliran kontrol Notasi yang digunakan :

sequence - node (N)

if

while

until

case

- edge/link (E)

– 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) Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT

9

Basis Path Testing : Flow Graph Transformasi dari flow chart ke flow graph : 1

predicate node

1

2,3 2 6

R2

3

4,5 R1

6 7

4 5

8 9

7

R3

8

9 10

R4

10 11 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT

11

10

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) Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT

11

Basis Path Testing : Cyclomatic Complexity Contoh : Jalur independen :

1

2,3

6

R2

4,5

– – – –

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

R1 7

R3

8

Bukan Jalur independen : – 1-2-3-4-5-10-1-2-3-6-8-9-10-1-11

9 10

R4

11

Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT

12

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 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT

13

Basis Path Testing : Contoh Contoh : prosedur average PROCEDURE average; INTERFACE RETURNS average, total.input, total.valid; INTERFACE ACCEPTS value, minimum, maximum; TYPE value[1:100] IS SCALAR ARRAY; TYPE average, total.input, total.valid, minimum, maximum, sum IS SCALAR; TYPE i IS INTEGER; 3 2 i = 1; 1 total.input = total.valid = sum = 0; 6 DO WHILE value[i] -999 AND total.input < 100 4 increment total.input by 1; IF value[i] >= minimum AND value[i] 0 10 THEN average = sum / total.valid; 11 12 ELSE average = -999; 13 ENDIF END average

Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT

14

Basis Path Testing : Contoh Prosedur average : flow graph Cyclomatic complexity :

1

– V(G) = 6 regions – V(G) = 17E – 13N + 2 = 6 – V(G) = 5P + 1 = 6

P 2 R4

10 12

R5

13

3 11

Jalur independen :

4 R3

5

R6

P R1

6 R2

8

7

– – – – – –

jalur 1 : 1-2-10-11-13 jalur 2 : 1-2-10-12-13 jalur 3 : 1-2-3-10-11-13 jalur 4 : 1-2-3-4-5-8-9-2-… jalur 5 : 1-2-3-4-5-6-8-9-2-… jalur 6 : 1-2-3-4-5-6-7-8-9-2-…

9 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT

15

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 < 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

Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT

16

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) Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT

17

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’ END IF

– Ekspresi boolean : berisi variabel boolean, tanpa eksp. relasi Contoh : selesai: boolean IF selesai THEN //lakukan sesuatu END IF Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT

18

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 IF (skor > 45 AND skor < 55) OR absen < 0.8 THEN nilai = ‘D’ ELSE //lakukan sesuatu END IF Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT

19

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’ END IF Kasus uji: - TRUE, skor < 45 - FALSE, skor > 45

Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT

20

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 Contoh : IF skor < 45 THEN nilai = ‘E’ END IF Kasus uji:1. E1 > E2 : skor bernilai lebih dari 45 2. E1 = E2 : skor bernilai 45 3. E1 < E2 : skor bernilai kurang dari 45

Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT

21

Condition Testing Strategi Pengujian – Pengujian Domain (domain testing) - lanjutan Untuk ekspresi boolean : dengan n variabel maka perlu 2n kasus uji Contoh : IF selesai THEN //lakukan sesuatu END IF Kasus uji:1. selesai=TRUE 2. selesai=FALSE

Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT

22

Loop Testing Pengujian kotak putih yang dilakukan untuk menguji validitas dari struktur loop Jenis-jenis loop :

simple loop nested 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 Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT

23

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 DO WHILE j < 10 Tampilkan nilai j ke layar Naikkan nilai j dengan 1 ENDDO Naikkan nilai i dengan 1 ENDDO Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT

24

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)

Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT

25

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF