• Tidak ada hasil yang ditemukan

Pengujian PL

N/A
N/A
Protected

Academic year: 2022

Membagikan "Pengujian PL"

Copied!
33
0
0

Teks penuh

(1)

REKAYASA PERANGKAT REKAYASA PERANGKAT

LUNAK (RPL) LUNAK (RPL)

Pengujian PL

Pengujian PL

(2)

Pendahuluan Pendahuluan

Relevansi Perkuliahan Relevansi Perkuliahan

–– Untuk mengetahui unjuk kerja dari sebuah kendaraan Untuk mengetahui unjuk kerja dari sebuah kendaraan maka kendaraan tsb. diuji terlebih dahulu sebelum

maka kendaraan tsb. diuji terlebih dahulu sebelum dilempar ke pasaran

dilempar ke pasaran

–– PL sebagai sebuah sistem yang relatif kompleks PL sebagai sebuah sistem yang relatif kompleks maka perlu dilakukan pengujian

maka perlu dilakukan pengujian--pengujian sebelum pengujian sebelum diserahkan kepada kustomer

diserahkan kepada kustomer

Tujuan Instruksional Khusus Tujuan Instruksional Khusus

Mahasiswa akan dapat menjabarkan pengertian Mahasiswa akan dapat menjabarkan pengertian

pengujian PL dan metode

pengujian PL dan metode--metode yang digunakan metode yang digunakan

(3)

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

(4)

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 pengguna, sehingga PL harus diuji terlebih

dahulu untuk menemukan sebanyak mungkin

dahulu untuk menemukan sebanyak mungkin

kesalahan sebelum digunakan oleh pengguna

kesalahan sebelum digunakan oleh pengguna

(5)

Prinsip

Prinsip - - prinsip prinsip

Menurut Davis : Menurut Davis :

–– Semua pengujian harus bisa ditelusuri ke kebutuhanSemua 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 engineers/w engineer maupun maupun programmerprogrammer))

(6)

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 (redundantredundant)) 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 (white box testingPengujian kotak putih (white box testing)) Pengujian kotak hitam (Pengujian kotak hitam (black box testing)black box testing)

(7)

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 - - aspek pengujian : 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 (truetrue atau atau falsefalse)) mengeksekusi seluruh loop dalam batasan yang mengeksekusi seluruh loop dalam batasan yang

ditentukan ditentukan

memvalidasi struktur data internalmemvalidasi struktur data internal

(8)

White Box Testing White Box Testing

Jenis : Jenis :

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

