• Tidak ada hasil yang ditemukan

Agenda Pembahasan Agenda Pembahasan

N/A
N/A
Protected

Academic year: 2022

Membagikan "Agenda Pembahasan Agenda Pembahasan"

Copied!
31
0
0

Teks penuh

(1)

Agenda Pembahasan Agenda Pembahasan

Pengertian dan Urgensi Pengertian dan Urgensi

Prinsip-prinsip Prinsip-prinsip

Karakteristik dan Teknik Karakteristik dan Teknik

White Box Testing

White Box Testing

Black Box Testing

Black Box Testing

Strategi Pengujian

Strategi Pengujian

(2)

Pengertian, Urgensi Pengertian, Urgensi

Suatu proses eksekusi program yang ditujukan Suatu proses eksekusi program yang ditujukan

untuk menemukan kesalahan (

untuk menemukan kesalahan ( Glen Myers Glen Myers ) )

Sebuah elemen penting dari penjaminan kualitas Sebuah elemen penting dari penjaminan kualitas

perangkat lunak dan merepresentasikan review perangkat lunak dan merepresentasikan review

akhir dari spesifikasi, perancangan dan akhir dari spesifikasi, perancangan dan

implementasi (

implementasi ( Roger S. Pressman Roger S. Pressman ) ) Urgensi

Urgensi : PL harus sedapat mungkin terbebas : PL harus sedapat mungkin terbebas dari segala kesalahan pada saat dieksekusi oleh dari segala kesalahan pada saat dieksekusi oleh

pengguna, sehingga PL harus diuji terlebih dahulu pengguna, sehingga PL harus diuji terlebih dahulu

untuk menemukan sebanyak mungkin kesalahan untuk menemukan sebanyak mungkin kesalahan

sebelum digunakan oleh pengguna

sebelum digunakan oleh pengguna

(3)

Prinsip-prinsip Prinsip-prinsip

Menurut Davis : Menurut Davis :

– Semua pengujian harus bisa ditelusuri ke kebutuhan- Semua pengujian harus bisa ditelusuri ke kebutuhan- kebutuhan kustomer

kebutuhan kustomer

– Pengujian seharusnya direncanakan jauh sebelum Pengujian seharusnya direncanakan jauh sebelum pengujian dimulai

pengujian dimulai

– Pengujian seharusnya dimulai dari yang kecil menuju Pengujian seharusnya dimulai dari yang kecil menuju ke besar

ke besar

– Tidak mungkin untuk menguji seluruh kemungkinan Tidak mungkin untuk menguji seluruh kemungkinan jalur kesalahan

jalur kesalahan

– Untuk lebih efektif, pengujian dilakukan oleh pihak Untuk lebih efektif, pengujian dilakukan oleh pihak ketiga (bukan

ketiga (bukan s/w engineer s/w engineer maupun maupun programmer programmer ) )

(4)

Karakteristik, Teknik Karakteristik, Teknik

Karakteristik menurut Kaner, Falk dan Nguyen : Karakteristik menurut Kaner, Falk dan Nguyen :

– Pengujian yang baik adalah yang memiliki kemungkinan Pengujian yang baik adalah yang memiliki kemungkinan yang tinggi untuk menemukan kesalahan

yang tinggi untuk menemukan kesalahan

– Pengujian yang baik adalah tidak duplikasi ( Pengujian yang baik adalah tidak duplikasi ( redundant redundant ) ) – Pengujian yang baik adalah bisa mewakili beberapa Pengujian yang baik adalah bisa mewakili beberapa

pengujian yang memiliki kemiripan (tujuan, waktu dan pengujian yang memiliki kemiripan (tujuan, waktu dan sarana)

sarana)

– Pengujian yang baik adalah yang tidak terlalu sederhana Pengujian yang baik adalah yang tidak terlalu sederhana dan tidak terlalu kompleks

dan tidak terlalu kompleks

Teknik : Teknik :

– Pengujian kotak putih ( Pengujian kotak putih ( white box testing white box testing ) )

– Pengujian kotak hitam ( Pengujian kotak hitam ( black box testing black box testing ) )

(5)

White Box Testing White Box Testing

Disebut juga dengan pengujian struktur (

Disebut juga dengan pengujian struktur ( structural structural testing

testing ) )

