Pelanggan ialah platform pendidikan dalam talian dengan pelajaran interaktif, kerja rumah, akaun pelajar dan ibu bapa, serta pembayaran dalam talian. Perniagaan ini sangat bermusim: bulan September menerima paling ramai pelajar baharu, dan gangguan platform pada minggu-minggu pertama tahun persekolahan bermakna pelanggan hilang selama-lamanya. Tiada pasukan QA dalaman; pembangun menguji sambil mengurus tugasan lain. Ujian regresi sebelum keluaran mengambil masa tiga hari tetapi masih terlepas senario kritikal — pembayaran, pendaftaran pelajaran dan penyertaan ke kelas. Pelanggan menghubungi kami selepas satu lagi insiden apabila pepijat pembayaran menyebabkan sekolah kehilangan sebahagian prospek yang dikumpulkan sepanjang musim panas.
Mewujudkan proses jaminan kualiti dari awal:
strategi ujian yang mengutamakan risiko perniagaan, automasi senario utama, pemeriksaan bersepadu CI dan ujian beban sebelum kemuncak September. Kekangannya ialah pembangunan mesti diteruskan: keluaran berlaku setiap minggu dan September tidak boleh menunggu.
Kami bermula dengan analisis risiko, bukan ujian automatik: senario mana paling kerap rosak, dan di mana kos pepijat paling tinggi? Automasi mengikut senarai itu dengan ketat.
- Mengaudit kualiti: menyemak pepijat enam bulan lalu, menemu bual pasukan dan memetakan senario paling menyakitkan — pembayaran, pendaftaran pelajaran, penyertaan ke kelas dan pemberitahuan kepada ibu bapa.
- Menulis strategi ujian: peringkat ujian, bidang tanggungjawab, takrif siap bagi ciri dan prosedur laporan pepijat yang dikongsi oleh ketiga-tiga pasukan pembangunan.
- Mengautomasikan laluan kritikal: senario hujung ke hujung Playwright untuk platform web, ujian API untuk bahagian belakang dan set smoke test sebelum setiap keluaran.
- Mengintegrasikan gerbang QA ke dalam CI: keluaran tidak boleh diteruskan tanpa set smoke test yang berjaya, regresi penuh dijalankan setiap malam dan hasilnya kelihatan kepada semua pasukan dalam GitLab.
- Menjalankan ujian beban dengan k6: memodelkan trafik puncak September, mengenal pasti kesesakan dan menyelesaikannya bersama pasukan bahagian belakang sebelum musim bermula.
- Menyerahkan proses kepada pelanggan: dokumentasi, prosedur dan latihan untuk jurutera QA menggunakan ujian automatik serta saluran paip.
Keputusan utama ialah mengutamakan risiko perniagaan, bukan “keindahan liputan ujian”. Kami sengaja tidak mengejar automasi 100%: liputan 75% bagi senario kritikal menghasilkan sebahagian besar kesan kerana ia melindungi laluan yang menentukan cara platform menjana pendapatan dan kehilangan pelanggan. Selebihnya dilindungi dengan ujian penerokaan manual sebelum keluaran penting.
Kesan ekonomi utama ialah pengesanan kecacatan dialihkan ke peringkat lebih awal: pepijat yang dikesan oleh ujian automatik CI menelan kos puluhan kali lebih rendah daripada pepijat yang disedari ibu bapa pelajar dalam produksi. Platform memasuki musim dengan margin keselamatan, dan pasukan dapat mengeluarkan perubahan dengan kerap tanpa takut “kesan hari Jumaat”. Kesan tambahan ialah keyakinan perniagaan: pasukan jualan kini boleh menjanjikan platform yang stabil kepada sekolah rakan kongsi ketika kemuncak pendaftaran.
| Metrik | Hasil |
|---|---|
| Pepijat kritikal dalam produksi | 5–7 sebulan → 1–2 setiap suku tahun |
| Regresi sebelum keluaran | 3 hari secara manual → 4 jam dengan ujian automatik |
| Puncak trafik September | Insiden setiap tahun → 0 insiden, tanpa kemerosotan |
| Masa kecacatan dikesan | Biasanya dalam produksi → Ujian automatik mengesan sebelum keluaran |
Metrik disalin daripada bahan asal kes. Tempoh dinyatakan di tempat ia direkodkan dalam sumber.
- pepijat kritikal setiap suku tahun (sebelum ini 5–7 sebulan)
- 1–2
- regresi dengan ujian automatik (sebelum ini 3 hari manual)
- 4 j
- senario utama diliputi ujian automatik
- 75%
- insiden pada puncak September
- 0
Skala ilustrasi: 3 hari ditukar kepada 72 jam. Untuk panjang bar, julat pepijat bulanan diskalakan kepada suku tahun dengan mendarabkannya dengan tiga; had atas dibandingkan.
- 01Commit
- 02Set smoke testTiada keputusan hijau, tiada keluaran
- 03KeluaranMingguan
- 04NightlyRegresi penuh
Langkah seterusnya yang kami syorkan untuk platform:
- Ujian regresi visual — pemeriksaan automatik susun atur pelajaran, e-mel dan akaun peribadi.
- Kilang data ujian — menjana pelajar, kumpulan dan pembayaran yang realistik bagi setiap larian.
- QA dalam produksi — feature flag dan keluaran canary untuk mengaktifkan ciri baharu secara berperingkat.
Kami tidak lagi takut akan keluaran. Dahulu setiap hari Jumaat boleh bertukar menjadi siasatan aduan; sekarang keluaran ke produksi ialah prosedur rutin selama lima belas minit.
— CTO Sekolah Dalam Talian