Pengujian Mutasi dalam Pengujian Software: Mutant Score & Contoh Analisis

Daftar Isi:

Anonim

Pengujian Mutasi

Pengujian Mutasi adalah jenis pengujian perangkat lunak di mana pernyataan tertentu dari kode sumber diubah / dimutasi untuk memeriksa apakah kasus pengujian dapat menemukan kesalahan dalam kode sumber. Tujuan Pengujian Mutasi adalah memastikan kualitas kasus pengujian dalam hal ketahanan yang seharusnya gagal dalam kode sumber yang dimutasi.

Perubahan yang dibuat dalam program mutan harus dibuat sangat kecil sehingga tidak mempengaruhi tujuan program secara keseluruhan. Pengujian Mutasi juga disebut strategi pengujian berbasis Kesalahan karena melibatkan pembuatan kesalahan dalam program dan ini adalah jenis Pengujian Kotak Putih yang terutama digunakan untuk Pengujian Unit.

Mutasi awalnya diusulkan pada tahun 1971 tetapi kehilangan semangat karena tingginya biaya. Sekarang, lagi-lagi telah mengambil uap dan digunakan secara luas untuk bahasa seperti Java dan XML.

Dalam tutorial ini, Anda akan belajar-

  • Apa itu Pengujian Mutasi?
  • Bagaimana cara melakukan Pengujian Mutasi?
  • Bagaimana Cara Membuat Program Mutan?
  • Apa yang harus diubah dalam Program Mutan?
  • Jenis Pengujian Mutasi
  • Skor Mutasi:
  • Keuntungan Pengujian Mutasi:
  • Kekurangan Pengujian Mutasi:

Bagaimana cara melakukan Pengujian Mutasi?

Berikut langkah-langkah pelaksanaan pengujian mutasi (analisis mutasi):

Langkah 1 : Kesalahan diperkenalkan ke kode sumber program dengan membuat banyak versi yang disebut mutan. Setiap mutan harus mengandung satu kesalahan, dan tujuannya adalah untuk menyebabkan versi mutan gagal yang menunjukkan keefektifan kasus uji.

Langkah 2 : Kasus uji diterapkan ke program asli dan juga ke program mutan. Kasus Uji harus memadai, dan itu disesuaikan untuk mendeteksi kesalahan dalam suatu program.

Langkah 3 : Bandingkan hasil program asli dan mutan.

Langkah 4 : Jika program asli dan program mutan menghasilkan keluaran yang berbeda, maka mutan tersebut dimatikan oleh kasus uji. Karenanya kasus uji cukup baik untuk mendeteksi perubahan antara program asli dan mutan.

Langkah 5 : Jika program asli dan program mutan menghasilkan keluaran yang sama, Mutan tetap hidup. Dalam kasus seperti itu, kasus uji yang lebih efektif perlu dibuat yang membunuh semua mutan.

Bagaimana Cara Membuat Program Mutan?

Mutasi tidak lain adalah perubahan sintaksis tunggal yang dibuat pada pernyataan program. Setiap program mutan harus berbeda dari program aslinya dengan satu mutasi.

Program Asli Program Mutan
Jika (x> y)
Cetak "Hello"
Lain
Print "Hi"
Jika ( x )Cetak "Hello"
Lain
Print "Hi"

Apa yang harus diubah dalam Program Mutan?

Ada beberapa teknik yang bisa digunakan untuk menghasilkan program mutan. Mari kita lihat

