surfup

Platform EdTech sekolah dalam talian

Proses QA dari sifar: keluaran tidak lagi merosakkan produksi

Pendidikan · Jaminan kualiti · Automasi ujian · Ujian beban
Konteks projek

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.

01 · Cabaran

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.

02 · Kerja disiapkan

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.

03 · Hasil

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.

04 · Hasil utama
MetrikHasil
Pepijat kritikal dalam produksi5–7 sebulan → 1–2 setiap suku tahun
Regresi sebelum keluaran3 hari secara manual → 4 jam dengan ujian automatik
Puncak trafik SeptemberInsiden setiap tahun → 0 insiden, tanpa kemerosotan
Masa kecacatan dikesanBiasanya dalam produksi → Ujian automatik mengesan sebelum keluaran

Metrik disalin daripada bahan asal kes. Tempoh dinyatakan di tempat ia direkodkan dalam sumber.

Empat bulan bekerja
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
Liputan dan kelajuan pemeriksaan
Senario utama diliputi ujian automatik
Sebelum0%
Selepas75%
Pepijat kritikal dalam produksi
Sebelum5–7 sebulan
Selepas1–2 setiap suku tahun
Lebih rendah lebih baik
Regresi sebelum keluaran
Sebelum3 hari
Selepas4 jam
Lebih rendah lebih baik

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.

Gerbang QA dalam CI
  1. 01Commit
  2. 02Set smoke testTiada keputusan hijau, tiada keluaran
  3. 03KeluaranMingguan
  4. 04NightlyRegresi penuh
Langkah seterusnya

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.
Petikan
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

Bahan terkini

Semua bahan

Artikel praktikal dan panduan daripada SurfUp.

Panduan · 10 minit

Halaman “Apa itu…” dan jawapan AI: klik hilang atau permintaan jatuh

Bahagian rujukan bank hilang 24% lawatan ketika permintaan turun 13%. Cara membezakan klik hilang kepada blok AI daripada permintaan jatuh.

Baca
Panduan · 8 minit

Trafik merosot selepas kemas kini Google

Cara menentukan sama ada trafik merosot disebabkan kemas kini Google, musim atau kerosakan teknikal. Kronologi kemas kini 2026, semakan enam soalan dan pelan untuk 14 hari pertama.

Baca
Panduan · 9 minit

Permintaan turun atau tapak kalah: menyelaras trafik dengan Wordstat

Permintaan deposit turun 75%, trafik 37%; bagi kad permintaan −35%, trafik −63%. Cara menyelaraskan trafik dengan permintaan tanpa menyalahkan tapak.

Baca