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.
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.