Nama :
Bismo Nugroho Aji
Kelas :
4KA20
NPM :
11110424
Pengertian :
WhiteBox dan BlackBox testing termasuk tes yang dilakukan berdasarkan pada
suatu inisialisasi, masukan, kondisi ataupun hasil yang telah ditentukan
sebelumnya.
WhiteBox adalah pengujian yang didasarkan pada pengecekan terhadap detail perancangan, menggunakan struktur kontrol dari desain program secara procedural untuk membagi pengujian kedalam beberapa kasus pengujian. Whitebox testing mengacu pada testing sisi developer, berupa testing yang dilakukan pada unit terkecil dalam sebuah aplikasi, dalam hal ini berupa kode program.
Berikut ini adalah notasi yang digunakan whitebox yaitu Notasi diagram alur (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.
Berikut ini adalah notasi yang digunakan whitebox yaitu Notasi diagram alur (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.
Path Graph Notation |
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
BlackBox Testing :
BlackBox adalah pengujian yang berfokus pada spesifikasi fungsional dari perangkat lunak, tester dapat mendefinisikan kumpulan kondisi input dan melakukan pengetesan pada spesifikasi fungsional program. Jadi dianalogikan seperti kita melihat suatu kotak hitam , kita hanya bisa melihat penampilan luarnya saja, tanpa tahu ada apadibalik bungkus hitamnya.
Merupakan metode black box testing yang membagi domain masukan dari suatu program ke dalam kelas-kelas data, dimana test cases dapat diturunkan [BCS97a]. Equivalence partitioning berdasarkan pada premis masukan dan keluaran dari suatu komponen yang dipartisi ke dalam kelas-kelas, menurut spesifikasi dari komponen tersebut, yang akan diperlakukan sama (ekuivalen) oleh komponen tersebut. Dapat juga diasumsikan bahwa masukan yang sama akan menghasilkan respon yang sama pula. Nilai tunggal pada suatu partisi ekuivalensi diasumsikan sebagai representasi dari semua nilai dalam partisi.
Analisa partisi pada Equivalence Partitioning Black Box
- Tester menyediakan suatu model komponen yang dites yang merupakan partisi dari nilai masukan dan keluaran komponen.
- Masukan dan keluaran dibuat dari spesifikasi dari tingkah laku komponen.
- Partisi adalah sekumpulan nilai, yang dipilih dengan suatu cara dimana semua nilai di dalam partisi, diharapkan untuk diperlakukan dengan cara yang sama oleh komponen (seperti mempunyai proses yang sama).
- Partisi untuk nilai valid dan tidak valid harus ditentukan.
Keunggulan dan kekurangan :
Whitebox testing:
Keunggulan :
- menjamin seluruh independent path di dalam modul yang dikerjakan, sekurang-kurangnya sekali pengujian
- mengerjakan seluruh loop yang sesuai dengan batasannya
- mengerjakan seluruh struktur data internal yang menjamin validitas
Kekurangan :
- melibatkan sumber daya yang besar ,pembuatan class test bisa memakan waktu lebih lama.
- belum mampu melakukan tes availability, reliability,dan load durability dalam testing.
Blackbox testing :
Keunggulan :
- bisa memilih sub test secara efektif dan efisien
- dapat menemukan cacat lebih cepat
Kekurangan :
tester tidak pernah yakin apakah software tersebut benar – benar lolos uji.
Perbedaan White Box & Black Box
1. WhiteBox (Struktural)
- Dilakukan oleh penguji yang mengetahui tentang QA.
- Melakukan testing pada software/program aplikasi menyangkut security dan performance program tersebut (meliputi tes code, desain implementasi, security, data flow, software failure).
- Dilakukan seiring dengan tahapan pengembangan software atau pada tahap testing.
- Dilakukan oleh penguji Independent.
- Melakukan pengujian berdasarkan apa yang dilihat, hanya fokus terhadap fungsionalitas dan output. Pengujian lebih ditujukan pada desain software sesuai standar dan reaksi apabila terdapat celah-celah bug/vulnerabilitas pada program aplikasi tersebut setelah dilakukan white box testing.
- Dilakukan setelah white box testing.
Sumber :
http://miftahalternate.wordpress.com/2011/10/17/black-box-testing/
http://universitaspendidikan.com/pengertian-white-box-dan-contoh-white-box-testing/
http://dasar-pendidikan.blogspot.com/2013/06/black-box-testing-dan-contoh-pengujian.html
http://software-test-think.blogspot.com/2012/09/blackbox-dan-whitebox-testing.html
http://ismimiitsme.blogspot.com/2013/10/pengertian-dan-perbedaan-white-box.html