Black Box Testing Dan Contoh Pengujian Black Box
May 3, 2017 | Author: thommy_adi | Category: N/A
Short Description
Download Black Box Testing Dan Contoh Pengujian Black Box...
Description
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 validitas I.1 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. 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 Halaman 1
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 + 1 Keterangan: V(G)= cyclomatic complexity untuk flow graph G E=Jumlah edge(panah) N=Jumlah node(lingkaran) P=Jumlah predicate node
Contoh Testing White Box 1:
Halaman 2
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 jumlah conditional / predikat (diamond) dan tambahkan 1. Dalam contoh di atas, ada lima conditional. Oleh karena itu, jumlah cyclomatic kami 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") ) { -2rushCharge = 14.50; } -3- double tax = amount * .0725; -3- if (amount >= 1000) { -4shipcharge = amount * .06 + rushCharge; } -5- else if (amount >= 200)
Halaman 3
{ -6-7-8-9-10-11-12-
-13-14-14-
shipcharge = amount * .08 + rushCharge; } else if (amount >= 100) { shipcharge = 13.25 + rushCharge; } else if (amount >= 50) { shipcharge = 9.95 + rushCharge; } else if (amount >= 25) { shipcharge = 7.25 + rushCharge; } else { shipcharge = 5.25 + rushCharge; } total = amount + tax + shipcharge; return total; } //end calculate
Dibawah ini adalah flowchart dari contoh program diatas :
Step 2: Menentukan kompleksitas cyclomatic dari grafik aliran. V(G) = E - N + 2 Halaman 4
= 19 - 14 + 2 = 7 Keterangan: E : Jumlah Busur atau Link N : 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 independen Path 1: 1 - 2 - 3 - 5 - 7 - 9 - 11 - 13 - 14 Path 2: 1 - 3 - 4 - 14 Path 3: 1 - 3 - 5 - 6 - 14 Path 4: 1 - 3 - 5 - 7 - 8 - 14 Path 5: 1 - 3 - 5 - 7 - 9 - 10 - 14 Path 6: 1 - 3 - 5 - 7 - 9 - 11 - 12 - 14 Path 7: 1 - 3 - 5 - 7 - 9 - 11 - 13 - 14 Step 4: Menyiapkan test cases bahwa pelaksanaan kekuatan setiap jalur di set dasar. path 1 2 3 4 5 6 7
nextday amount yes 10 no 1500 no 300 no 150 no 75 no 30 no 10
expected result 30.48 ????.?? 345.75 174.125 90.3875 39.425 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, yakni pengujian black box dan pengujian white box, untukmaksud dan contoh pengujian white box beberapa waktu lalu sudah pernah saya share, jadi untuk yang kali ini membahas black box testing dan contoh dari pengujian black box itu sendiri. Black-Box Testing merupakan pengujian yang berfokus pada spesifikasi fungsional dari perangkat lunak, tester dapat mendefinisikan kumpulan kondisi input dan melakukan pengetesan pada spesifikasi fungsional program. II.1 Ciri-ciri black box testing
Halaman 5
1. 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, specificationbased testing, input/output testing atau functional testing Pada black box testing terdapat jenis teknik disain tes yang dapat dipilih berdasarkan pada tipe testing yang akan digunakan, yang diantaranya : 1. Equivalence Class Partitioning 2. Boundary Value Analysis 3. State Transitions Testing 4. 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
Halaman 6
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 box 1. 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. Contoh black 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: Halaman 7
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 “123” Tabel pengujian black-box pada validasi login admin aplikasi sistem pakar Skenario pengujian
Test case
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 sandi”
Sesuai harapan
Valid
2.
Hanya mengisi data nama admin dan mengosongkan data kata sandi, lalu langsung mengklik tombol „Masuk‟.
Nama: admin Kata sandi: -
Sistem akan menolak akses login dan menampilkan pesan “Mohon isi dulu salah satu data yang masih kosong”
Sesuai harapan
Valid
3.
Hanya mengisi data kata sandi dan mengosongkan data nama admin, lalu langsung mengklik tombol „Masuk‟.
Nama: Kata sandi: 123
Sistem akan menolak akses login dan menampilkan pesan “Mohon isi dulu salah satu data yang masih kosong”
Sesuai harapan
Valid
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 benar”
Sesuai harapan
Valid
No.
Hasil yang diharapkan
Hasil pengujian
Kesimpulan
Halaman 8
Skenario pengujian
Test case
Hasil yang diharapkan
5.
Menginputkan sintaks SQL Injection pada kedua data login, lalu mengklik tombol „Masuk‟.
Nama: „ OR ‟1′=‟1 Kata sandi: „ OR ‟1′=‟1
Sistem akan menolak akses login dan menampilkan pesan “Nama pengguna atau kata sandi salah! Silakan ulangi dengan data yang benar”
Sesuai harapan
Valid
6.
Menginputkan data login yang benar, lalu mengklik tombol „Masuk‟.
Nama: admin Kata sandi: 123
Sistem menerima akses login dan kemudian langsung menampilkan form pakar/admin.
Sesuai harapan
Valid
No.
Hasil pengujian
Kesimpulan
Keterangan: - = kosong (tidak diisi).
II.6. Kelebihan black box testing -
Dapat memilih subset test secara efektif dan efisien
-
Dapat menemukan cacat
-
Memaksimalkan testing investmen
II.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. Halaman 9
Dilakukan setelah white box testing.
DAFTAR PUSTAKA 1. http://dasar-pendidikan.blogspot.com/2013/06/black-box-testing-dan-contohpengujian.html 2. http://ismimiitsme.blogspot.com/2013/10/pengertian-dan-perbedaan-whitebox.html 3. http://bangwildan.web.id/berita-176-white-box-testing--black-box-testing.html 4. http://dasar-pendidikan.blogspot.com/2013/06/contoh-white-box-testing.html 5. http://kafegue.com/contoh-pengujian-black-box-testing/
Halaman 10
View more...
Comments