Ads 468x60px

Minggu, 30 Maret 2014

WHITE BOX DAN BLACK BOX TESTING

WHITE BOX TESTING

- Pengertian White Box Testing
White Box Testing merupakan cara pengujian dengan melihat ke dalam modul untuk meneliti kode-kode program yang ada, dan menganalisis apakah ada kesalahan atau tidak. Jika ada modul yang menghasilkan output yang tidak sesuai dengan proses bisnis yang dilakukan, maka baris-baris program, variabel, dan parameter yang terlibat pada unit tersebut akan dicek satu persatu dan diperbaiki, kemudian di-compile ulang.

- Dengan menggunakan white box akan didapatkan kasus uji yang :
• Menguji semua keputusan logikal
• Menguji seluruh Loop yang sesuai dengan batasannya
• Menguji seluruh struktur data internal yang menjamin validitas

- Kelebihan White Box Testing
• Kesalahan Logika
Digunakan pada sintaks ‘if’ dan pengulangan. Dimana White Box Testing akan mendeteksi kondisi-kondisi yang tidak sesuai dan mendeteksi kapan proses pengulangan akan berhenti.

• Ketidaksesuaian asumsi
Menampilkan asumsi yang tidak sesuai dengan kenyataan, untuk di analisa dan diperbaiki.

• Kesalahan ketik
Mendeteksi bahasa pemrograman yang bersifat case sensitive.

- Kelemahan White Box Testing
Untuk perangkat lunak yang tergolong besar, White Box Testing dianggap sebagai strategi yang tergolong boros, karena akan melibatkan sumber daya yang besar untuk melakukannya.

BASIS PATH TESTING
- Pengertian Basis Path Testing
Basis Path Testing memungkinkan perancang test case mendapatkan ukuran kompleks logical dari perancangan prosedural dan menggunakan ukuran ini sebagai petunjuk untuk mendefinisikan himpunan jalur yang akan diuji. Basis Path menggunakan notasi graph atau flow graph untuk menggambarkan aliran kontrolnya.
  Lingkaran (node), menggambarkan satu atau lebih perintah prosedural. Urutan proses dan keputusan dapat dipetakan dalam satu node. Tanda panah (edge), menggambarkan aliran kontrol. Setiap node harus mempunyai tujuan node. Region adalah daerah yang dibatasi oleh edge dan node. Termasuk daerah diluar grafik alir.

CYCLOMATIC COMPLEXITY
- Pengertian Cyclomatic Complexity
Cyclomatic Complexity merupakan suatu sistem pengukuran yang menyediakan ukuran kuantitatif dari kompleksitas logika suatu program. Pada Basis Path Testing, hasil dari cyclomatic complexity digunakan untuk menentukan banyaknya independent paths. Independent path adalah sebuah kondisi pada program yang menghubungkan node awal dengan node akhir.

Terdapat 2 persamaan yang digunakan, yaitu:

V(G)= E - N + 2 atau V(G)= P + 1

Keterangan:

V(G)= cyclomatic complexity untuk flow graph G

E=Jumlah edge(panah)

N=Jumlah node(lingkaran)

P=Jumlah predicate node

BLACK BOX TESTING

- Black Box Testing
Metode pengujian perangkat lunak yang tes fungsionalitas dari aplikasi yang bertentangan dengan struktur internal atau kerja (lihat pengujian white-box). pengetahuan khusus dari kode aplikasi / struktur internal dan pengetahuan pemrograman pada umumnya tidak diperlukan. Uji kasus dibangun di sekitar spesifikasi dan persyaratan, yakni, aplikasi apa yang seharusnya dilakukan. Menggunakan deskripsi eksternal perangkat lunak, termasuk spesifikasi, persyaratan, dan desain untuk menurunkan uji kasus. Tes ini dapat menjadi fungsional atau non-fungsional, meskipun biasanya fungsional. Perancang uji memilih input yang valid dan tidak valid dan menentukan output yang benar. Tidak ada pengetahuan tentang struktur internal benda uji itu.
Metode uji dapat diterapkan pada semua tingkat pengujian perangkat lunak: unit, integrasi, fungsional, sistem dan penerimaan.Ini biasanya terdiri dari kebanyakan jika tidak semua pengujian pada tingkat yang lebih tinggi, tetapi juga bisa mendominasi unit testing juga.

Ujicoba blackbox berusaha untuk menemukan kesalahan dalam beberapa kategori, diantaranya :
1. Fungsi-fungsi yang salah atau hilang
2. Kesalahan interface
3. Kesalahan dalam struktur data atau akses database eksternal
4. Kesalahan performa
5. kesalahan inisialisasi dan terminasi

Top-down Testing
Pada cara top-down, kita memerlukan stub, yaitu modul pengganti yang berperan sebagai modul yang akan ‘dipanggil’ oleh modul yang sedang diuji. Misalnya, kita perlu stub yang membangkitkan jam kerja secara random untuk untuk menguji modul perhitungan gaji.

Sedangkan pada cara bottom-up, kita memerlukan driver, yaitu modul pengganti yang akan ‘memanggil’ modul yang sedang diuji. Misalnya, kita perlu driver yang ‘memanggil’ fungsi hitung gaji pada modul yang sedang diuji, dengan parameter yang sesuai.

Jadi, pada struktur hirarki modul, jika kita sedang menguji modul A, maka stub adalah modul pengganti untuk modul-modul di bawah A, sedangkan driver adalah modul pengganti untuk modul-modul di atas A.

Equivalence partitioning
Equivalence partitioning adalah metode pengujian black-box yg memecah atau membagi domain input dari program ke dalam kelas-kelas data sehingga test case dapat diperoleh. Perancangan test case equivalence partitioning berdasarkan evaluasi kelas equivalence untuk kondisi input yg menggambarkan kumpulan keadaan yg valid atau tidak. Kondisi input dapat berupa nilai numeric, range nilai,kumpulan nilai yg berhubungan atau kondisi Boolean.

Referensi :
http://sciencebooth.com/tag/black-box-testing/
http://teknologi.kompasiana.com/gadget/2010/12/13/blackbox-testing-324503.html
http://bangwildan.web.id/berita-176-white-box-testing--black-box-testing.html

Aldie Budiman
10110506
4KA20