Tingkat Kelulusan 91%. Gate Hijau. Dirilis. Regresi Terburuk yang Pernah Ada.
Kami mencapai tingkat kelulusan 91% pada tes klasifikasi intensi. Ambang batasnya adalah 90%. Kami berhasil melampauinya. Kami merilis kodenya.
Itu adalah regresi terburuk kami pada kuartal ini.
Masalahnya ada pada perhitungan kami. Skor evaluasi kami bertahan di angka 96% atau 97% selama berminggu-minggu. Kemudian, sebuah perubahan merusak satu segmen spesifik: permintaan pengembalian dana (refund) yang ambigu. Segmen tersebut turun dari 98% menjadi 74%.
Segmen tersebut mewakili 4% dari total trafik kami. Karena kami hanya melihat rata-rata, skor total hanya turun menjadi 91%. Status gate tetap hijau.
Agregasi menyembunyikan kegagalan di dalam noise.
Pengguna di segmen tersebut tidak melihat 91%. Mereka melihat 74%. Ambang batas statis memberi tahu Anda jika seluruh sistem jatuh ke jurang. Namun, ia tidak memberi tahu Anda jika satu bagian dari sistem Anda sedang sekarat. Jika 96 segmen baik-baik saja dan satu segmen hancur, rata-rata yang tinggi akan menyembunyikan kehancuran tersebut. Anda baru menemukan kesalahan melalui tiket dukungan (support tickets), alih-alih melalui alat pengujian Anda.
Kami mengubah strategi kami. Kami berhenti menggunakan angka absolut sebagai acuan gate. Sekarang kami melakukan gating terhadap eksekusi terakhir yang berhasil.
Kami menggunakan dua aturan. Keduanya harus lolos:
- Tidak ada satu segmen pun yang turun lebih dari 3 poin terhadap baseline.
- Total agregat tidak turun lebih dari 1,5 poin terhadap baseline.
Dalam kegagalan kami baru-baru ini, segmen refund turun 24 poin. Aturan pertama seharusnya bisa langsung menangkapnya.
Waspadai jebakan delta gating. Jika baseline Anda diperbarui pada setiap eksekusi, Anda bisa perlahan-lahan tergelincir menuju kegagalan. Penurunan 0,5 poin setiap hari akan lolos dalam setiap pengujian. Anda secara perlahan akan meluncur menuju produk yang buruk.
Ikuti langkah-langkah ini untuk memperbaiki pengujian Anda:
- Perbarui baseline Anda hanya saat branch utama Anda berstatus hijau.
- Wajibkan persetujuan manusia untuk setiap penurunan skor yang disengaja.
- Baseline Anda harus menjadi catatan tentang apa yang berhasil, bukan sekadar apa yang terjadi terakhir kali.
- Periksa varians dari 5 eksekusi hijau terakhir Anda. Jika sebuah segmen berfluktuasi lebih dari ambang batas Anda, maka ambang batas Anda hanyalah noise.
- Uji segmen terkecil Anda. Tanyakan seberapa jauh segmen tersebut dapat turun sebelum agregat menyadarinya. Jika jawabannya adalah angka yang besar, maka agregat Anda menyembunyikan kesalahan.
Komunitas belajar opsional: https://t.me/GyaanSetuAi
