February 18, 2017

Pengujian Perangkat Lunak Dengan Metode Black Box Dan White Box

Contoh pengujian perangkat lunak dengan Metode Black Box:

Contoh 1:
Pemeliharaan data untuk aplikasi bank yang sudah diotomatisasikan. Pemakai dapat memutar nomor telepon bank dengan menggunakan mikrokomputer 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.
  • 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 – password mungkin diperlukan atau  tidak kondisi input nilai dengan 6 karakter string.
  • Perintah   : kondisi input set berisi perintah-perintah yang telah didefinisikan.

Contoh 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
Status
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
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


Contoh pengujian perangkat lunak dengan Metode White Box:


Menggunakan grafik aliran, dapat dihitung jumlah jalur independen melalui kode. Ini dilakukan 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  adalah 6, dan memiliki enam jalur independen melalui kode. Jadi sekarang dapat dihitung:

  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)
Kasus pengujian ditulis 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 ditulis. Uji kasus yang ditentukan dengan cara ini adalah yang digunakan dalam pengujian basis patch.


Jelaskan perbedaan pengujian perangkat lunak dengan metode Black Box dan White Box!

A. Metode Black Box
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.
Ciri-ciri black box testing:
  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 TestingCause-Effect Graphing
Kategori error yang akan diketahui melalui black box testing:
  1. Fungsi yang hilang atau tak  benar
  2. Error  dari antar-muka
  3. Error  dari struktur data atau  akses eksternal database
  4. Error  dari kinerja atau tingkah  laku
  5. Error  dari inisialisasi dan  terminasi  
Kelebihan black box testing:
  1. Dapat memilih subset test secara efektif dan efisien
  2. Dapat menemukan cacat
  3. Memaksimalkan testing investmen

Kelemahan black box testing:
  1. Tester tidak pernah yakin apakah PL tersebut benar-benar lulus uji

B. Metode White Box
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:
  1. Menguji semua keputusan logikal
  2. Menguji seluruh Loop yang sesuai dengan batasannya
  3. Menguji seluruh struktur data internal yang menjamin validitas
Kelebihan White Box Testing:
  1. 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.
  2. Ketidaksesuaian asumsi - Menampilkan asumsi yang tidak sesuai dengan kenyataan, untuk dianalisa dan diperbaiki.K
  3. 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.


Perbedaan White Box dan Black Box:

Metode White box (Struktural) 
  1. Dilakukan oleh penguji yang mengetahui tentang QA.
  2. Melakukan testing pada software/program aplikasi menyangkut security dan performance program tersebut (meliputi test code, desain implementasi, security, data flow, software failure).
  3. Dilakukan seiring dengan tahapan pengembangan software atau pada tahap testing. 
Metode BlackBox  (Fungsional) 
  1. Dilakukan oleh penguji Independen.
  2. 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. 
  3. Dilakukan setelah white box testing.

2 comments: