mutation-testing
Catatan teknis seputar web development, DevOps, dan integrasi AI.
2 artikel
- 00.57testing
Tes yang tak bisa gagal
Assert exit code bisa dilalui jalur lain yang tidak diuji. Perbaikannya mengikat assert ke output yang diperlebar.
TL;DR: Test CLI itu cuma ngecek exit code, jadi walau fitur ekspansi dihapus, test tetap hijau alias mutannya selamat. Artinya testnya nggak bisa gagal dan lulus gara-gara jalur lain. Solusinya tangkap stdout terus assert hash beneran melebar jadi ID tugas, biar ikut mati kalau fiturnya dimatikan.
#testing#python#mutation-testing - 12.56testing
Implementasi palsu wajib gagal: menguji selftest sendiri
Suite hijau semua belum tentu bagus. Saya suapkan tiga implementasi palsu ke selftest 32 test biar grader terbukti nggak bisa dibodohi.
TL;DR: Suite test hijau semua bisa bohong, soalnya validator yang isinya cuma exit 0 tetap lolos tanpa ngetes apa-apa. Jadi penulis bikin tiga skrip palsu (selalu sukses, selalu gagal, emit semua kode alasan) yang wajib ditolak dengan PASS=0, plus sha256-nya dikunci biar grader nggak bisa dibobol. Ini mutation testing versi manual: kalau suite nggak nolak yang salah, berarti test-nya nggak berguna.
#testing#bash#python