1
DASAR2 PENGUJIAN PERANGKAT LUNAK
Objektifitas Pengujian
Test case yg baik adalah yg mempunyai probabilitas yg
tinggi untuk menemukan error yg tak diketemukan
Pengujian merupakan suatu proses eksekusi program
yang ditujukan untuk menemukan error
Uji yg sukses adalah yg dapat ‘membuka’ error yang tak
diketemukan
Dua klas input yg disediakan untuk proses uji
1. konfigurasi software, termasuk Software Requirement
Specification, Design Specification dan Source code
2. konfigurasi uji, termasuk Test Plan & Procedure,
perangkat testing yg akan digunakan, test case dan hasil
yg diharapkan
2
PERANCANGAN TEST CASE
Test case yg dirancang harus mempunyai
probabilitas yg tinggi untuk menemukan sebuah
error dalam waktu & effort yg minimum.
3
PERANCANGAN TEST CASE (lanj.)
4
WHITE BOX TESTING : Basis Path Testing
Metode pertama yg diusulkan oleh Tom McCabe
(1976). Metode ini memungkinkan perancangan
memperoleh pengukuran yang kompleksitas dari
perancangan prosedural dan menggunakan
pengukuran ini sebagai pedoman pendefinisian
sekumpulan basis dari jalur eksekusi
Perangkat yang digunakan
1. Notasi Flow Graph atau Program Graph
2. Cyclomatic Complexity, merupakan pengukuran
per.lunak yang menyediakan pengukuran kuantitatif
dari kompleksitas logis suatu program. Nilai cyclomatic
complexity mendefinisikan jumlah jalur bebas pada
basis program.
3. Independent path (jalur bebas) merupakan jalur pada
program yg menunjukkan setidaknya satu kumpulan
pernyataan pemrosesan baru atau kondisi baru.
4. Graph Matrix merupakan matriks persegi 4 dimana
sisi2nya sama dengan jumlah node pada flow graph
5
BASIS PATH TESTING
Langkah2 Basis Path Testing
- gunakan rancangan atau kode sebagai pondasi, lalu
gambarkan flow graph
- tentukan cyclomatic complexity, dinyatakan V(G) dari
flow graph
- tentukan sekumpulan basis secara linear jalur bebas
- persiapkan test case yg akan memperkuat eksekusi
setiap jalur pada sekumpulan basis program
6
White Box Testing
Path Testing
Flowgraph
Graph Matric
7
Flow Graph
Representasi logika program menjadi simpul dan
busur
Dengan menghitung bilangan Cyclomatic bisa
dihitung juga ada berapa region dalam flograph
tersebut
Bilangan Cyclomatic mengindikasikan kompleksitas
perangkat lunak
Makin besar bilangan cyclomatic, makin banyak
kasus uji yang harus diujicobakan
V(G)= E- N + 2
E= edge
N : simpul
8
Langkah Pengujian Menggunakan Flowgraph
9
Contoh flowgraph
Procedure Average
Interface return average,total_input,total_valid
Interface accept value,minimum,,maximum
Type value[1..100] is scalar array
Type
average,total_input,total_valid,maximum,minimum,su
m is scalar
Type I is integer
(1) I=1;
(2) Total_input=0;
(3) Total_valid=0
(4) Sum=0
(5) Do while value[i]<>-999 and total_input<100
(6) increment total_input by 1;
10
(7) IF value[i]>=minimum and value[i]<=maximum THEN
(8) increment total_valid by 1;
(9) sum = sum + value[i]
ELSE
(10) SKIP
ENDIF
(11) Increment I by 1;
ENDDO
(12) IF total_valid >0 THEN
(13) average=sum/total_valid
ELSE
(14) average=-999
ENDIF
END average
11
Conditional Testing
12
Conditional Testing (contoh)
B1 and B2
B1 and (E3=E4)
(E1>E2) and (E3=E4)
Relation Expression yang ada ekpresi aritmatikanya
E1 = A * (8 + 2*B)
(E1>E2) and (E3=E4)
13
White Box Testing
Metode: basis path testing.
Memakai notasi flow graph.
14
Kompleksitas Cyclomatic
15
Contoh White Box Testing
16
BLACK BOX Testing
17
Black Box Testing
18
BLACK BOX Testing : Kategori error
Incorrect Function
Missing Function
Error pada struktur data internal
Error pada basis data
Error pada perilaku atau performance
Error pada inisialisasi dan terminasi program
19
BLACK BOX Testing:
Panduan Merancang Kasus Uji
20
Graph based
Teknik :
Menyusun Graph yang node – nya mewakili object
yang ada dalam sistem dan link mewakili relasi
antar object
Susun kasus uji yang menguji perilaku object dan
relasi antar object
21
Graph Based
Relationship :
Transitivity of sequential relationship
X is required to compute Y
Y is required to compute Z
so, X is required to compute Z
Symmetry of a relationship
If a link is bidirectional, it is important to test this
feature. Example : UNDO
Reflexive of relationship
Link that leads back to itself, in essence a “no
action” or “null action”
22
Black Box Testing – Graph Based
23
Graph based
24
Equivalence Partitioning
Def :
a black box testing method that divides the input domain of a
program into classes of data from which test cases can be
derived
25
Equivalence Partitioning
26
Equivalence Partitioning
Jenis :
Range : 1 valid ; 2 invalid
Nilai tertentu: 1 valid , 1 invalid
Anggota Himpunan : 1 valid , 1 invalid
Boolean: 1 valid , 1 invalid
27
Boundary Value Analysis (BVA)
28
Boundary Value Analysis
29
Comparison Testing
30