MATERI 16 / 20
Debugging: dari gejala ke percobaan kecil
Debugging adalah pekerjaan mempersempit penyebab dengan bukti. Mengganti banyak bagian sekaligus membuat hubungan antara penyebab dan hasil semakin sulit diketahui.
Buat kegagalan bisa diulang
Catat versi, lingkungan, langkah, hasil yang diharapkan dan hasil aktual. Cari contoh terkecil yang masih gagal. Bila masalah hanya terjadi pada pengguna tertentu, periksa perbedaan data dan izin tanpa menyalin data pribadi. Screenshot membantu melihat gejala, tetapi biasanya tidak menjelaskan seluruh alur.
Satu hipotesis, satu percobaan
Misalnya daftar kosong karena filter topik masih aktif. Periksa state filter dan request sebelum menulis ulang komponen. Buat prediksi yang bisa dibantah: jika filter direset, item kembali muncul. Catat hasilnya. Jika tidak cocok, perbarui hipotesis berdasarkan pengamatan, bukan mempertahankan dugaan awal.
Perbaiki penyebab dan simpan bukti
Setelah menemukan akar masalah, tambahkan pemeriksaan yang mendeteksi kegagalan itu bila risikonya berarti. Pastikan kasus normal tetap bekerja. Log sementara sebaiknya dihapus atau dibatasi, khususnya jika memuat request body. Perbaikan selesai ketika perilaku dapat dijelaskan dan diverifikasi, bukan hanya error tidak terlihat sekali.
Gejala: pencarian selalu kosong Hipotesis: filter topik lama masih aktif Prediksi: reset filter akan menampilkan hasil Percobaan: simpan query, reset topik, ulangi Hasil: catat aktual, lalu pilih hipotesis berikutnya bila perlu
Giliran kamu.
Ambil satu bug latihan. Tulis langkah reproduksi, dua kemungkinan penyebab, prediksi dan satu percobaan untuk membedakannya. Lakukan satu perubahan pada satu waktu.
- Kegagalan bisa diulang
- Hipotesis memiliki prediksi
- Perbaikan diperiksa pada kasus normal