Teknik pengujian yang menggunakan struktur kontrol Teknik pengujian yang menggunakan struktur kontrol

dari prosedur yang terdapat dalam perancangan dari prosedur yang terdapat dalam perancangan

untuk membuat kasus uji untuk membuat kasus uji Aspek-aspek pengujian : Aspek-aspek pengujian :

– memastikan bahwa semua jalur algoritma telah diuji memastikan bahwa semua jalur algoritma telah diuji minimal sekali

minimal sekali

– menguji seluruh keputusan lojik ( menguji seluruh keputusan lojik ( true true atau atau false false ) ) – mengeksekusi seluruh loop dalam batasan yang mengeksekusi seluruh loop dalam batasan yang

ditentukan ditentukan

– memvalidasi struktur data internal memvalidasi struktur data internal

(6)

White Box Testing White Box Testing

Jenis : Jenis :

– Pengujian Jalur Dasar ( Pengujian Jalur Dasar ( Basis Path Testing Basis Path Testing ) )

– Pengujian Struktur Kontrol ( Pengujian Struktur Kontrol ( Control Structure Testing Control Structure Testing ) )

Pengujian Jalur Dasar (

Pengujian Jalur Dasar ( Basis Path Testing Basis Path Testing ) )

– Pengujian kotak putih yang dibuat berdasarkan Pengujian kotak putih yang dibuat berdasarkan ukuran tingkat kompleksitas dari algoritma hasil ukuran tingkat kompleksitas dari algoritma hasil

perancangan perancangan

– Langkah-langkah : Langkah-langkah :

Mendefinisikan

Mendefinisikan flow graph berdasarkan flow graph berdasarkan mapping mapping dari dari flow flow chart

chart atau struktur dari algoritma atau struktur dari algoritma Menentukan ukuran kompleksitas (

Menentukan ukuran kompleksitas ( cyclomatic complexity cyclomatic complexity ) ) Mendefinisikan kasus uji

Mendefinisikan kasus uji

(7)

Basis Path Testing : Flow Graph Basis Path Testing : Flow Graph

Notasi sederhana yang merepresentasikan aliran kontrol Notasi sederhana yang merepresentasikan aliran kontrol

Notasi yang digunakan : Notasi yang digunakan :

– proses dan keputusan yg berurutan dimapping menjadi 1 node proses dan keputusan yg berurutan dimapping menjadi 1 node – setiap setiap edge edge harus berakhir pada sebuah harus berakhir pada sebuah node node (walaupun tdk (walaupun tdk

merepresentasikan proses apapun) merepresentasikan proses apapun)

region : daerah yang dibatasi oleh region : daerah yang dibatasi oleh edge edge dan dan node node

predicate node predicate node : : node node yg merupakan kondisi (2 atau lebih yg merupakan kondisi (2 atau lebih edge edge akan keluar dari sini)

akan keluar dari sini)

sequence

sequence if if while while until until case case

- - node ( node ( N) N ) - - edge/link ( edge/link ( E E ) )

(8)

Basis Path Testing : Flow Graph Basis Path Testing : Flow Graph

Transformasi dari

Transformasi dari flow chart flow chart ke ke flow graph flow graph : :

11 22

33

44 55 66

77 88

99

1010 1111

11 2,32,3

66

88 77

99

1010 1111

4,54,5 R1R1 R2R2

R3R3

R4R4

predicate

predicate

node node

(9)

Basis Path Testing : Cyclomatic Complexity Basis Path Testing : Cyclomatic Complexity

Definisi

Definisi : angka yang menyatakan jumlah jalur : angka yang menyatakan jumlah jalur independen/jalur dasar dari sebuah program independen/jalur dasar dari sebuah program

(representasi dari kompleksitas program) (representasi dari kompleksitas program)

Menunjukkan jumlah pengujian (kasus uji) yang Menunjukkan jumlah pengujian (kasus uji) yang

harus dieksekusi harus dieksekusi

Jalur independen (

Jalur independen ( independent path independent path ) : setiap jalur ) : setiap jalur dalam program yang memiliki setidaknya satu set dalam program yang memiliki setidaknya satu set

