Selasa, 19 Januari 2010

Pengujian Black Box


Pada teknik ini, kita tidak menggunakan code untuk menjelaskan sederetan pengujian, cukup mengetahui masalah yang akan kita pecahkan.

  • Pada pengujian black box hanya melihat apakah pengujian sudah sesuai dengan requirementnya.
  • Hanya memikirkan CSU (case study unit) dari sudut pandang interface.
  • Tidak perlu mengetahui struktur internalnya, sehingga cukup sulit juga, karena hanya initial state dan final statenya saja.
  • Harus mengetahui standard yang terstruktur untuk memasukkan nilai-nilainya.

 

Penentuan Expected Result

(hasil yang diharapkan bagaimana ?)

Biaya analisa menjadi tinggi karena kita tidak mengetahui dalamnya, maka digunakan “oracle” yang dapat berupa program atau bentuk lain.

 

Oracle

Merupakan pengujian dengan melihat kelompok Equivalent (Equivalent Class Partitioning), yang bertujuan untuk membatasi jumlah pengujian dengan cara mereduksi atau mengurangi jumlah data yang dimasukkan.

Caranya :

Melakukan identifikasi terhadap sekumpulan nilai yang mempunyai dampak yang sama.

Misalnya : pada program kuadrat, dimana nilai positif atau negative akan menghasilkan nilai positif, uji ( 5, 0, -3),.. sehingga tidak perlu lagi menguji -7.

  • input nilai pengujian sekelompok kelas akan sama dengan kelompok lainnya.

 

Bentuk 2 point :

  • Valid, yang mewakili masukan bernilai valid
  • Invalid, mewakili masukan bernilai invalid

 

Contoh, ada sub program yang minta range dari  (-100 ….. 100)

Input [-100..100]

Valid [-100..0] à negative

Valid [0 – 100] à positive

Invalid di luar < -100 dan > 100

 

Jika kondisi masukan yang dinyatakan dengan kondisi “harus” à “ must be”.

Misalnya  harus huruf à valid huruf { a, b, c,……z}

                                         Invalid { 1, 2, 3, …} atau selain huruf

 

Jika mempunyai beberapa masukan, maka gunakan kombinasi, 2 kelas valid {A1, A2, B1, B2, ….}

Pengujiannya : à 2 kasus { A1 B1 dan A2 B2)

                         à 4 kasus { A1 B1, A1 B2, A2 B1, A2 B2}

 

Sample Testing

  • Pemilihan sejumlah nilai dari sebuah equivalent class dari input data.
  • Nilai boleh dalam interval constant atau variable.

 

Misalnya [-100, 100]

Bilangan yang diambil adalah -100, -55, 0, 7, 99, 100, dll

 

Limit Testing

Kasus pengujian adalah nilai batas pemrosesan atau sama yaitu titik-titik batasnya atau yang mendekati.

Limit testing juga melibatkan output data equivalent class.

Jika range [-1.0, 1.0], maka kasus uji adalah -1.0, -1.001, 1.0, 1.001

 

 

Robustness Testing

  • Data dipilih yang di luar range yang dijabarkan oleh kebutuhan.
  • Tujuannya adalah untuk membuktikan bahwa tidak ada kejadian yang sangat berbahaya yang dapat di produksi oleh introduction dari input data yang tidak normal.

 

Behaviour Testing

Adalah sebuah pengujian dimana hasil yang dicapai tidak dapat dievaluasi setelah satu eksekusi dari CSU program, tetapi dapat di evaluasi hanya setelah sekumpulan link memanggil sub program ( beberapa pemanggilan sub program).

 

Requirement Testing

  • Kebutuhan gabungan dengan software ( input/ output/ function/ performance) diidentifikasikan selama spesifikasi software dan aktivitas perancangan.
  • Melibatkan producing kasus uji untuk setiap kebutuhan pada CSU.
  • Untuk fasilitas implementasi dari setiap pengujian, tiap kebutuhan ditelusuri sampai akhir dengan penelusuran matrix.

 

Cause – effect Relationship Testing

  • Teknik ini sebagai pelengkap equivalent testing
  • Input state à cause
  • Output state à effect

 

Step in cause – effect relationship testing

  • Break down kebutuhan ke dalam kumpulan sehingga akan memudahkan untuk dikerjakan.
  • Jabarkan sebab dan akibat dalam kebutuhan
  • Analisa kebutuhan untuk relasi logic
  • Ubah graph ke dalam table keputusan, kolom menjadi kasus uji dan baris menjadi sebab akibat.
  • Ubah kolom dari table keputusan ke dalam kasus uji.

 

Performance Testing

  • Mengevaluasi kegunaan CSU untuk mengoperasikan pembenaran, contoh data flow, ukuran memory, waktu eksekusi.
  • Digunakan untuk mengukur dan mengeksplor batas performance CSU.

 

Endurance Testing

  • Melibatkan pengulangan dari kasus uji ( berapa kali kita melakukan pengujian)
  • Testing adalah proses pengeksekusian sebuah program dengan sungguh-sungguh untuk mendapatkan kesalahan.
  • Kasus uji yang baik adalah yang mempunyai probabilitas yang tinggi terhadap penemuan kesalahan, walaupun tidak ada kesalahan.
  • Pengujian yang sukses adalah satu yang tidak terbungkus walaupun demikian tidak ditemukan kesalahan.

 

Prinsip-prinsip Pengujian

  • Semua pengujian akan ditelusuri dan harus mengacu pada kebutuhan customer.
  • Pengujian harus direncanakan sepanjang, sebelum pengujian dimulai
  • Menggunakan prinsip pareto
  • Pengujian dimulai dari yang kecil menuju yang besar.
  • Pengujian yang menghabiskan tenaga tidak mungkin
  • Agar efektif, pengujian harus dibantu oleh bagian yang lain.

 

Pengujian yang baik

  • Mempunyai probabilitas tinggi untuk mendapatkan kesalahan
  • Tidak redudance
  • Sederhana

Label:

0 Komentar:

Posting Komentar

Berlangganan Posting Komentar [Atom]

<< Beranda