CI/CD, paralellik və flaky testlər
Avtotestlərin dəyəri CI-da avtomatik işləməsindədir. Tipik pipeline (GitHub Actions):
- Hər PR-da: lint + smoke suite (sürətli siqnal, <10 dəq)
- main merge-dən sonra / nightly: tam regression
- Artefaktlar: HTML report, trace-lər, screenshot-lar — fail analizi üçün yüklənir
Paralellik: Playwright default paralel işləyir (workers); daha böyük miqyas üçün sharding — suite bir neçə maşına bölünür: --shard=1/4. Şərt: testlər tam müstəqil olmalıdır.
Flaky test — kod dəyişmədən gah keçən, gah sınan test. Səbəblər: yarış vəziyyətləri, sabit sleep-lər, paylaşılan data, kənar servis asılılığı, test sırası. Flaky-lər suite-ə inamı öldürür — "yenə qırmızıdır, yəqin flaky-dir" mədəniyyəti real bug-ları gizlədir.
Flaky testlə iş protokolu: (1) dərhal quarantine (skip + ticket) — komandanı bloklama; (2) trace ilə kök səbəb; (3) düzəliş + --repeat-each=20 ilə sübut; (4) geri qaytarma. Metrikanı izlə: flaky rate >1-2% olduqda sistemli problem var.
📚 Mənbələr və sənədlər
- CIrəsmiplaywright.dev
- Paralellik və shardingrəsmiplaywright.dev