Operator pengganti operand Operator Modifikasi Ekspresi Operator modifikasi pernyataan
Gantikan operan dengan operan lain (x dengan y atau y dengan x) atau dengan nilai konstanta. Ganti operator atau penyisipan operator baru dalam pernyataan program. Pernyataan terprogram dimodifikasi untuk membuat program mutan.
Contoh-
Jika (x> y) gantikan nilai x dan y
Jika (5> y) gantikan x dengan konstanta 5
Contoh-
Jika (x == y)
Kita dapat mengganti == menjadi> = dan memiliki program mutan sebagai
If (x> = y) dan memasukkan ++ pada pernyataan
If (x == ++ y)
Contoh-
Hapus bagian lain dalam pernyataan if-else
Hapus seluruh pernyataan if-else untuk memeriksa bagaimana program berperilaku
Beberapa operator mutasi sampel:
  • Penggantian label GOTO
  • Pengembalian pernyataan pengganti
  • Penghapusan pernyataan
  • Penyisipan operator unary (Suka - dan ++)
  • Penggantian konektor logis
  • Penggantian nama array yang sebanding
  • Menghapus bagian lain dalam pernyataan if-else
  • Menambah atau mengganti operator
  • Penggantian pernyataan dengan mengubah data
  • Modifikasi Data untuk variabel
  • Modifikasi tipe data dalam program

Otomasi Pengujian Mutasi:

Pengujian mutasi sangat memakan waktu dan rumit untuk dijalankan secara manual. Untuk mempercepat proses, disarankan untuk menggunakan alat otomasi. Alat otomatisasi juga mengurangi biaya pengujian.

Daftar alat yang tersedia -

  • Stryker
  • Pengujian PIT

Jenis Pengujian Mutasi

Dalam Rekayasa Perangkat Lunak, pengujian mutasi pada dasarnya dapat dikategorikan menjadi 3 jenis - mutasi pernyataan, mutasi keputusan, dan mutasi nilai.

  1. Pernyataan Mutasi - pengembang memotong dan menempelkan bagian dari kode yang hasilnya mungkin berupa penghapusan beberapa baris
  2. Mutasi Nilai - nilai parameter primer dimodifikasi
  3. Mutasi Keputusan - pernyataan kontrol harus diubah

Skor Mutasi:

Skor mutasi didefinisikan sebagai persentase mutan yang terbunuh dengan jumlah total mutan.

  • Skor Mutasi = (Mutan yang Dibunuh / Jumlah Mutan) * 100

Kasus uji mutasi memadai jika skornya 100%. Hasil eksperimen menunjukkan bahwa pengujian mutasi merupakan pendekatan yang efektif untuk mengukur kecukupan kasus uji. Namun, kelemahan utamanya adalah tingginya biaya untuk menghasilkan mutan dan mengeksekusi setiap kasus uji terhadap program mutan tersebut.

Keuntungan Pengujian Mutasi:

Keunggulan Pengujian Mutasi:

  • Ini adalah pendekatan yang ampuh untuk mencapai cakupan yang tinggi dari program sumber.
  • Pengujian ini mampu menguji program mutan secara komprehensif.
  • Pengujian mutasi memberikan tingkat deteksi kesalahan yang baik bagi pengembang perangkat lunak.
  • Metode ini mengungkap ketidakjelasan dalam kode sumber dan memiliki kapasitas untuk mendeteksi semua kesalahan dalam program.
  • Pelanggan diuntungkan dari pengujian ini dengan mendapatkan sistem yang paling andal dan stabil.

Kekurangan Pengujian Mutasi:

Di sisi lain, berikut adalah kekurangan dari pengujian mutan:

  • Pengujian mutasi sangat mahal dan memakan waktu karena ada banyak program mutan yang perlu dibuat.
  • Karena memakan waktu, wajar untuk mengatakan bahwa pengujian ini tidak dapat dilakukan tanpa alat otomatisasi.
  • Setiap mutasi akan memiliki jumlah kasus uji yang sama dengan program asli. Jadi, sejumlah besar program mutan mungkin perlu diuji terhadap rangkaian pengujian aslinya.
  • Karena metode ini melibatkan perubahan kode sumber, itu sama sekali tidak berlaku untuk Pengujian Black Box.

Kesimpulan:

Apakah Anda ingin menguji aplikasi Anda secara menyeluruh? Jawabannya adalah pengujian Mutasi. Ini adalah teknik paling komprehensif untuk menguji suatu program. Ini adalah metode yang memeriksa keefektifan dan akurasi program pengujian untuk mendeteksi kesalahan atau kesalahan dalam sistem.