Staffsite STMIK PPKIA Pradnya Paramita

TESTING DAN
IMPLEMENTASI
PERTEMUAN 3
DESAIN TEST CASE WHITE BOX TESTING
(BAGIAN 1)

METODE PENGUJIAN
SOFTWARE


BOX APPROACH

White
Box

Black
Box

Grey
Box


WHITE BOX TESTING




Test yang didasarkan pada pola internal, struktur
kode.
Membutuhkan pengetahuan dan kemampuan
programming.
Dilakukan oleh developer karena mereka yang
mengetahui internal aplikasi.

CAKUPAN PERNYATAAN,
CABANG & JALUR




Suatu teknik white box testing yang
menggunakan alur logika dari program

untuk membuat test case.
Alur logika suatu program dapat
direpresentasikan dengan flow graph.

FLOW GRAPH

FLOW GRAPH (lanjutan)


Suatu flow graph terbentuk dari:
› Nodes (titik), mewakili statement (atau sub program)






yang akan ditinjau saat eksekusi program.
Edges (anak panah), mewakili jalur alur logika program
untuk menghubungkan satu satetment (atau sub

program) dengan yang lainnya.
Branch nodes (titik cabang), titik yang mempunyai
lebih dari satu anak panah keluaran
Branch edges (anak panah cabang), anak panah yang
keluar dari suatu cabang
Path (Jalur), jalur yang mungkin untuk bergerak dari
satu titik ke titik lainnya sejalan dengan keberadaan
arah anak panah.

CAKUPAN PERNYATAAN





Cakupan pernyataan berkaitan dengan
tinjauan terhadap titik (node) pada flow
graph.
Cakupan 100% terjadi bilamana semua
titik dikunjungi oleh test cases.

Pada contoh flow graph dislide
sebelumnya terdapat 10 titik. Misal
suatu jalur eksekusi program melewati
titik A, B, D, H, K. Berarti ada 5 titik
dari 10 titik yang dikunjungi, maka

CAKUPAN CABANG






Cakupan cabang ditentukan dengan menilai
proporsi dari cabang keputusan yang diuji oleh
test cases.
Cakupan cabang 100% adalah bilamana tiap
cabang keputusan pada program ditinjau
setidaknya minimal 1 kali.
Pada contoh flow graph dislide sebelumnya

terdapat 6 anak panah cabang. Misal jalur
ekseskusi program melewati titik-titik A, B, D, H,
K, maka jalur tersebut meninjau 2 dari 6 anak
panah cabang yang ada, jadi cakupannya sebesar
33%.

CAKUPAN JALUR






Cakupan jalur ditentukan oleh
proporsi eksekusi jalur program
yang diuji oleh sekumpulan
test cases.
Cakupan jalur 100% adalah
bilamana tiap jalur pada
program dikunjungi setidaknya

minimal 1 kali.
Berdasarkan contoh terdapat 4
jalur. Bila suatu eksekusi jalur
pada program melalui titik A,
B, D, H, K maka ekseskusi
tersebut meninjau 1 dari 4
jalur, maka cakupannya

DESAIN CAKUPAN TES
1.
2.

3.
4.

Analisa source code untuk membuat
flow graph
Identifikasi jalur tes untuk mencapai
pemenuhan tes berdasarkan flow
graph.

Mengevaluasi kondisi tes yang akan
dicapai dalam tiap tes.
Memberikan nilai masukan dan
keluaran berdasarkan pada kondisi.

BASIS PATH TESTING






Tehnik white box testing dikenalkan oleh Tom
McCabe.
Test case designer dapat mengetahui ukuran
kompleksitas sebuah desain aplikasi.
Ukuran tersebut digunakan sebagai acuan
untuk mendefinisikan jalur eksekusi,
sehingga setiap statement dalam program
dapat dicover oleh test case.

Menunjukkan jumlah minimum test case
yang perlu dibuat.

NOTASI FLOW GRAPH


Flow graph digunakan sebagai alat
bantu untuk memahami alur dan
mengilustrasikan pendekatan yang
akan digunakan.

SOURCE CODE -> FLOW
GRAPH


Source Code

SOURCE CODE -> FLOW
GRAPH (lanjutan)



Flow chart

SOURCE CODE -> FLOW
GRAPH (lanjutan)


Flow Graph

CYCLOMATIC COMPLEXITY






Metric (Satuan Pengukuran) Perangkat
Lunak yang memberikan pengukuran
kuantitatif terhadap kompleksitas sebuah
program.

Berguna untuk memprediksi modul-modul
yang berpotensi error. Sehingga dapat
digunakan untuk perencanaan dan disain
testing .
Mendefinisikan jumlah jalur (path)
independen.

MENGHITUNG
CYCLOMATIC COMPLEXITY


Kompleksitas dihitung dengan menggunakan salah
satu dari cara yang ada dibawah ini:
› Jumlah region yang ada didalam flowgraph
› Cyclomatic complexity -> V(G) dirumuskan dengan

V(G) = E – N + 2
Dimana:
 E (Jumlah Edge dalam flowgraph)
 N (Jumlah Node dalam flowgraph)


› Cyclomatic complexity -> V(G) dirumuskan dengan

V(G) = P + 1
Dimana:
 P (Jumlah Predicate Node dalam flowgraph)
 Predicate node adalah node yang memiliki kondisi (ditandai dengan 2
panah atau lebih yang keluar dari node tersebut)

JALUR INDEPENDEN
(INDEPENDENT PATH)


Jalur independen (Independent path)
adalah jalur program yang membentuk
sekumpulan proses baru atau sebuah
kondisi baru.

KORELASI CYCLOMATIC COMPLAXITY
& INDEPENDENT PATH


Dari Flow Graph diatas (Slide 14) maka nilai cyclomatic
complexity nya dapat dihitung dengan:
1. Melihat flow graph -> memiliki 4 region
2. V(G) = 11 edges – 9 nodes + 2 =4
3. V(G) = 3 predicate nodes + 1 = 4



Dari Flow Graph diatas (Slide 14) maka jalur ( path)
independen yang terbentuk ada 4 yaitu:
› Path
› Path
› Path
› Path

1: 1 – 11
2: 1-2-3-4-5-10-1-11
3: 1-2-3-6-8-9-10-1-11
4: 1-2-3-6-7-9-10-1-11
* 1-2-3-4-5-10-1-2-3-6-8-9-10-1-11 (bukan independent path karena
hanya berupa kombinasi path yang sudah ada dan tidak melewati
edge baru.