Rabu, 01 November 2017

Teknik Pengujian Perangkat Lunak

Sebenarnya teknik untuk pengujian perangkat lunak terdiri dari 3 jenis, yaitu :
  1. Blackbox Testing
  2. Whitebox Testing
  3. Greybox Texting
Namun diblog ini, penulis akan menjabarkan dari 3 jenis diatas. Monggo disimak....

     Blackbox Testing

          Pengujian blackbox berfokus pada persyaratan fungsional perangkat lunak. Pengujian blackbox memungkinkan perekayasa perangkat lunak mendapatkan serangkaian kondisi input yang sepernuhnya menggunakan semua persyaratan fungsional untuk suatu program.
Pengujian blackbox berusaha menemukan kesalahan dalam kategori sebagai berikut:
  1. Fungsi-fungsi yang tidak benar atau hilang
  2. Kesalahan interface
  3. Kesalahan dalam struktur data atau akses database eksternal
  4. Kesalahan kinerja
  5. Inisialisasi dan kesalahan terminasi
          Pengujian blackbox berbeda dengan pengujian whitebox yang dilakukan pada awal proses pengujian, pengujian blackbox cenderung diaplikasikan pada tahap akhir pengujian. Mengapa dilakukan pada tahap akhir ? Karena pengujian blackbox memperhatikan struktur kontrol, maka perhatian berfokus pada domain informasi.

Langkah pertama pada pengujian blackbox yaitu :
  1. Menggunakan Metode Pengujian Graph-based
      Dalam metode ini yang terpenting adalah "memahami objek" yang dimodelkan didalam perangkat lunak dan hubungan yang akan menghubungkan objek tersebut. Pengujian perangkat lunak dimulai dengan membuat grafik dari objek-objek yang penting dan hubungan objek-objek serta kemudian memikirkan sederetan pengujian yang akan mencakup grafik tersebut sehingga masing-masing objek dan hubungan serta kesalahan dapat ditemukan.

      2. Menggunakan Metode Partisi Ekivalensi

       Partisi Ekivalensi adalah metode pengujian blackbox yang membagi domain input dari suatu program ke dalam kelas data dari mana test case dapat dilakukan. Partisi Ekivalensi berusaha menentukan sebuat test case yang mengungkap kelas-kelas kesalahan, sehingga mengurangi jumlah total test case yang harus dikembangkan.

       3. Menganalisis Nilai Batas

         Analisis nilai batas adalah teknik desain proses yang melengkapi partisi ekivalensi. Daripada memilih sembarang elemen kelas ekivalensi, BVA lebih mengarah kepada pemilih test case pada “edge” dari kelas. Daripada hanya berfokus pada kondisi input, BVA melakukan test case dari domain output.
         
       4. Pengujian Perbandingan

        Ada banyak situasi (seperti avionik pesawat udara) dimana reliabilitas perangkat lunaknya sangat kritis. Dalam aplikasi semacam itu, perangkat lunak dan perangkat keras redundan sering digunakan untuk meminimalkan kemungkinan kesalahan. Pada saat perangkat lunak redundan dikembangkan, tim rekayasa perangkat lunak yang terpisah mengembangkan versi-versi independen dari suatu aplikasi dengan menggunakan spesifikasi yang sama. Dalam situasi semacam itu, setiap versi dapat diuji dengan data uji yang sama untuk memastikan bahwa semua versi memberikan output yang identik. Kemudian semua versi dieksekusi secara paralel dnegan perbandingan real time hasil untuk memastikan konsistensi.

     Pengujian perbandingan tidaklah mudah. Bila spesifikasi dari mana semua fungsi telah dikembangkan mengandung kesalahan, maka semua versi kemungkinan besar merefleksikan kesalahan. Lagi pula jika masing-masing versi independen identik tetapi tidak benar, maka pengujian kondisi akan gagal mendeteksi kesalahan.

Berikut Keunggulan dan kekurangan Blackbox Testing :

Keunggulan
  • Black box testing dapat menguji keseluruhan fungsionalitas perangkat lunak.
  • Black box testing dapat memilih subset test yang secara efektif dan efisien dapat menemukan cacat. Dengan cara ini black box testing dapat membantu memaksimalkan testing investment.
