Sparround

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