Apakah ada pengganti modern untuk alat pengujian mutasi seperti Jester untuk Java?

18

“Mengapa menurutmu tesmu bagus kalau kau tahu pasti? Terkadang Jester memberi tahu saya bahwa tes saya kedap udara, tetapi terkadang perubahan yang ditemukannya tiba-tiba muncul. Sangat direkomendasikan. "- Kent Beck

Tapi saya melihat bahwa bahkan tidak ada tag yang disebut " Jester " di stackoverflow. Jadi apa pengganti Jester modern , jika ada? Bagaimana seseorang bisa yakin bahwa tes unit yang ditulis solid selain menemukan statistik dari cakupan kode dari alat-alat seperti Cobertura dan Clover ?

Kutu buku
sumber
Saya menghapus komentar klarifikasi saya karena Anda mengedit pertanyaan. :) Pencarian Google dengan frasa itu akan menghasilkan 3 atau 4 contoh dari Anda, jadi mungkin fokus pada pertanyaan konseptual yang Anda miliki di akhir, sehingga Anda bisa mendapatkan beberapa ide tentang cara terbaik untuk mencoba & memilih alat yang cocok kebutuhanmu?
jcmeloni
@ jcmeloni apakah ada alasan mengapa badut tidak benar-benar mengambil?
Geek
Saya tidak punya ide; Saya tidak pernah menggunakannya.
jcmeloni

Jawaban:

24

Sejauh yang saya ketahui pengujian mutasi tetap merupakan proses otomatis terbaik untuk mengukur kualitas suite pengujian Anda. Ada dua pengganti modern yang bagus untuk badut

http://pitest.org (saya penulisnya)

https://github.com/david-schuler/javalanche/

Perbandingan terperinci antara mereka, badut, dan beberapa sistem lain tersedia di sini

http://pitest.org/java_mutation_testing_systems/

Saya pikir alasan utama bahwa badut tidak pernah lepas landas adalah karena itu sangat lambat dan bersisik sangat buruk.

PIT dan javalanche keduanya berupaya untuk mengatasi ini dengan cara yang sama. Alih-alih secara membabi buta menjalankan semua tes dalam proyek melawan mutasi, mereka pertama-tama mengumpulkan cakupan garis dan hanya menjalankan tes yang benar-benar dapat mencapai mutasi.

PIT juga melakukan berbagai optimisasi lain untuk mempercepat dan menawarkan opsi untuk menggunakan kembali hasil analisis sebelumnya untuk sangat mengurangi biaya komputasi untuk menjalankan selanjutnya.

Henry
sumber
Plugin PIT eclipse tidak diinstal di Indigo, sepertinya ada beberapa kesalahan di dalamnya.
Narendra Pathai
@NarendraPathai Cobalah melaporkan masalah ini melalui pit google group. Phil Glover, yang mengelola plugin, mungkin bisa membantu.
henry