Pengujian White Box
Pengujian white box adalah pengujian yang didasarkan pada pengecekan terhadap detail perancangan, menggunakan struktur kontrol dari desain program secara procedural untuk membagi pengujian ke dalam beberapa kasus pengujian. Secara sekilas dapat diambil kesimpulan white box testing merupakan petunjuk untuk mendapatkan program yang benar secara 100%.
Penggunaan metode pengujian white box dilakukan untuk :
- Memberikan jaminan bahwa semua jalur independen suatu modul digunakan minimal satu kali
- Menggunakan semua keputusan logis untuk semua kondisi true atau false
- Mengeksekusi semua perulangan pada batasan nilai dan operasional pada setiap kondisi.
- Menggunakan struktur data internal untuk menjamin validitas jalur keputusan.
- Persyaratan dalam menjalankan strategi White Box Testing
- Mendefinisikan semua alur logika
- Membangun kasus untuk digunakan dalam pengujian
- Mengevaluasi semua hasil pengujian
- Melakukan pengujian secara menyeluruh
Baca juga: Software Engineering
A) Notasi Diagram Alir (Path Graph Notation)
Notasi yang digunakan untuk menggambarkan jalur eksekusi adalah notasi diagram alir (atau grafik program), yang menggunakan notasi lingkaran (simpul atau node) dan anak panah (link atau edge). Notasi ini menggambarkan aliran control logika yang digunakan dalam suatu bahasa pemrograman.
Tabel 1. Notasi Diagram Alir
Untuk mengilustrasikan kegunaan dari diagram alir dapat dilihat pada gambar dibawah ini.
Gambar bagian (a) digunakan untuk menggambarkan struktur kontrol program, sedangkan gambar bagian (b) setiap lingkaran disebut dengan flow graph node, merepresentasikan satu atau lebih perintah prosedural. Urutan dari kotak simbol proses dan belah ketupat simbol keputusan dapat digambarkan menjadi sebuah node, sedangkan anak panah disebut edges, menggambarkan aliran dari kontrol sesuai dengan diagram alir.
Sebuah edge harus berakhir pada sebuah node walaupun tidak semua node merepresentasikan perintah prosedural. Area yang dibatasi oleh edge dan node disebut region, area diluar graph juga dihitung sebagai region.
Setiap representasi rancangan prosedural dapat diterjemahkan kedalam flow graph. Gambar (a) dibawah ini merupakan bagian dari PDL (Program Design Language) dan flow graph-nya (perhatikan nomor untuk setiap perintahnya).
Ketika kondisi gabungan ditemukan, maka penggambaran flow graph akan menjadi lebih rumit. Kondisi gabungan biasanya muncul jika satu atau lebih operator Boolean (OR, AND, NAND, NOR) ditemukan dalam perintah, seperti terlihat pada gambar (b) dibawah ini :
Contoh yang kedua mengenai penggambaran flow chart dan flow graf:
B) Kompleksitas Siklomatis (Cyclomatic Complexity)
Kompleksitas Siklomatis adalah metriks perangkat lunak yang memberikan pengukuran kuantitatif terhadap kompleksitas logis suatu program. Ketika digunakan dalam konteks metode ujicoba berbasis alur, nilai yang didapat akan menentukan jumlah jalur independen dalam himpunan path, serta akan memberi nilai batas atas bagi jumlah pengujian yang harus dilakukan, untuk memastikan bahwa semua pernyataan telah dieksekusi sedikitnya satu kali.
Jalur independent adalah jalur yang terdapat dalam program yang mengintroduksi sedikitnya satu rangkaian pernyataan proses atau kondisi baru.
Berdasarkan contoh PDL yang pertama, maka jalur independent yang didapat:
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
Misalkan setip path yang baru memunculkan edge yang baru, dengan path :
1 – 2 – 3 – 4 – 5 – 10 – 1 – 2 – 3 – 6 – 8 – 9 – 10 – 1 – 11
Path diatas tidak dianggap sebagai independent path karena kombinasi path diatas telah didefinisikan sebelumnya Ketika ditetapkan dalam graf alur, maka independent path harus bergerak sedikitnya 1 edge yang belum pernah dilewati sebelumnya.
Kompleksitas cyclomatic dapat dicari dengan salah satu dari 3 cara berikut :
1. Jumlah region dari grafik alur mengacu kepada komplesitas cyclomatic
2. Kompleksitas cyclomatic V(G) untuk grafik alur G didefinisikan sebagai:
V(G) = E – N + 2, dimana E = jumlah edge, dan N = jumlah node
3. Kompleksitas cyclomatic V(G) untuk grafik alur G didefinisikan sebagai:
V(G) = P + 1, dimana P = jumlah predicates nodes yang diisikan dalam grafik alor G
Simpul Predikat adalah penggambaran suatu node yang memiliki satu atau lebih inputan, dan lebih dari satu output.
Berdasarkan flow graph gambar (b) diatas, maka kompleksitas cyclomatic-nya dapat di hitung sebagai berikut :
Grafik alir diatas mempunyai 4 region
V(G) = 11 edges – 9 nodes + 2 = 4
V(G) = 3 predicates nodes + = 4
Hasil kompleksitas cyclomatic menggambarkan banyaknya path dan batas atas sejumlah ujicoba yang harus dirancang dan dieksekusi untuk seluruh perintah dalam program.
Berdasarkan contoh PDL yang kedua, maka jalur independent yang didapat :
Jalur 1 : 1,2,3 – 4 – 5 – 10 – 11 – 12
Jalur 2 : 1,2,3 – 4 – 6 – 7 – 9 – 10 – 11 – 12
Jalur 3 : 1,2,3 – 4 – 8 – 9 – 10 – 11 – 12
Baca juga: Manajemen Resiko Rekayasa Perangkat Lunak
Contoh pengujian white-box
Menurut kebutuhan segitiga diberikan di bawah ini untuk menyelesaikan proses dan menyelesaikan tes:
1) masukan kondisi:
1, kondisi 1: a + b c
2, kondisi 2: a + c b
3, kondisi 3: b + c a
4, kondisi 04:00
5, kondisi 5-0
6, 7 kondisi 6-0, kondisi 7: a == b
8, kondisi 8: a == c
9, kondisi 9: b == c
10, kondisi 10: a2 + b2 c2 ==
11, kondisi 11: a2 + b2 c2 ==
12, kondisi 12: c2 + a2 == b2
2) output:
1, tidak dapat terbentuk segitiga
2, sebuah segitiga sama sisi
3, segitiga sama kaki
4, segi tiga siku-siku
5, segitiga umum
6, beberapa pihak tidak memenuhi pembatasan
Kesetaraan Partisi (EP) / Analisis Nilai Batas (BVA)
Partisi kesetaraan (EP) dan analisis nilai batas (BVA) memberikan strategi untuk menulis kasus pengujian white-box. Tidak diragukan lagi, setiap kali Anda menghadapi segala jenis nomor atau membatasi dalam persyaratan, Anda harus waspada untuk masalah EP / BVA.
Sebagai contoh, seseorang mungkin ingin membeli rumah, tetapi mungkin atau mungkin tidak memiliki cukup uang. Mengingat EP / BVA, saya ingin memastikan kasus uji kami meliputi:
1. properti biaya $ 100, telah memiliki $ 200 (kelas kesetaraan “memiliki cukup uang”)
2. properti biaya $ 100, memiliki $ 50 (kelas kesetaraan, “tidak punya cukup uang”)
3. properti biaya $ 100, $ 100 maka (nilai batas)
4. properti biaya $ 100, memiliki $ 99 (nilai batas)
5. properti biaya $ 100, memiliki $ 101 (nilai batas)
Dengan loop pemrograman (seperti perulangan while), pertimbangkan EP dan melaksanakan loop di tengah operasional terikat mereka. Untuk BVA, Anda akan ingin memastikan bahwa Anda menjalankan loop tepat di bawah, sudah tepat, dan tepat di atas kondisi batas mereka.
Demikianlah Artikel Pengujian White Box
Sekianlah artikel Pengujian White Box kali ini, mudah-mudahan bisa memberi manfaat untuk anda semua. baiklah, sampai jumpa di postingan artikel lainnya.
0 Response to "Pengujian White Box"
Posting Komentar