pernyataan (

pernyataan ( processing statement processing statement ) atau satu ) atau satu kondisi yang baru sama sekali (blm digunakan kondisi yang baru sama sekali (blm digunakan

oleh jalur sebelumnya)

oleh jalur sebelumnya)

(10)

Basis Path Testing : Cyclomatic Complexity Basis Path Testing : Cyclomatic Complexity

Contoh : Contoh :

11 2,32,3

66

88 77

99

1010 1111

4,54,5 R1R1 R2R2

R3R3

R4R4

Jalur independen Jalur independen : :

– jalur 1 : 1-11 jalur 1 : 1-11

– jalur 2 : 1- jalur 2 : 1- 2 2 - - 3 3 - - 4 4 - - 5 5 - - 10 10 -1-11 -1-11 – jalur 3 : 1-2-3- jalur 3 : 1-2-3- 6- 6 -8 8- -9 9-10-1-11 -10-1-11 – jalur 4 : 1-2-3-6- jalur 4 : 1-2-3-6- 7 7 -9-10-1-11 -9-10-1-11

Bukan

Bukan Jalur independen Jalur independen : :

– 1-2-3-4-5-10-1-2-3-6-8-9-10-1-11 1-2-3-4-5-10-1-2-3-6-8-9-10-1-11

(11)

Basis Path Testing : Cyclomatic Complexity Basis Path Testing : Cyclomatic Complexity

Perhitungan matematis

Perhitungan matematis cyclomatic complexity cyclomatic complexity – – V(G) :

V(G) :

– V(G) = jumlah region V(G) = jumlah region – V(G) = E – N + 2 V(G) = E – N + 2

– V(G) = P + 1, dimana P – V(G) = P + 1, dimana P – predicate node predicate node

Contoh perhitungan : Contoh perhitungan :

– V(G) = 4, ada 4 V(G) = 4, ada 4 region region R1, R2, R3, R4 R1, R2, R3, R4 – V(G) = 11 V(G) = 11 edges edges – 9 – 9 nodes nodes + 2 = 4 + 2 = 4

– V(G) = 3 V(G) = 3 predicate node predicate node + 1 = 4 + 1 = 4

(12)

Basis Path Testing :

Basis Path Testing : Contoh Contoh

Contoh : prosedur

Contoh : prosedur average average

PROCEDURE average;

PROCEDURE average;

INTERFACE RETURNS average, total.input, total.valid;

INTERFACE RETURNS average, total.input, total.valid;

INTERFACE ACCEPTS value, minimum, maximum;

INTERFACE ACCEPTS value, minimum, maximum;

TYPE

TYPE value[1:100] IS SCALAR ARRAY;value[1:100] IS SCALAR ARRAY;

TYPETYPE average, total.input, total.valid, minimum,average, total.input, total.valid, minimum, maximum, sum IS SCALAR;

maximum, sum IS SCALAR;

TYPE i IS INTEGER;

TYPE i IS INTEGER;

i = 1;

i = 1;

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

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

DO WHILE value[i] <> -999 AND total.input < 100 DO WHILE value[i] <> -999 AND total.input < 100

increment total.input by 1;

increment total.input by 1;

IF value[i] >= minimum AND value[i] <= maximum IF value[i] >= minimum AND value[i] <= maximum

THENTHEN increment total.valid by 1;increment total.valid by 1;

sum = sum + value[i];

sum = sum + value[i];

ELSEELSE skip;skip;

ENDIF ENDIF

increment i by 1;

increment i by 1;

ENDDO ENDDO

IF total.valid > 0 IF total.valid > 0

THEN average = sum / total.valid;

THEN average = sum / total.valid;

ELSE average = -999;

ELSE average = -999;

ENDIF ENDIF END average END average

2 3

1

4

6

5 7

8 9

10

11 12

13

(13)

Basis Path Testing :

Basis Path Testing : Contoh Contoh

Prosedur

Prosedur average average : : flow graph flow graph

11 22 33 44 55 66

99

77 88

1212 1111 1010

1313

R1R1

R2R2

R3R3 R4R4

R5R5

R6R6

P P

P P

Cyclomatic complexity Cyclomatic complexity : :

– V(G) = 6 regions V(G) = 6 regions

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

Jalur independen Jalur independen : :

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

