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
Agenda Pembahasan
Pengertian dan Urgensi
Prinsip-prinsip
Karakteristik dan Teknik
White Box Testing
Black Box Testing
Strategi Pengujian
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
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
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
sequence
- node (N)
if
while
until
case
- edge/link (E)
predicate
node
2,3
2
6
R2
4,5
R1
6
7
4
5
8
9
R3
9
10
R4
10
11
Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT
11
10
11
2,3
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
9
10
R4
11
12
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
14
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
R6
P
R1
6
R2
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
Jalur 2:
value(i) = -999
exp.res. = nilai rata2 adl. -999, nilai total pd nilai awal
Jalur 3:
Jalur 4:
Jalur 5:
Jalur 6:
16
17
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
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
20
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
3. E1 < E2 : skor bernilai kurang dari 45
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
22
Loop Testing
Pengujian kotak putih yang dilakukan untuk menguji validitas
dari struktur loop
Jenis-jenis loop :
simple loop
nested loop
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
25