Saga, Alat Injeksi State untuk Pengujian
Injeksi state yang didukung server agar QA dan otomatisasi bisa langsung melompat ke langkah mana pun dalam alur verifikasi yang panjang, memangkas persiapan regresi dari hingga 20 menit menjadi di bawah 1 menit.
- Peran
- Senior Frontend Engineer
- Periode
- 2025–sekarang
- Stack
- TypeScript · Playwright · BFF · Test database
Masalahnya
Untuk mengecek bug di langkah 5 alur KYC, Anda harus lebih dulu mengisi data pribadi yang valid, mengunggah identitas, dan lolos pemindaian liveness di langkah 1 sampai 4. Setiap kali, untuk setiap pull request dan setiap eksekusi otomatis.
Pendekatannya
Saga memungkinkan penguji atau skrip membuka aplikasi yang sudah berada di state yang dibutuhkan.
- Skrip Playwright atau QA engineer memuat halaman dengan token uji yang aman, misalnya
?state=step_4_ready. - Frontend mendeteksi token saat hydration dan meneruskannya lewat header ke BFF.
- BFF memastikan environment benar-benar bukan produksi, lalu menyiapkan sesi pengguna di database uji: langkah 1 sampai 3 selesai, penunjuk aktif di langkah 4.
- BFF mengembalikan token sesi sungguhan dan UI langsung merender langkah 4.
Saya memilih injeksi lewat server dibanding memalsukan localStorage di klien. Aplikasi modern memvalidasi sesi di backend, sehingga mock yang hanya di klien akan menyimpang dari kenyataan dan menghasilkan tes yang lolos di sini tetapi gagal di produksi.
Hasilnya
Persiapan regresi turun dari 10–20 menit per siklus menjadi di bawah satu menit. Dengan puluhan eksekusi pull request dan suite otomatisasi setiap minggu, itu mengembalikan ratusan jam kerja engineering per kuartal.