Pengujian yang tidak stabil berhasil lolos dan gagal tanpa perubahan kode yang relevan. Percobaan ulang yang berulang-ulang dapat menyembunyikan sinyal dan membuat bangunan yang rusak terlihat sehat, jadi pelajari dulu perubahan apa yang terjadi di antara proses yang dijalankan.
Kumpulkan kegagalan yang berguna
- Catat benih pengujian, jumlah pekerja, browser, dan pengaturan lingkungan yang relevan.
- Jalankan pengujian kegagalan terkecil berulang kali, lalu bandingkan eksekusi terisolasi dan paralel.
- Periksa file bersama, status global, pengatur waktu, ketergantungan jaringan, dan asumsi tentang urutan pengujian.
Hapus ketergantungan nondeterministik
Gunakan data pengujian unik, penyiapan dan pembersihan eksplisit, jam deterministik, dan menunggu status yang dapat diamati. Ganti layanan eksternal dengan batas terkontrol ketika pengujian dimaksudkan untuk memverifikasi logika aplikasi.
Pertahankan percobaan ulang hanya sebagai tindakan penahanan sementara dengan pemilik dan tenggat waktu untuk menghapusnya. Lacak tingkat kegagalan sehingga perubahan dapat terlihat mengurangi kelemahan, bukan sekadar menyembunyikannya.
