Materi
Alur yang hanya diuji dengan data benar baru terbukti di jalur yang paling jarang bermasalah. Azure Well-Architected Framework menyatakan bahwa tanpa pengujian yang sengaja menyasar skenario gagal, tidak ada yang tahu apakah pola ketahanan benar-benar bekerja. Dokumen yang sama meminta pengujian batas antara galat sementara dan galat yang menetap, serta pengujian saat mekanisme coba ulang bawaan sudah habis.
Daftar skenario minimal untuk alur kerja: input tidak sah yang harus ditolak, galat sementara yang pulih setelah diulang, galat sementara yang tidak pulih sampai percobaan ulang habis, galat permanen yang tidak boleh diulang, dan event ganda. Untuk setiap skenario, hasil yang diharapkan ditulis sebelum alurnya dijalankan.
function cekResiTiruan(urutan) {
let ke = 0;
return () => urutan[Math.min(ke++, urutan.length - 1)];
}
const cekResi = cekResiTiruan(["JARINGAN", "OK"]);
cekResi(); // "JARINGAN"
cekResi(); // "OK"
cekResi(); // "OK" (hasil terakhir diulang)Supaya skenario bisa diulang, layanan sungguhan diganti layanan tiruan yang hasilnya sudah ditetapkan, seperti contoh di atas. Tiruan itu dibuat dengan closure, fungsi yang mengingat penghitungnya sendiri. Jam juga ditiru sebagai angka yang dimajukan kode, bukan ditunggu sungguhan, sehingga uji dengan jeda puluhan detik selesai seketika. Azure menyebut cara lain untuk lingkungan sungguhan, yaitu fault injection: memunculkan galat dengan sengaja, misalnya mematikan layanan sebentar.