black box testing dan contoh pengujian black box

10
Halaman 1 White Box Testing dan Black Box Testing , Perbedaannya Serta Contohnya. I. White Box Testing Pengertian White B ox Testing adalah 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 batasan nya Menguji seluruh struktur data internal yang menjamin validitas I.1 Kelebihan White Box Testing Kesalahan Logika Digunakan pada sintaks „ifdan 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. I.2. 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. I.3. 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

Upload: thommyadi

Post on 16-Oct-2015

5.663 views

Category:

Documents


278 download

TRANSCRIPT

White Box Testing dan Black Box Testing ,Perbedaannya Serta Contohnya.I. White Box Testing Pengertian White Box Testing adalah 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 validitasI.1 Kelebihan White Box Testing Kesalahan LogikaDigunakan pada sintaks if dan pengulangan. Dimana White Box Testing akan mendeteksi kondisi-kondisi yang tidak sesuai dan mendeteksi kapan proses pengulangan akan berhenti. Ketidaksesuaian asumsiMenampilkan asumsi yang tidak sesuai dengan kenyataan, untuk di analisa dan diperbaiki. Kesalahan ketikMendeteksi bahasa pemrograman yang bersifat case sensitive.I.2. 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.I.3. 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.I.4. 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 + 1Keterangan:V(G)= cyclomatic complexity untuk flow graph GE=Jumlah edge(panah)N=Jumlah node(lingkaran)P=Jumlah predicate node

Contoh Testing White Box 1:

Menggunakan grafik aliran ini, kita dapat menghitung jumlah jalur independen melalui kode. Kami melakukan ini dengan menggunakan metrik disebut nomor cyclomatic (McCabe, 1976), yang didasarkan pada teori grafik. Cara termudah untuk menghitung jumlah siklomatik adalah dengan menghitung jumlahconditional/ predikat (diamond) dan tambahkan 1. Dalam contoh di atas, ada limaconditional. Oleh karena itu, jumlahcyclomatickami adalah 6, dan kami memiliki enam jalur independen melalui kode. Jadi kita sekarang dapat menghitungnya:1. 1-2-3-4-5-10 (properti yang dimiliki oleh orang lain, tidak mempunyai uang untuk sewa)2. 1-2-3-4-6-10 (properti yang dimiliki oleh orang lain, membayar sewa)3. 1-2-3-10 (properti yang dimiliki oleh pemain)4. 1-2-7-10 (properti yang tersedia, tidak memiliki cukup uang)5. 1-2-7-8-10 (properti yang tersedia, punya uang, tidak ingin membelinya)6. 1-2-7-8-9-10 (properti yang tersedia, punya uang, dan membelinya) Kami ingin menulis kasus pengujian untuk memastikan bahwa setiap jalur yang akan diuji setidaknya sekali. Seperti dikatakan di atas, jumlah siklomatik adalah batas bawah pada jumlah kasus uji yang akan kita tulis. Uji kasus yang ditentukan dengan cara ini adalah yang kami gunakan dalam pengujian basis patch.

Contoh Pengujian White Box 2:Step 1: Contoh prosedur di bawah ini menunjukkan bagaimana laporan algoritma dipetakan ke node grafik, nomor di sebelah kiri.public double calculate(int amount) {-1- double rushCharge = 0;-1- if (nextday.equals("yes") ) {-2- rushCharge = 14.50; }-3- double tax = amount * .0725;-3- if (amount >= 1000) {-4- shipcharge = amount * .06 + rushCharge; }-5- else if (amount >= 200) {-6- shipcharge = amount * .08 + rushCharge; }-7- else if (amount >= 100) {-8- shipcharge = 13.25 + rushCharge; }-9- else if (amount >= 50) {-10- shipcharge = 9.95 + rushCharge; }-11- else if (amount >= 25) {-12- shipcharge = 7.25 + rushCharge; } else {-13- shipcharge = 5.25 + rushCharge; }-14- total = amount + tax + shipcharge;-14- return total; } //end calculate