–– Pengujian Struktur Kontrol (Pengujian Struktur Kontrol (Control Structure TestingControl 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

–– LangkahLangkah--langkah :langkah :

Mendefinisikan

Mendefinisikan flow graphflow graph berdasarkan berdasarkan mappingmapping dari dari flow flow chart

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

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

Mendefinisikan kasus uji

(9)

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 nodeproses dan keputusan yg berurutan dimapping menjadi 1 node setiap setiap edgeedge harus berakhir pada sebuah nodeharus berakhir pada sebuah node (walaupun tdk (walaupun tdk

merepresentasikan proses apapun) merepresentasikan proses apapun)

regionregion : daerah yang dibatasi oleh : daerah yang dibatasi oleh edgeedge dan dan nodenode

predicate nodepredicate node : : nodenode yg merupakan kondisi (2 atau lebih yg merupakan kondisi (2 atau lebih edgeedge akan keluar dari sini)

akan keluar dari sini)

sequence

sequence ifif whilewhile untiluntil casecase -- nodenode (N(N)) -- edge/linkedge/link (E(E))

(10)

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 nodenode

(11)

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)

(12)

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-jalur 1 : 1-1111

jalur 2 : 1-jalur 2 : 1-22--33--44--55--1010-1-1--1111 jalur 3 : 1-jalur 3 : 1-22--33--66--88--99--1010--11--1111 jalur 4 : 1-jalur 4 : 1-22--33--66--77--99--1010--11--1111

Bukan

Bukan Jalur independenJalur independen ::

1-1-22--33--44--55--1010--11--22--33--66--88--99--1010--11--1111

(13)

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 regionV(G) = jumlah region –– V(G) = E V(G) = E –– N + 2N + 2

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

Contoh perhitungan : Contoh perhitungan :

–– V(G) = 4, ada 4 V(G) = 4, ada 4 regionregion R1, R2, R3, R4R1, R2, R3, R4 –– V(G) = 11 V(G) = 11 edgesedges –– 9 9 nodesnodes + 2 = 4+ 2 = 4

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

(14)

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;

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

TYPE

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

DO WHILE value[i] <> --999 AND total.input < 100999 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

THEN

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

ELSE average = --999;999;

ENDIF ENDIF END average END average

2 3

1

4

6

5 7

8 9

10

11 12

13

(15)

Basis Path Testing :

Basis Path Testing : Contoh Contoh

Prosedur

Prosedur average average : : flow graph flow graph

1 1

2 2

3 3

4 4

5 5

6 6

9 9

7 7 8

8 12

12 1111 10

10

13 13

R1R1

R2R2

R3R3 R4R4

R5R5

R6R6

PP

PP

Cyclomatic complexity Cyclomatic complexity ::

V(G) = 6 regionsV(G) = 6 regions

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

Jalur independen Jalur independen ::

jalur 1 : 1jalur 1 : 1-2-2--1010-11-11--1313 jalur 2 : 1jalur 2 : 1-2-2--1010-12-12--1313 jalur 3 : 1jalur 3 : 1-2-2--33--1010--1111--1313 jalur 4 : 1jalur 4 : 1-2-2--33--44--5-5-88--99--2-2-… jalur 5 : 1jalur 5 : 1-2-2--33--44--5-5-66--88--9-9-22--… jalur 6 : 1jalur 6 : 1--22--33--44--55--66--77--88--99--22--

(16)

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 < 100100 value(i) =

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

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) = value(i) = --999999

exp.res. = nilai rata2 adl.

exp.res. = nilai rata2 adl. --999, nilai total pd nilai awal999, 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 << ii

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