– jalur 5 : 1-2-3-4-5- jalur 5 : 1-2-3-4-5- 6 6 -8-9-2-… -8-9-2-…

– jalur 6 : 1-2-3-4-5-6- jalur 6 : 1-2-3-4-5-6- 7-8-9-2-… 7 -8-9-2-…

(14)

Basis Path Testing :

Basis Path Testing : Contoh Contoh

Prosedur

Prosedur average average : : test case test case

Jalur 1

Jalur 1:: value(k) = valid input, dimana k <value(k) = valid input, dimana k < i untuk 2 i untuk 2 << i i << 100 100 value(i) = -999, dimana 2

value(i) = -999, dimana 2 < i < i << 100 100

exp.res. = nilai rata2 valid sesuai dg nilai k dan totalnya exp.res. = nilai rata2 valid sesuai dg nilai k dan totalnya Note : jalur 1 tdk bisa diuji sendiri, bag. dr. jalur 4,5,6 Note : jalur 1 tdk bisa diuji sendiri, bag. dr. jalur 4,5,6 Jalur 2

Jalur 2:: value(i) = -999value(i) = -999

exp.res. = nilai rata2 adl. -999, nilai total pd nilai awal exp.res. = nilai rata2 adl. -999, nilai total pd nilai awal Jalur 3

Jalur 3:: mulai dari proses 101 atau lebihmulai dari proses 101 atau lebih hasil dari 100 pertama harus valid hasil dari 100 pertama harus valid exp.res. = idem jalur 1

exp.res. = idem jalur 1 Jalur 4

Jalur 4:: value(i) = valid input, dimana i < 100value(i) = valid input, dimana i < 100 value(k) < minimum, dimana k < i

value(k) < minimum, dimana k < i

exp.res. = nilai rata2 valid sesuai dg nilai k dan totalnya exp.res. = nilai rata2 valid sesuai dg nilai k dan totalnya Jalur 5

Jalur 5:: value(i) = valid input, dimana i < 100value(i) = valid input, dimana i < 100 value(k) > maximum, dimana k

value(k) > maximum, dimana k < i< i

exp.res. = nilai rata2 valid sesuai dg nilai n dan totalnya exp.res. = nilai rata2 valid sesuai dg nilai n dan totalnya Jalur 6

Jalur 6:: value(i) = valid input, dimana i < 100value(i) = valid input, dimana i < 100

exp.res. = nilai rata2 valid sesuai dg nilai n dan totalnya exp.res. = nilai rata2 valid sesuai dg nilai n dan totalnya

(15)

Control Structure Testing Control Structure Testing

Pengujian struktur kontrol, sebagai pelengkap Pengujian struktur kontrol, sebagai pelengkap

bagi pengujian jalur dasar (

bagi pengujian jalur dasar ( basis path testing basis path testing ) ) Jenis :

Jenis :

– Pengujian Kondisi ( Pengujian Kondisi ( Condition Testing Condition Testing ) ) – Pengujian Loop ( Pengujian Loop ( Loop Testing Loop Testing ) )

Pengujian Kondisi (

Pengujian Kondisi ( Condition Testing Condition Testing ) )

– Pengujian kotak putih yang dibuat untuk menguji Pengujian kotak putih yang dibuat untuk menguji kondisi lojik dalam sebuah program

kondisi lojik dalam sebuah program – Jenis-jenis kondisi : Jenis-jenis kondisi :

Kondisi Sederhana (

Kondisi Sederhana (simple condition simple condition) ) Kondisi Majemuk (

Kondisi Majemuk ( compound condition compound condition ) )

(16)

Condition Testing Condition Testing

Kondisi Sederhana (

Kondisi Sederhana ( Simple Condition Simple Condition ) )

– Terdiri dari sebuah ekspresi relasi atau sebuah ekspresi boolean Terdiri dari sebuah ekspresi relasi atau sebuah ekspresi boolean – Ekspresi relasi : E1 <operator relasi> E2 Ekspresi relasi : E1 <operator relasi> E2

dimana,

dimana, E1 dan E2 adl. ekspresi aritmatika E1 dan E2 adl. ekspresi aritmatika operator relasi : <, <=, =, ≠, >=, >

operator relasi : <, <=, =, ≠, >=, >

Contoh :

