• Tidak ada hasil yang ditemukan

Black Box Testing Dan Contoh Pengujian Black Box

N/A
N/A
Protected

Academic year: 2021

Membagikan "Black Box Testing Dan Contoh Pengujian Black Box"

Copied!
10
0
0

Teks penuh

(1)

Halaman1

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

(2)

Halaman2 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

(3)

Halaman3 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") ) { -2- rushCharge = 14.50; }

-3- double tax = amount * .0725; -3- if (amount >= 1000)

{

-4- shipcharge = amount * .06 + rushCharge;

}

(4)

Halaman4

{

-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 kompleksitas cyclomatic dari grafik aliran. V(G) = E - N + 2

(5)

Halaman5 = 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 nextday amount expected result

1 yes 10 30.48 2 no 1500 ????.?? 3 no 300 345.75 4 no 150 174.125 5 no 75 90.3875 6 no 30 39.425 7 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, 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.

(6)

Halaman6 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, specification-

based 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

(7)

Halaman7

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:

(8)

Halaman8  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

No. Skenario pengujian Test case Hasil yang diharapkan Hasil pengujian Kesimpulan 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

(9)

Halaman9 No. Skenario pengujian Test case Hasil yang diharapkan Hasil pengujian Kesimpulan 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

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.

(10)

Halaman10  Dilakukan setelah white box testing.

DAFTAR PUSTAKA

1. http://dasar-pendidikan.blogspot.com/2013/06/black-box-testing-dan-contoh-pengujian.html 2. http://ismimiitsme.blogspot.com/2013/10/pengertian-dan-perbedaan-white-box.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/

Gambar

Tabel pengujian black-box pada validasi login admin aplikasi sistem pakar

Referensi

Dokumen terkait

menggunakan kuesioner mengenai fungsi- fungsi interface yang terdapat pada aplikasi Action & Strategy (black box testing) untuk memastikan keseluruhan sistem

Pada pengujian sendiri ada beberapa jenis pengujian sistem, pengujian yang akan digunakan adalah pengujian kotak hitam dengan cara menggunakan metode analisis nilai batas

Pada pengkajian ini perangkat lunak yang akan dikaji menggunakan Black Box Testing adalah sebuah Sistem Aplikasi Informasi Peminjaman PlayStation dimana aplikasi

Perkembangan teknologi internet saat ini telah berkembang sangat pesat. Hal ini menyebabkan terjadinya perubahan yang tidak bisa kita hindari sehingga dituntut

Berdasarkan hasil pengujian sistem dengan menggunakan metode black box, aplikasi SIA BOS yang telah dibuat tidak ditemukan permasalahan dari sistem. Sistem yang dibuat

Perkembangan teknologi internet saat ini telah berkembang sangat pesat. Hal ini menyebabkan terjadinya perubahan yang tidak bisa kita hindari sehingga dituntut

– Pengujian kotak putih yang dibuat untuk menguji kondisi lojik dalam sebuah program. – Jenis-jenis

 Kebenaran pengujian dilihat dari keluaran yang dihasilkan dari data atau kondisi masukan yang diberikan untuk fungsi yang ada tanpa melihat bagaimana proses untuk