Saya tidak 100% yakin apakah penjelasan di bawah ini secara historis akurat. Jika tidak, silakan mengedit atau menghapus.
Pengujian mutasi ditemukan oleh Lipton. Pengujian mutasi dapat dilihat sebagai cara untuk mengukur kualitas atau efektivitas suite uji. Gagasan utamanya adalah menyuntikkan kesalahan ke dalam program yang akan diuji (yaitu untuk memutasi program), lebih disukai jenis kesalahan yang mungkin dilakukan oleh programmer manusia, dan melihat apakah rangkaian uji menemukan kesalahan yang diperkenalkan. Contoh khas dari jenis pengujian mutasi kesalahan akan memperkenalkan bisa mengganti x> 0 dengan x <0, atau mengganti x dengan x + 1 atau x-1. Pecahan kesalahan yang ditangkap oleh test suite adalah "skor kecukupan mutasi" dari test suite. Berbicara dengan sangat longgar, orang dapat menganggap ini sebagai metode Monte-Carlo untuk menghitung skor kecukupan mutasi.
Secara lebih abstrak orang dapat mengatakan bahwa pengujian mutasi membawa ke depan sebuah simetri atau dualitas antara suatu program dan rangkaian pengujiannya: tidak hanya rangkaian uji dapat digunakan untuk menjadi lebih percaya diri tentang kebenaran suatu program, tetapi sebaliknya, suatu program dapat digunakan untuk mendapatkan kepercayaan tentang kualitas test suite.
Dalam terang dualitas ini, pengujian mutasi juga secara konseptual dekat dengan injeksi kesalahan . Keduanya secara teknis serupa tetapi memiliki tujuan yang berbeda. Pengujian mutasi bertujuan untuk mengukur kualitas suite pengujian, sementara injeksi kesalahan berupaya untuk menetapkan kualitas program, biasanya kualitas penanganan kesalahannya.
Baru-baru ini, ide dari pengujian mutasi telah digunakan untuk menguji (formalisasi) teori logis. Mengutip abstrak (4): Ketika mengembangkan formalisasi non-sepele dalam teorema teorema, sejumlah besar waktu dikhususkan untuk "men-debug" spesifikasi dan teorema. Biasanya, spesifikasi atau teorema yang salah ditemukan selama upaya pembuktian yang gagal. Ini adalah bentuk debugging yang mahal. Oleh karena itu sering berguna untuk menguji dugaan sebelum memulai suatu bukti. Cara yang mungkin untuk melakukan ini adalah dengan menetapkan nilai acak ke variabel bebas dari dugaan dan kemudian mengevaluasinya. (4) menggunakan mutasi untuk menguji kualitas generator kasus uji yang digunakan.
Sejarah . Dari (1): Sejarah pengujian mutasi dapat ditelusuri kembali ke tahun 1971 dalam sebuah makalah mahasiswa oleh Richard Lipton [...] Kelahiran bidang ini juga dapat diidentifikasi dalam makalah lain yang diterbitkan pada akhir tahun 1970 oleh Lipton et al. (2) serta Hamlet (3).
Gudang Pengujian Mutasi: Teori Pengujian Mutasi .
RA DeMillo, RJ Lipton, FG Sayward, Petunjuk Pemilihan Data Uji: Bantuan untuk Programmer yang Berlatih .
Ham RG, Program Pengujian dengan Bantuan Kompiler .
S. Berghofer, T. Nipkow, Pengujian acak dalam Isabelle / HOL. .