Contoh : IF skor < 45 THEN IF skor < 45 THEN nilai = ‘E’ nilai = ‘E’

END IF END IF

– Ekspresi boolean : berisi variabel boolean, tanpa eksp. relasi Ekspresi boolean : berisi variabel boolean, tanpa eksp. relasi Contoh :

Contoh : selesai: boolean selesai: boolean IF selesai THEN

IF selesai THEN

//lakukan sesuatu //lakukan sesuatu END IF

END IF

(17)

Condition Testing Condition Testing

Kondisi Majemuk (

Kondisi Majemuk ( Compound Condition Compound Condition ) )

– Terdiri dari dua atau lebih kondisi sederhana, operator Terdiri dari dua atau lebih kondisi sederhana, operator boolean, dan tanda kurung

boolean, dan tanda kurung

– Operator boolean : OR (|), AND (&), NOT (!) Operator boolean : OR (|), AND (&), NOT (!) Contoh :

Contoh : skor, absen: float skor, absen: float nilai: string

nilai: string

IF (skor > 45 AND skor < 55) OR IF (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)

Condition Testing Condition Testing

Strategi Pengujian Strategi Pengujian

– Pengujian Cabang ( Pengujian Cabang ( branch testing branch testing ) )

Pengujian dilakukan untuk setiap cabang

Pengujian dilakukan untuk setiap cabang true true atau atau false false dari kondisi, minimal sekali dilakukan untuk setiap cabang dari kondisi, minimal sekali dilakukan untuk setiap cabang

Contoh :

Contoh : IF skor < 45 THEN IF skor < 45 THEN

nilai = ‘E’ nilai = ‘E’

END IF END IF Kasus uji

Kasus uji : - TRUE, skor < 45 : - TRUE, skor < 45

- FALSE, skor >= 45 - FALSE, skor >= 45

(19)

Condition Testing Condition Testing

Strategi Pengujian Strategi Pengujian

– Pengujian Domain ( Pengujian Domain ( domain testing domain testing ) )

Pengujian dilakukan untuk setiap kemungkinan nilai dari Pengujian dilakukan untuk setiap kemungkinan nilai dari

ekspresi kondisi ekspresi kondisi

Untuk ekspresi relasi : E1 <operator relasi> E2, perlu 3 Untuk ekspresi relasi : E1 <operator relasi> E2, perlu 3

kasus uji yaitu E1 > E2, E1 = E2 dan E1 < E2 kasus uji yaitu E1 > E2, E1 = E2 dan E1 < E2

Contoh :

Contoh : IF skor < 45 THEN IF skor < 45 THEN

nilai = ‘E’ nilai = ‘E’

END IF END IF Kasus uji

Kasus uji : : 1. E1 > E2 : skor bernilai lebih dari 45 1. E1 > E2 : skor bernilai lebih dari 45

2. E1 = E2 : skor bernilai 45 2. E1 = E2 : skor bernilai 45

3. E1 < E2 : skor bernilai kurang dari 45 3. E1 < E2 : skor bernilai kurang dari 45

(20)

Condition Testing Condition Testing

Strategi Pengujian Strategi Pengujian

– Pengujian Domain ( Pengujian Domain ( domain testing domain testing ) - lanjutan ) - lanjutan

Untuk ekspresi boolean : dengan

Untuk ekspresi boolean : dengan n n variabel maka perlu 2 variabel maka perlu 2

nn

kasus uji

kasus uji

Contoh :

Contoh : IF selesai THEN IF selesai THEN

//lakukan sesuatu //lakukan sesuatu

END IF END IF Kasus uji

Kasus uji : : 1. selesai=TRUE 1. selesai= TRUE 2. selesai=FALSE 2. selesai= FALSE

(21)

Loop Testing Loop Testing

Pengujian kotak putih yang dilakukan untuk menguji validitas Pengujian kotak putih yang dilakukan untuk menguji validitas dari struktur loop

dari struktur loop Jenis-jenis loop : Jenis-jenis loop :

Simple loop

Simple loop : dg. maks. n kali : dg. maks. n kali

– Kasus uji tidak melewati loop sama sekali Kasus uji tidak melewati loop sama sekali – Kasus uji m kali melewati loop, dimana m < n Kasus uji m kali melewati loop, dimana m < n – Kasus uji n-1, n, n+1 melewati loop Kasus uji n-1, n, n+1 melewati loop

