Pengujian PL
Pengujian PL
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
2 / 33
Agenda Pembahasan
Pengertian dan Urgensi
Prinsip-prinsip
Karakteristik dan Teknik
White Box Testing
Black Box Testing
Strategi Pengujian
3 / 33
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 / 33
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 / 33
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 / 33
7 / 33
8 / 33
sequence
- node (N)
if
while
until
case
- edge/link (E)
9 / 33
predicate
node
2,3
2
6
R2
3
6
7
4
5
8
9
R3
4,5
R1
9
10
R4
10
11
Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT
11
10 / 33
11 / 33
2,3
6
7
R3
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
9
10
R4
11
12 / 33
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 / 33
14 / 33
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 / 33
Jalur 4:
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:
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:
6: value(i) = valid input, dimana i < 100
exp.res. = nilai rata2 valid sesuai dg nilai n dan totalnya
16 / 33
17 / 33
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
END IF
Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT
18 / 33
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 / 33
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 / 33
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 / 33
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 / 33
Loop Testing
Pengujian kotak putih yang dilakukan untuk menguji validitas
dari struktur loop
Jenis-jenis loop :
simple loop
nested loop
23 / 33
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 / 33
25 / 33
26 / 33
nama terdiri
valid : list
tdk valid :
1 - 6 (req.)
terdiri [1..6] nama
- tdk ada nama sama sekali
- list terdiri > 6 nama
27 / 33
28 / 33
29 / 33
Limit Testing
Dikenal juga sbg. Pengujian Analisis Nilai Batas
(boundary value analysis testing - BVA)
Pengujian kotak hitam yg. menguji nilai-nilai yang
terdapat di perbatasan (limit)
Pedoman umum - jika suatu kondisi masukan adalah
sebuah rentang antara a dan b maka kasus ujinya (2
kasus valid dan 2 kasus tidak valid):
- nilai a, b
- nilai > b (mendekati b), nilai < a (mendekati a)
Contoh :
Jika masukan data valid adl.
Kasus uji valid : nilai -1,0
Kasus uji tdk. valid : nilai
Bahan Kuliah RPL - Pengujian PL / Tri Astoto K.,ST.MT
[-1,0;1,0]
dan 1,0
-1,001 dan 1,001
30 / 33
Robustness Testing
Pengujian kotak hitam dengan memasukkan nilai-nilai
yang diluar dari kebutuhan yang ditentukan
(requirement)
Tujuan : untuk membuktikan bahwa tidak ada even yang
kacau (catasthropic : hang, shutdown, dll.) pada P/L
dengan dimasukkannya nilai-nilai yang tidak normal
Contoh :
Jika masukan sebuah password valid adl. 5 karakter
[a..z;A..Z]
Kasus uji :masukkan sembarang karakter dan sembarang
jumlah karakter, misal : z##12 atau iu831280j
Ex. result:P/L tidak boleh mengalami hang
31 / 33
Requirements Testing
Pengujian kotak hitam yang dilakukan untuk menguji
apakah kebutuhan (requirement : functional,
performance, security, dll.) yang ditentukan selama
proses analisis kebutuhan terpenuhi atau tidak
Setiap kebutuhan harus bisa dilacak ke kasus uji
dengan menggunakan traceability matrix
Traceability matrix :
No.
Requirements
Test Name
Test Case
1.
SRS_REQ_XXX1
Measure_Data_T1
Get_Marked_T4.1
....
SRS_REQ_XXX2
Measure_Data_T1
Get_Traced_T4.2
Remark
....
32 / 33
Strategi
Aktifitas untuk mengintegrasikan kasus2 uji dari
beberapa teknik yang ada ke dalam sebuah
rangkaian langkah-langkah pengujian yang
terencana
Urgensi : untuk efisiensi dan efektifitas
Tahapan :
33 / 33