Monday, March 17, 2014

Pengujian Perangkat Lunak dengan metode White Box

Pengujian perangkat lunak perlu dilakukan untuk mengevaluasi baik secara manual maupun otomatis untuk menguji apakah perangkat lunak sudah memenuhi  persyaratan atau belum, dan untuk menentukan perbedaan  antara hasil yang diharapkan dengan hasil sebenarnya.

Tujuan pengujian perangkat lunak adalah :
-         Menilai apakah perangkat lunak yang dikembangkan telah memenuhi kebutuhan pemakai.
-         Menilai apakah tahap pengembangan perangkat lunak telah sesuai  dengan metodologi yang digunakan.
-         Membuat dokumentasi hasil pengujian yang menginformasikan kesesuaian perangkat lunak yang diuji dengan spesifikasi  yang telah ditentukan.
Teknik pengujian dapat dilakukan dengan menggunakan pengujian White-Box dan Black-Box
Berikut ini penjelasan tentang white box :
Pengujian white-box (glass box), adalah metode desain test case yang menggunakan struktur kontrol desain prosedural untuk memperoleh test case. Dengan menggunakan metode pengujian white-box, perekayasa sistem dapat melakukan test case untuk memberikan jaminan bahwa [19]:
-         Semua jalur independen pada suatu modul ditelusuri minimal 1 kali
-         Semua jalur keputusan logis True/False dilalui
-         Semua loop dieksekusi pada batas yang tercantum dan batas operasionalnya
-         Struktur data internal digunakan agar validitas terjamin
 Pengujian white-box bisa dilakukan dengan pengujian basis path, metode ini merupakan salah satu teknik pengujian struktur kontrol untuk menjamin semua statemen dalam setiap jalur independen program dieksekusi minimal 1 kali. Perhitungan jalur independen dapat dilakukan melalui metrikCyclomatic Complexity. Sebelum menghitung nilai Cyclomatic Complexity, harus diterjemahkan desain prosuderal ke grafik alir, kemudian dibuat flow graphnya, seperti pada gambar di bawah ini.
Bagan Alir / Flowchart

Flow Graph

Dari gambar flowgraph di atas didapat :
Path 1 = 1 – 11
Path 2 = 1 – 2 – 3 – 4 – 5 – 10 – 1  11
Pat3 = 1 – 2 – 3 – 6 – 8 – 9  10 – 1 – 11
Pat4 = 1 – 2 – 3 – 6 – 7 – 9  10  1  11
Pat 1,2,3, yan telah  didefinisikan  diata merupaka basis  set  untuk diagram alir.
Cyclomati complexity  digunaka untuk  mencar jumla path  dala satflowgraph. Dapat dipergunakan rumusan sebagai berikut :
1. Jumlaregion grafik alisesuai dengan cyclomatic complexity.
2. Cyclomatix complexity V(G) untuk grafik alir dihitung dengarumus:

                                    V(G) = E – N + 2           …………. (1)


Dimana:
E = jumlah edge pada grafik alir
N = jumlanode pada grafik alir
1.    Cyclomatix complexity V(G) juga dapat dihitung dengarumus:

                                    V(G) = P + 1                   ……….. (2)
Dimana P = jumlah predicate node pada grafik alir

Dari  Gambar di atas dapat dihitung cyclomatic complexity:
1. Flowgraph mempunyai 4 region
2. V(G) = 11 edge – 9 node + 2 = 4
3. V(G) = predicate node + 1 = 4
Jadi cyclomatic complexity untuk flowgraph adalah 4


Nilai Cyclomatic Complexity
Cyclomatic Complexity yang tinggi menunjukkan prosedur kompleks yang sulit untuk dipahami, diuji dan dipelihara. Ada hubungan antara Cyclomatic Complexity dan resiko dalam suatu prosedur.

Hubungan antara Cyclomatic Complexity dan Resiko
CC
Type of Procedure
Risk
1-4
A simple procedure
Low
5-10
A well structured and stable procedure
Low
11-20
A more complex procedure
Moderate
21-50
A complex procedure, alarming
High
>50
An error-prone, extremely troublesome, untestable procedure
Very high



Biasanya batas maksimum nilai yang dapat diterima Cyclomatic Complexity adalah 10. Nilai-nilai lain, seperti 15 atau 20, juga telah diusulkan. Terlepas dari batas yang tepat, jika Cyclomatic Complexity melebihi 20, harus dipertimbangkan hal itu. Prosedur dengan kompleksitas yang tinggi cyclomatic harus disederhanakan atau dipecah menjadi beberapa prosedur yang lebih kecil.

Menurut Rich Sharpe, kami telah melakukan analisis historis puluhan ribu file kode sumber, menerapkan metrik individu kepada mereka, yang McCabe adalah salah satu. Untuk setiap file, kami menganalisis metrik, bersama dengan tingkat cacat untuk file itu, dan melakukan korelasi.

Grafik di bawah ini menunjukkan korelasi Cyclomatic Complexity (CC) nilai-nilai pada tingkat file (x-sumbu) terhadap kemungkinan kesalahan yang ditemukan dalam file-file (y-axis).



Hasil penelitian menunjukkan bahwa file yang memiliki nilai CC 11 memiliki probabilitas terendah rawan kesalahan (28%). File dengan nilai CC 38 memiliki probabilitas 50% menjadi rawan kesalahan. File yang mengandung nilai-nilai CC dari 74 dan naik sampai dengan 98% ditambah probabilitas rawan kesalahan.

No comments:

Post a Comment