simple loop simple loop

nested loop

nested loop

(22)

Loop Testing Loop Testing

Nested loop

Nested loop : loop bersarang/loop di dalam loop, jumlah : loop bersarang/loop di dalam loop, jumlah kasus uji semakin besar

kasus uji semakin besar

– Pengujian dimulai dari loop paling dalam. Set iterator loop yang Pengujian dimulai dari loop paling dalam. Set iterator loop yang lain dengan nilai minimum

lain dengan nilai minimum

– Lakukan pengujian simple loop untuk loop paling dalam, Lakukan pengujian simple loop untuk loop paling dalam, sementara loop luarnya diset pada iterator yang minimum sementara loop luarnya diset pada iterator yang minimum – Contoh : Contoh : i, j: integer i, j: integer

DO WHILE i < 100 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 1 ENDDO

ENDDO

(23)

Black Box Testing Black Box Testing

Disebut juga dengan pengujian perilaku (

Disebut juga dengan pengujian perilaku ( behavioral behavioral testing

testing ) atau pengujian fungsi ( ) atau pengujian fungsi ( functional testing functional testing ) ) Fokus pada kebutuhan fungsi (

Fokus pada kebutuhan fungsi ( functional requirement functional requirement ) ) dari PL

dari PL

Sebagai pelengkap bagi

Sebagai pelengkap bagi white box testing white box testing (bukan (bukan sebagai alternatif)

sebagai alternatif) Jenis-jenis :

Jenis-jenis :

– Pengujian klas ekivalen ( Pengujian klas ekivalen ( equivalence class testing equivalence class testing ) ) – Pengujian batas ( Pengujian batas ( limit testing limit testing ) )

– Pengujian acak ( Pengujian acak ( robustness testing robustness testing ) )

– Pengujian kebutuhan ( Pengujian kebutuhan ( requirements testing requirements testing ) )

(24)

Equivalence Class Testing Equivalence Class Testing

Dikenal juga sbg. Pengujian Partisi Ekivalen Dikenal juga sbg. Pengujian Partisi Ekivalen ( ( equivalence partitioning testing equivalence partitioning testing ) )

Pengujian kotak hitam yg. membagi domain Pengujian kotak hitam yg. membagi domain

masukan sebuah program menjadi klas-klas data masukan sebuah program menjadi klas-klas data

dimana kasus uji nantinya akan diturunkan dimana kasus uji nantinya akan diturunkan

Satu kasus uji mengkover satu klas kesalahan Satu kasus uji mengkover satu klas kesalahan

Kumpulan data dari setiap klas data memiliki Kumpulan data dari setiap klas data memiliki

pengaruh yang sama terhadap program pengaruh yang sama terhadap program

Mengurangi jumlah kasus uji : efisiensi Mengurangi jumlah kasus uji : efisiensi

Sebuah klas ekivalen merepresentasikan sebuah Sebuah klas ekivalen merepresentasikan sebuah kondisi masukan yg mewakili keadaan valid atau kondisi masukan yg mewakili keadaan valid atau

tidak valid

tidak valid

(25)

Equivalence Class Testing Equivalence Class Testing

Pedoman umum penentuan klas ekivalen : Pedoman umum penentuan klas ekivalen :

– Kondisi masukan adalah sebuah rentang : 1 klas ekivalen valid Kondisi masukan adalah sebuah rentang : 1 klas ekivalen valid dan 2 klas ekivalen tidak valid

dan 2 klas ekivalen tidak valid Contoh :

Contoh :

Sebuah counter hanya menghitung 1 – 999 (

Sebuah counter hanya menghitung 1 – 999 ( req. req. ) ) - Kasus uji valid : nilai [1..999]

- Kasus uji valid : nilai [1..999]

- Kasus uji tdk valid : counter < 1, counter > 999 - Kasus uji tdk valid : counter < 1, counter > 999

– Kondisi masukan adalah sebuah nilai tertentu : 1 klas ekivalen Kondisi masukan adalah sebuah nilai tertentu : 1 klas ekivalen valid dan 2 klas ekivalen tidak valid

valid dan 2 klas ekivalen tidak valid Contoh :

