Yayın öncesi QA aracı: yazılım
Her siteyi yayına almadan önce dokuz kontrolden geçiren tek komutluk denetim aracı.
- 9 kontrol
- 2 ekran genişliği
- Tek komut
- Kendi altyapım
Sorun neydi
Beş ayrı projede beş ayrı QA betiği birikmişti; her yeni işte biri kopyalanıp azar azar bozuluyordu. Kırık link, konsol hatası ve telefonda yatay taşma gibi hatalar müşteriye teslim edildikten sonra ortaya çıkıyordu — yani en pahalı anda.
Ne yaptım
- Konsol hatası ve yakalanmamış JavaScript hatası
- 404 ve başarısız ağ isteği, kırık görsel dahil
- Yatay taşma denetimi, iki ekran genişliğinde
- Boş src ve eksik alt niteliği
- Kırık iç link ve eksik html lang
- Canvas ve WebGL bağlamı denetimi — yalnız gerektiğinde
- prefers-reduced-motion açıkken animasyon duruyor mu
- CI ve pre-push kancasına bağlanabilen çıkış kodu
Zor kısım
Beşini tek dosyada toplarken her kontrolün hem 1440 hem 390 pikselde çalışması gerekiyordu. Canvas ve WebGL kontrolleri 3B olmayan sayfalarda sessiz kalmalı, yoksa her sitede yanlış alarm veriyordu. Hareket kısıtlaması denetimi ayrı bir geçişte yapılıyor, çünkü sayfanın o tercihle baştan açılması gerekiyor. Asıl karar teknik değildi: çıkış kodu 0 değilse yayın yok — kural araca değil sürece bağlandı.
Sonuç
Beş betik 319 satırlık tek dosyaya indi. Artık her teslim aynı dokuz kontrolden geçiyor; bu sitenin kendisi de dahil.
Kullanılanlar
- Python
- Playwright
- CI