Dibawah ini adalah flowchart dari contoh program diatas :

Step 2: Menentukan kompleksitascyclomaticdari grafik aliran.V(G) = E - N + 2 = 19 - 14 + 2 = 7

Keterangan:E : Jumlah Busur atau LinkN : Jumlah Simpul

Ini menjelaskan bahwa batas atas pada ukuran basis set. Artinya, memberikan jumlah jalur independen yang perlu kita cari.

Step 3: Menentukan dasar jalur independenPath 1: 1 - 2 - 3 - 5 - 7 - 9 - 11 - 13 - 14Path 2: 1 - 3 - 4 - 14Path 3: 1 - 3 - 5 - 6 - 14Path 4: 1 - 3 - 5 - 7 - 8 - 14Path 5: 1 - 3 - 5 - 7 - 9 - 10 - 14Path 6: 1 - 3 - 5 - 7 - 9 - 11 - 12 - 14Path 7: 1 - 3 - 5 - 7 - 9 - 11 - 13 - 14

Step 4: Menyiapkan test cases bahwa pelaksanaan kekuatan setiap jalur di set dasar.

pathnextdayamountexpected result1 yes 10 30.482 no 1500 ????.??3 no 300 345.754 no 150 174.1255 no 75 90.38756 no 30 39.4257 no 10 15.975

Penyataan pengulangan statement di tengah-tengah blok diperlukan meskipun ada gambaran sampai akhir, Jika itu adalah simbol terminal tambahan.Kembali dari ekspresi boolean diperlakukan jika ada penyataan (statement)

II. Black Box Testing Dalam testing dan implementasi sistem dikenal 2 metode pengujian yang populer, yaknipengujian black boxdanpengujian white box, untukmaksud dan contoh pengujian white boxbeberapa waktu lalu sudah pernah saya share, jadi untuk yang kali ini membahasblack box testing dan contoh dari pengujian black boxitu sendiri. Black-Box Testingmerupakan pengujian yang berfokus pada spesifikasi fungsional dari perangkat lunak, tester dapat mendefinisikan kumpulan kondisi input dan melakukanpengetesan pada spesifikasi fungsional program. II.1 Ciri-ciri black box testing1. Black box testing berfokus pada kebutuhan fungsional pada software, berdasarkan pada spesifikasi kebutuhan dari software.2. Black box testing bukan teknik alternatif daripada white box testing. Lebih daripada itu, ia merupakan pendekatan pelengkap dalam mencakup error dengan kelas yang berbeda dari metode white box testing.3. Black box testing melakukan pengujian tanpa pengetahuan detil struktur internal dari sistem atau komponen yang dites. juga disebut sebagai behavioral testing, specification-based testing, input/output testing atau functional testing Padablack box testingterdapat jenis teknik disain tes yang dapat dipilih berdasarkan pada tipe testing yang akan digunakan, yang diantaranya :1. Equivalence Class Partitioning2. Boundary Value Analysis3. State Transitions Testing4. Cause-Effect Graphing II.2. Kategori error yang akan diketahui melalui black box testing : Fungsi yang hilang atau tak benar Error dari antar-muka Error dari struktur data atau akses eksternal database Error dari kinerja atau tingkah laku Error dari inisialisasi dan terminasi