Contoh :

Sebuah list nama terdiri 1 - 6 (

Sebuah list nama terdiri 1 - 6 (req. req. ) )

- Kasus uji valid : list terdiri [1..6] nama - Kasus uji valid : list terdiri [1..6] nama - Kasus uji tdk valid :

- Kasus uji tdk valid : - tdk ada nama sama sekali - tdk ada nama sama sekali - list terdiri > 6 nama

- list terdiri > 6 nama

(26)

Equivalence Class Testing Equivalence Class Testing

Pedoman umum penentuan klas ekivalen (lanjutan) : Pedoman umum penentuan klas ekivalen (lanjutan) :

– Kondisi masukan adl. sebuah anggota dari suatu kumpulan : 1 Kondisi masukan adl. sebuah anggota dari suatu kumpulan : 1 klas ekivalen valid per anggota dan 1 klas ekivalen tidak valid klas ekivalen valid per anggota dan 1 klas ekivalen tidak valid Contoh :

Contoh :

Merk mobil yg diperbolehkan adl. Toyota, Honda, Merk mobil yg diperbolehkan adl. Toyota, Honda, Daihatsu dan Suzuki (

Daihatsu dan Suzuki (req. req.) )

- Kasus uji valid : Toyota, Honda, Daihatsu, Suzuki

- Kasus uji valid : Toyota, Honda, Daihatsu, Suzuki

- Kasus uji tdk valid : Hyundai atau KIA atau Audi

- Kasus uji tdk valid : Hyundai atau KIA atau Audi

(27)

Equivalence Class Testing Equivalence Class Testing

Contoh kasus : Contoh kasus :

Req.:

Req.: - masukan dari program adl. integer [-100,100] - masukan dari program adl. integer [-100,100]

- keluarannya adl. tanda ‘+’/’-’ sesuai nilai - keluarannya adl. tanda ‘+’/’-’ sesuai nilai

masukan (0 dianggap positif) masukan (0 dianggap positif) Klas ekivalen valid :

Klas ekivalen valid :

- nilai [-100,-1] akan menghasilkan ‘-’

- nilai [-100,-1] akan menghasilkan ‘-’

- nilai [0,100] akan menghasilkan ‘+’

- nilai [0,100] akan menghasilkan ‘+’

Klas ekivalen tidak valid : Klas ekivalen tidak valid :

- integer < -100

- integer < -100

- integer > 100

- integer > 100

(28)

Limit Testing Limit Testing

Dikenal juga sbg. Pengujian Analisis Nilai Batas Dikenal juga sbg. Pengujian Analisis Nilai Batas ( ( boundary value analysis testing - BVA boundary value analysis testing - BVA ) )

Pengujian kotak hitam yg. menguji nilai-nilai yang Pengujian kotak hitam yg. menguji nilai-nilai yang

terdapat di perbatasan (

terdapat di perbatasan ( limit limit ) )

Pedoman umum - jika suatu kondisi masukan adalah Pedoman umum - jika suatu kondisi masukan adalah sebuah rentang antara a dan b maka kasus ujinya (2 sebuah rentang antara a dan b maka kasus ujinya (2

kasus valid dan 2 kasus tidak valid):

kasus valid dan 2 kasus tidak valid):

- nilai a, b - nilai a, b

- nilai > b (mendekati b), nilai < a (mendekati a) - nilai > b (mendekati b), nilai < a (mendekati a)

Contoh : Contoh :

Jika masukan data valid adl. [-1,0;1,0]

Jika masukan data valid adl. [-1,0;1,0]

Kasus uji valid : nilai -1,0 dan 1,0 Kasus uji valid : nilai -1,0 dan 1,0

Kasus uji tdk. valid : nilai -1,001 dan 1,001

Kasus uji tdk. valid : nilai -1,001 dan 1,001

(29)

Robustness Testing Robustness Testing

Pengujian kotak hitam dengan memasukkan nilai-nilai Pengujian kotak hitam dengan memasukkan nilai-nilai

yang diluar dari kebutuhan yang ditentukan yang diluar dari kebutuhan yang ditentukan ( ( requirement requirement ) )

Tujuan : untuk membuktikan bahwa tidak ada even yang Tujuan : untuk membuktikan bahwa tidak ada even yang