(17)

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 TestingCondition Testing)) –– Pengujian Loop (Pengujian Loop (Loop TestingLoop 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 –– JenisJenis--jenis kondisi :jenis kondisi :

Kondisi Sederhana (

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

Kondisi Majemuk (compound conditioncompound condition))

(18)

Condition Testing Condition Testing

Kondisi Sederhana (

Kondisi Sederhana ( Simple Condition Simple Condition ) )

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

dimana,

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

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

Contoh :

Contoh : IF skor < 45 THENIF skor < 45 THEN nilai =

nilai = EE END IF

END IF

Ekspresi boolean : berisi variabel boolean, tanpa eksp. relasiEkspresi 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

(19)

Condition Testing Condition Testing

Kondisi Majemuk (

Kondisi Majemuk ( Compound Condition Compound Condition ) )

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

operator boolean, dan tanda kurung

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

Contoh : skor, absen: floatskor, 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 =

nilai = ‘DD’ ELSEELSE

//lakukan sesuatu //lakukan sesuatu END IF

END IF

(20)

Condition Testing Condition Testing

Strategi Pengujian Strategi Pengujian

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

Pengujian dilakukan untuk setiap cabang

Pengujian dilakukan untuk setiap cabang truetrue atau atau falsefalse dari kondisi, minimal sekali dilakukan untuk setiap cabang dari kondisi, minimal sekali dilakukan untuk setiap cabang Contoh :

Contoh : IF skor < 45 THENIF skor < 45 THEN nilai =

nilai = ‘‘EE’ END IF

END IF Kasus uji

Kasus uji: : -- TRUE, skor < 45TRUE, skor < 45 -- FALSE, skor >= 45FALSE, skor >= 45

(21)

Condition Testing Condition Testing

Strategi Pengujian Strategi Pengujian

–– Pengujian Domain (domain testingPengujian Domain (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 THENIF skor < 45 THEN nilai =

nilai = ‘‘EE’ END IF

END IF Kasus uji

Kasus uji::1. E1 > E2 : skor bernilai lebih dari 451. 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

(22)

Condition Testing Condition Testing

Strategi Pengujian Strategi Pengujian

–– Pengujian Domain (domain testingPengujian Domain (domain testing) ) -- lanjutanlanjutan

Untuk ekspresi boolean : dengan

Untuk ekspresi boolean : dengan nn variabel maka perlu 2variabel maka perlu 2nn kasus uji

kasus uji

Contoh :

Contoh : IF selesai THENIF selesai THEN

//lakukan sesuatu //lakukan sesuatu END IF

END IF Kasus uji

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

(23)

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--jenis loop :jenis loop :

Simple loop

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

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

simple loop simple loop

nested loop nested loop

(24)

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 yangPengujian 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: integeri, 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

(25)

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

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 testingequivalence class testing)) Pengujian batas (Pengujian batas (limit testinglimit testing))

Pengujian acak (Pengujian acak (robustness testingrobustness testing))

Pengujian kebutuhan (Pengujian kebutuhan (requirements testingrequirements testing))

(26)

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

masukan sebuah program menjadi klas - - klas data 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

(27)

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

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

-- Kasus uji tdk valid : counter < 1, counter > 999Kasus 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

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

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

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

(28)

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, SuzukiKasus uji valid : Toyota, Honda, Daihatsu, Suzuki -- Kasus uji tdk valid : Hyundai atau KIA atau AudiKasus uji tdk valid : Hyundai atau KIA atau Audi

(29)

Equivalence Class Testing Equivalence Class Testing

Contoh kasus : Contoh kasus :

Req.:

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

-- keluarannya adl. tanda ‘keluarannya adl. tanda ‘++’’//’’--’ sesuai nilai sesuai nilai masukan (0 dianggap positif)

masukan (0 dianggap positif) Klas ekivalen valid :

Klas ekivalen valid :

-- nilai [nilai [-100,-100,--1] akan menghasilkan 1] akan menghasilkan ‘--’ -- nilai [0,100] akan menghasilkan nilai [0,100] akan menghasilkan ++ Klas ekivalen tidak valid :

Klas ekivalen tidak valid : -- integer < integer < --100100

-- integer > 100integer > 100

(30)

Limit Testing Limit Testing

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

Pengujian kotak hitam yg. menguji nilai

Pengujian kotak hitam yg. menguji nilai--nilai yang nilai yang terdapat di perbatasan (

terdapat di perbatasan (limitlimit)) Pedoman umum

Pedoman umum -- jika suatu kondisi masukan adalah 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, bnilai 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. [

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

Kasus uji valid : nilai

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

(31)

Robustness Testing Robustness Testing

Pengujian kotak hitam dengan memasukkan nilai

Pengujian kotak hitam dengan memasukkan nilai--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

dengan dimasukkannya nilai--nilai yang tidak normalnilai 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

(32)

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 :

Get_Traced_T4.2 Get_Traced_T4.2 Measure_Data_T1

Measure_Data_T1 SRS_REQ_XXX2

SRS_REQ_XXX2 ........

........

Get_Marked_T4.1 Get_Marked_T4.1 Measure_Data_T1

Measure_Data_T1 SRS_REQ_XXX1

SRS_REQ_XXX1 1.1.

Remark Remark Test Case

Test Case Test Name

Test Name Requirements

Requirements No.No.

(33)

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

rangkaian langkah - - langkah pengujian yang langkah pengujian yang terencana

terencana

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

Tahapan : Tahapan :

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

–– Pengujian Integrasi (Pengujian Integrasi (integration testingintegration testing)) –– Pengujian Validasi (Pengujian Validasi (validation testingvalidation testing)) –– Pengujian Sistem (Pengujian Sistem (system testing)system testing)

Referensi

Dokumen terkait

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

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

Di samping itu, pada bagian ini dicantumkan juga nilai dan volume kegiatan pembangunan, operasi dan pemeliharaan prasarana secara umum yang dilaksanakan oleh

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

Citra Aditia, Reni Anggraini S.E., MMSI Penulisan Ilmiah, Fakultas Ekonomi, 2009.

e) Penganggaran penyelenggaraan jaminan kecelakaan kerja dan kematian bagi Kepala Daerah/Wakil Kepala Daerah, Pimpinan dan Anggota DPRD serta PNSD dibebankan pada APBD

Tujuan penelitian ini mengetahui seberapa besar kinerja Reksa dana Pendapatan Tetap pada PT.Panin Sekuritas dan PT.Bhakti Asset Manajemen dengan proyeksi laba/ruginya serta