II.3. Equivalence partitioning 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. II.4. Analisa partisi pada equivalence partitioning black box1. Tester menyediakan suatu model komponen yang dites yang merupakan partisi dari nilai masukan dan keluaran komponen.2. Masukan dan keluaran dibuat dari spesifikasi dari tingkah laku komponen.3. 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).4. Partisi untuk nilai valid dan tidak valid harus ditentukan. II.5. Contohblack box testing dengan equivalence partitioning: Contoh Pengujian Black Box 1: Pemeliharaan data untuk aplikasi bank yang sudah diotomatisasikan. Pemakai dapat memutar nomor telepon bank dengan menggunakan mikro komputer yang terhubung dengan password yang telah ditentukan dan diikuti dengan perintah-perintah. Data yang diterima adalah :-Kode area:kosong atau 3 digit.-Prefix :3 digit atau tidak diawali 0 atau 1.- Suffix :4 digit.- Password :6 digit alfanumerik.- Perintah :check, deposit, dll. Selanjutnya kondisi input digabungkan dengan masing-masing data elemen dapat ditentukan sebagai berikut: Kode area : kondisi input, Boolean kode area mungkin ada atau tidak kondisi input, range nilai ditentukan antara 200 dan 999. Prefix : kondisi input range > 200 atau tidak diawali 0 atau 1. Suffix : kondisi input nilai 4 digit. Password : kondisi input boolean passwordmungkin diperlukan atau tidak kondisi input nilai dengan 6 karakter string. Perintah: kondisi input set berisi perintah-perintah yang telah didefinisikan.

Contoh Pengujian Black Box 2: Contoh lain pengujian black box berdasarkan kasus pengujian salah satu aplikasi, dalam hal ini misalnya nama admin yang benar yaitu admin dan kata sandinya yaitu 123Tabel pengujian black-box pada validasi login admin aplikasi sistem pakarNo.Skenario pengujianTest caseHasil yang diharapkanHasil pengujianKesimpulan

1.Mengosongkan semua isian data login, lalu langsung mengklik tombol Masuk.Nama: -Kata sandi: -Sistem akan menolak akses login dan menampilkan pesan Mohon isi dulu nama admin dan kata sandiSesuai harapanValid

2.Hanya mengisi data nama admin dan mengosongkan data kata sandi, lalu langsung mengklik tombol Masuk.Nama: adminKata sandi: -Sistem akan menolak akses login dan menampilkan pesan Mohon isi dulu salah satu data yang masih kosongSesuai harapanValid

3.Hanya mengisi data kata sandi dan mengosongkan data nama admin, lalu langsung mengklik tombol Masuk.Nama: -Kata sandi: 123Sistem akan menolak akses login dan menampilkan pesan Mohon isi dulu salah satu data yang masih kosongSesuai harapanValid

4.Menginputkan dengan kondisi salah satu data benar dan satu lagi salah, lalu langsung mengklik tombol Masuk.Nama: mimin (salah).Kata sandi: 123 (benar).Sistem akan menolak akses login dan menampilkan pesan Nama pengguna atau kata sandi salah! Silakan ulangi dengan data yang benarSesuai harapanValid

5.Menginputkan sintaksSQL Injectionpada kedua data login, lalu mengklik tombol Masuk.Nama: OR 1=1Kata sandi: OR 1=1Sistem akan menolak akses login dan menampilkan pesan Nama pengguna atau kata sandi salah! Silakan ulangi dengan data yang benarSesuai harapanValid

6.Menginputkan data login yang benar, lalu mengklik tombol Masuk.Nama: adminKata sandi: 123Sistem menerima akses login dan kemudian langsung menampilkan form pakar/admin.Sesuai harapanValid

Keterangan:- = kosong (tidak diisi).

II.6. Kelebihan black box testing Dapat memilih subset test secara efektif dan efisien Dapat menemukan cacat Memaksimalkan testing investmenII.7. Kelemahan black box testing Tester tidak pernah yakin apakah PL tersebut benar-benar lulus uji.III. Perbedaan White Box & Black Box III.1. White box (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. III.2. Metode BlackBox (Fungsional) 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.DAFTAR PUSTAKA

1. http://dasar-pendidikan.blogspot.com/2013/06/black-box-testing-dan-contoh-pengujian.html2. http://ismimiitsme.blogspot.com/2013/10/pengertian-dan-perbedaan-white-box.html3. http://bangwildan.web.id/berita-176-white-box-testing--black-box-testing.html4. http://dasar-pendidikan.blogspot.com/2013/06/contoh-white-box-testing.html5. http://kafegue.com/contoh-pengujian-black-box-testing/Halaman 10