kacau (catasthropic : hang, shutdown, dll.) pada P/L kacau (catasthropic : hang, shutdown, dll.) pada P/L

dengan dimasukkannya nilai-nilai yang tidak normal dengan dimasukkannya nilai-nilai yang tidak normal

Contoh : Contoh :

Jika masukan sebuah password valid adl. 5 karakter Jika masukan sebuah password valid adl. 5 karakter

[a..z;A..Z]

[a..z;A..Z]

Kasus uji :masukkan sembarang karakter dan sembarang Kasus uji :masukkan sembarang karakter dan sembarang

jumlah karakter, misal : z##12 atau iu831280j jumlah karakter, misal : z##12 atau iu831280j Ex. result:P/L tidak boleh mengalami hang

Ex. result:P/L tidak boleh mengalami hang

(30)

Requirements Testing Requirements Testing

Pengujian kotak hitam yang dilakukan untuk menguji Pengujian kotak hitam yang dilakukan untuk menguji

apakah kebutuhan (requirement : functional, apakah kebutuhan (requirement : functional,

performance, security, dll.) yang ditentukan selama performance, security, dll.) yang ditentukan selama

proses analisis kebutuhan terpenuhi atau tidak proses analisis kebutuhan terpenuhi atau tidak

Setiap kebutuhan harus bisa dilacak ke kasus uji Setiap kebutuhan harus bisa dilacak ke kasus uji

dengan menggunakan traceability matrix dengan menggunakan traceability matrix

Traceability matrix : Traceability matrix :

No.No. RequirementsRequirements Test NameTest Name Test CaseTest Case RemarkRemark 1.1. SRS_REQ_XXX1SRS_REQ_XXX1 Measure_Data_T1Measure_Data_T1 Get_Marked_T4.1Get_Marked_T4.1

... SRS_REQ_XXX2SRS_REQ_XXX2 Measure_Data_T1Measure_Data_T1 Get_Traced_T4.2Get_Traced_T4.2 ...

(31)

Strategi Strategi

Aktifitas untuk mengintegrasikan kasus2 uji dari Aktifitas untuk mengintegrasikan kasus2 uji dari

beberapa teknik yang ada ke dalam sebuah beberapa teknik yang ada ke dalam sebuah

rangkaian langkah-langkah pengujian yang rangkaian langkah-langkah pengujian yang

terencana terencana

Urgensi : untuk efisiensi dan efektifitas Urgensi : untuk efisiensi dan efektifitas

Tahapan : Tahapan :

– Pengujian Unit ( Pengujian Unit ( unit testing unit testing ) )

– Pengujian Integrasi ( Pengujian Integrasi ( integration testing integration testing ) )

– Pengujian Validasi ( Pengujian Validasi ( validation testing validation testing ) )

– Pengujian Sistem ( Pengujian Sistem ( system testing system testing ) )

Referensi

Dokumen terkait

1 Menurut American Asociation for the Study of Liver Disease (AASLD), NAFLD adalah perlemakan hati yang dibuktikan dengan pemeriksaan radiologi atau histopatologi pada

Dalam peneltian tersebut menjelaskan mengenai aspek-aspek kejiwaan terhadap tokoh- tokoh dalam karya sastra tetralogi Laskar Pelangi dengan mengenal dan menguraikan

Penelitian ini bertujuan untuk menguji hubungan antara tingkat kepuasan mahasiswa dengan berbagai macam atribut di universitas berdasarkan pengalamannya selama kuliah

Mengembangkan aplikasi instant messaging untuk memudahkan penyampaian informasi dari institusi kepada mahasiswa, dosen, karyawan, orang tua, dan komunitas secara

Metode ini adalah sebuah kerangka untuk mengambil keputusan dengan efektif atas persoalan dengan menyederhanakan dan mempercepat proses pengambilan keputusan

Manakala, berhubung kadar wasiat wajibah yang disebut dalam peruntukan Seksyen 27 (1) dan (2) Enakmen Wasiat Orang Islam tersebut ialah setakat bahagian yang

Dimensi perencanaan berkaitan dengan proses perencanaan, indikatornya antara lain: adanya perencanaan untuk pengembangan dan pemanfaatan TIK yang dilakukan secara