• Tidak ada hasil yang ditemukan

GT 07 White Box Black Box Testing

N/A
N/A
Protected

Academic year: 2021

Membagikan "GT 07 White Box Black Box Testing"

Copied!
25
0
0

Teks penuh

(1)

REKAYASA PERANGKAT

LUNAK (RPL)

(2)

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

(3)

Agenda Pembahasan

Pengertian dan Urgensi

Prinsip-prinsip

Karakteristik dan Teknik

White Box Testing

Black Box Testing

(4)

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

(5)

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)

(6)

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)

(7)

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

(8)

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

(9)

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)

sequence if while until case

(10)

Basis Path Testing : Flow Graph

Transformasi dari

flow chart

ke

flow graph

:

1 2 3 4 5 6 7 8 9 10 11 1 2,3 6 8 7 9 10 11 4,5 R1 R2 R3 R4 predicate node

(11)

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)

(12)

Basis Path Testing : Cyclomatic Complexity

Contoh :

1 2,3 6 8 7 9 10 11 4,5 R1 R2 R3 R4 Jalur independen : – 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

Bukan Jalur independen :

(13)

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

(14)

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; i = 1;

total.input = total.valid = sum = 0;

DO WHILE value[i] <> -999 AND total.input < 100 increment total.input by 1;

IF value[i] >= minimum AND value[i] <= maximum THEN increment total.valid by 1;

sum = sum + value[i]; ELSE skip;

ENDIF

increment i by 1; ENDDO

IF total.valid > 0

THEN average = sum / total.valid; ELSE average = -999; ENDIF END average 2 3 1 4 6 5 7 8 9 10 11 12 13

(15)

Basis Path Testing :

Contoh

Prosedur

average

:

flow graph

1 2 3 4 5 6 9 7 8 12 11 10 13 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 : 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-…

(16)

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

(17)

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)

(18)

Condition Testing

Kondisi Sederhana (

Simple Condition

)

– Terdiri dari sebuah ekspresi relasi atau sebuah ekspresi boolean – Ekspresi relasi : E1 <operator relasi> 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

(19)

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

(20)

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

(21)

Condition Testing

Strategi Pengujian

– Pengujian Domain (domain testing)

Pengujian dilakukan untuk setiap kemungkinan nilai dari ekspresi kondisi

Untuk ekspresi relasi : E1 <operator relasi> 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

(22)

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

(23)

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

(24)

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

(25)

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)

Referensi

Dokumen terkait

Prema Pedrosa i Costa (2012), CAATTs se mogu definirati kao „bilo koja uporaba tehnologije s ciljem asistencije u realizaciji procesa revizije.“ Navedena definicija

Penggantian lambung kapal atau menambah armada kapal ini penulis memo- kuskan analisa dengan menyamakan displa- smen kapal ro-ro double ended yang sudah ada, pada model

26 Dan kepada imam Abyatar raja berkata: &#34;Pergilah ke Anatot, ke tanah milikmu, sebab engkau patut dihukum mati, tetapi pada hari ini aku tidak akan membunuh engkau, oleh

Hasil pengukuran terhadap Risk agent (RQ) pencemar udara akibat kendaraan bermotor di jalan utama Kota Surabaya dengan alat yang digunakan dalam pengambilan

- Ditimbang dengan tepat 0,4 gram sampel kemudian dimasukkan dalam erlenmeyer dan ditambahkan dengan 15 ml campuran larutan sikloheksana dan asam asetat (perbandingan 1:1) serta

Selanjutnya setelah mendapatkan persetujuan dari Pemimpin Proyek ( leader) dan Manajer Proyek, maka form klaim voucher diberikan kepada Admin Operasional untuk dilakukan

Dimulai dari kelas B2, dengan cara penataan fasilitas kelas seperti tempat duduk yang jarang diubah, penataan media dan alat permainan di setiap area sering tidak ditata