Skip to content Skip to sidebar Skip to footer

Widget Atas Posting

Teknik-Teknik Pengujian Perangkat Lunak


Black Box Testing

Blackbox testing menfokuskan pada keperluan fungsional dari software. Blackbox testing merupakan pendekatan untuk menemukan kesalahan selain menggunakan whitebox testing. Blackbox testing mengabaikan struktur kontrol dan difokuskan pada informasi domain.

Keuntungan Black Box Testing

  • Pengujian tidak berupa non teknis.
  • Pengujian kasus dirancang segera setelah spesifikasi fungsional yang lengkap.
  • Digunakan untuk memverifikasi kontradiksi dalam sistem aktual dan spesifikasi.

Kekurangan Black Box Testing

  • Inputan pengujian berasal dari ruang sampel yang besar.
  • Sulit untuk mengidentifikasi semua inputan dalam waktu pengujian yang terbatas. Test case menjadi lambat dan sulit.
  • Kemungkinan memiliki jalur yang tidak dikenal selama pengujian.

Kesalahan dalam Black Box Testing

  • Fungsi-fungsi yang salah atau hilang
  • Kesalahan interface
  • Kesalahan dalam struktur data atau akses data eksternal
  • Kesalahan performansi
  • Kesalahan inisialisasi dan terminasi

Metode-Metode Black Box Testing

a. Equivalence Partitioning

Equivalence Partioning adalah metode blackbox testing yang membagi domain input dari program menjadi beberapa kelas data dari kasus uji coba yang dihasilkan. Equivalence Partioning mendefinisikan kasus uji untuk menemukan kesalahan dan menguraikan kasus uji yang dibuat. Equivalence Partioning berdasarkan evaluasi dari ekuivalensi jenis/class untuk kondisi input. Class yang ekuivalen merepresentasikan sekumpulan keadaan valid dan invalid untuk kondisi input.

Contoh Equivalence Partioning:

Spesifikasi sub-program yang harus diuji (status awal dan akhir)
  • Sub-program mengambil sebuah input berupa integer pada rentang [-100,100]
  • Keluaran sub-program adalah tanda dari nilai masukan (0 dianggap positif)
Dua buah kelas ekivalen yang valid
  • Nilai masukan dengan rentang [-100,0] akan menghasilkan tanda negatif sebagai keluaran
  • Nilai masukan dengan rentang [0,100] akan menghasilkan tanda positif sebagai keluaran
  • Keduanya bisa disatukan menjadi Nilai masukan dengan rentang [-100,100] merupakan rentang yang valid
Dua buah kelas ekivalen yang tidak valid
  • Nilai masukan < -100
  • Nilai masukan > 100

b. Boundary Value Analysis

Kesalahan terjadi dalam batasan domain input dari pada nilai tengah. Boundary Value Analysis mengarahkan pada pemilihan kasus uji yang melatih nilai-nilai batas. Boundary Value Analysis adalah desain teknik kasus uji yang melengkapi equivalence partitioning. Boundary Value Analysis menghasilkan kasus uji dari domain output.

c. Comparison Testing

  • Pada beberapa aplikasi reliability dari sebuah perangkat lunak sangat penting.
  • Redundansi perangkat keras dan perangkat lunak mungkin digunakan untuk meminimalisir kesalahan (error).
  • Untuk redundansi perangkat lunak, gunakan tim yang terpisah untuk mengembangkan setiap versi perangkat lunak yang independen.
  • Uji setiap versi dengan data yang sama untuk memastikan semua versi menghasilkan keluaran yang sama.
  • Jalankan semua versi dengan paralel dan perbandingan keluaran secara real-time.
  • Walau hanya dijalankan sebuah versi pada akhirnya, untuk beberapa aplikasi yang penting dapat mengembangkan versi independen dan menggunakan comparison testing atau back-to-back testing.
  • Ketika output dari versi berbeda, maka setiap versi diinvestigasi jika ada kemungkinan defect.
  • Metode ini tidak untuk menemukan kesalahan dari spesifikasi.

d. Sample Testing

  • Sample testing Melibatkan beberapa nilai yang terpilih dari sebuah kelas ekuivalen
  • Mengintegrasikan nilai pada kasus uji.
  • Nilai-nilai yang terpilih mungkin dipilih dengan urutan tertentu atau interval tertentu

e. Robustness Testing

Robustness testing menginput data dan dipilih diluar spesifikasi yang telah didefinisikan. Tujuan dari pengujian ini adalah membuktikan bahwa tidak ada kesalahan jika masukan tidak valid.

f. Behavior Testing

Hasil pengujian behavior testing tidak dapat dievaluasi jika hanya melakukan pengujian sekali, tapi dapat dievaluasi jika pengujian dilakukan beberapa kali, misalnya pada pengujian struktur data stack.

g. Requirement Testing

Spesifikasi kebutuhan yang terasosiasi dengan perangkat lunak (input/output/fungsi/performansi) diidentifikasi pada tahap spesifikasi kebutuhan dan desain. Requirement testing melibatkan pembuatan kasus uji untuk setiap spesifikasi kebutuhan yang terkait dengan program. Untuk memfasilitasinya, setiap spesifikasi kebutuhan bisa ditelusuri dengan kasus uji dengan menggunakan traceability matrix .

h. Performance Testing

Mengevaluasi kemampuan program untuk beroperasi dengan benar dipandang dari sisi acuan kebutuhan misalnya: aliran data, ukuran pemakaian memori, kecepatan eksekusi, dll. Untuk mencari tahu beban kerja atau kondisi konfigurasi program. Spesifikasi mengenai performansi didefinisikan pada saat tahap spesifikasi atau desain. Dapat digunakan untuk menguji batasan lingkungan program

i. Graph Based Testing Methods

j. Cause-effect Relationship Testing

Teknik ini merupakan suplemen dari equivalence testing dengan menyediakan cara untuk memilih kombinasi data input. Melibatkan kondisi input (cause) dan kondisi output (effect) untuk mencegah pendefinisian kasus uji yang terlalu banyak.

Langkah-langkah pengujiannya:
  1. Bagi-bagi spesifikasi kebutuhan menjadi bagian yang memiliki kemungkinan kerja
  2. Definisikan cause dan effect berdasarkan spesifikasi kebutuhan
  3. Analisa spesifikasi kebutuhan untuk membuat hubungan logika
  4. Tandai graf untuk jalur yang tidak mungkin berhubungan dengan kombinasu cause/effect sesuai dengan batasan spesifikasi kebutuhan
  5. Ubah graf menjadi tabel keputusan
  6. Kolom --> test case
  7. Baris --> cause/effect
  8. Ubah kolom dari tabel keputusan menjadi kasus uji
Sebenarnya masih banyak teknik pengujian dari black box testing maupun white box testing, tapi untuk kali ini saya hanya memberikan segini dahulu, nanti kalo ada waktu saya akan bagikan pengujian khususnya teknik pengujian white box testing. Semoga bermanfaat artikel kali ini.

Post a Comment for "Teknik-Teknik Pengujian Perangkat Lunak"