Kekurangan
  • Ketika tester melakukan black box testing, tester tidak akan pernah yakin apakah perangkat lunak yang diuji telah benar-benar lolos pengujian.


     Whitebox Testing
     Pengujian white box, kadang-kadang disebut pengujian glass box, adalah metode desaintest case yang menggunakan struktur kontrol desain prosedural untuk memperoleh test case. Dengan menggunakan metode pengujian white box, perekayasa sistem dapat melakukan test case yang : 
  1. memberikan jaminan bahwa semua jalur independen pada suatu modal telah digunakan, paling tidak satu kali.
  2. Menggunakan semua keputusan logis pada sisi true dan false 
  3. Mengeksekusi semua loop pada batasan mereka dan baas operasional mereka 
  4. Menggunakan struktur data internal untuk menjamin validitasnya 
     Pada titik ini, dapat diajukan pertanyaan yang beralasan, yaitu “Mengapa menghabiskan waktu dan energi untuk menguji logika jika kita dapat dengan lebih baik memperluas kerja yang dapat memastikan bahwa persyaratan program telah dipenuhi ?” Bila dinyatakan dengan cara lain, mengapa kita tidak menggunakan semua energi kita untuk melakukan pengujian black box ? 

      Jawabannya ada pada sifat cacat perangkat lunak : 
  • Kesalahan logis dan asumsi yang tidak benar berbanding terbalik dengan probabilitas jalur program yang akan dieksekusi. Kesalahan cenderung muncul dalam kerja kita pada saat kita mendesain dan mengimplementasi fungsi, kondisi atau kontrol yang berada di luar mainstraim. Pemrosesan setiap hari cenderung dipahami dengan baik sementara pemrosesan “kasus khusus” cenderung berantakan.
  • Kita sering percaya bahwa jalur logis mungkin tidak akan diseksekusi bila pada kenyataannya akan diseksekusi pada basis reguler. Aliran logika dari suatu program kadangkadang bersifat konterintuitif yang berarti asumsi kita yang tidak kita sasari mengenai aliran dan data kontrol dapat menyebabkan kita membuat kesalahan desai yang akan terungkap hanya setelah pengujian jalur mulai.
  • Kesalahan tipografis adalah random. Bila sebuah program diterjemahkan ke dalam kode sumber bahasa pemrograman maka dimungkinkan akan terjadi banyak kesalahan pengetikan. Beberapa akan ditemukan dengan mekanisme pengecekan sintaks, tetapi yang lainnya akan tetap tidak terdeteksi sampai pengujian mulai.]
Masing-masing alasan tersebut memberikan suatu argurmen untuk melakukan pengujian white box. Pengujian black box, tidak peduli seberapa cermat dilakukan, dapat menangkap bentuk kesalahan tersebut. 

Berikut Keunggulan dan kekurangan Whitebox Testing:

Keunggulan
  • Kebenaran program dalam mendefinisikan algoritma dapat diketahui secara langsung dengan pengolahan path.
  • Menentukan kualitas pekerjaan coding dan pengaruhnya untuk standar coding.

Kekurangan
  • Jumlah biaya untuk white box testing lebih besar daripada biaya yang dibutuhkan untuk black box, untuk ukuran software yang sama.
  • Belum mampu melakukan tes ketersediaan, kehandalan, daya tahan beban dan testing – testing lain yang berhubungan dengan kebutuhan faktor – faktor untuk operasi, revisi dan transisi.

     Greybox Testing

    Adalah metode pengujian perangkat lunak yang adalah kombinasi dari Black box testing dan White box testing. Dalam Black box testing, struktur internal dari item yang sedang diuji tidak diketahui tester dan White box testing struktur internal di dikenal. Dalam pengujian Gray box testing, struktur internal sebagian dikenal. Ini melibatkan memiliki akses ke internal data struktur dan algoritma untuk tujuan merancang uji kasus, tetapi pengujian pada pengguna, atau tingkat Black box. Grey-box, berusaha menggabungkan kedua metode diatas, mengambil kelebihan keduanya, mengurangi kekurangan keduanya. Teknik verifikasi modern menerapkan combine-method ini.

Tidak ada komentar:

Posting Komentar