Sparround

Manual QA üçün performance testing əsasları

Manual QA-dan JMeter skripti yazmaq gözlənilmir. Amma performance testing növlərini və əsas metrikləri bilmək gözlənilir — çünki QA çox vaxt problemin ilk siqnalını görən adamdır.

Performance testing növləri:

  • Load testing — gözlənilən normal yük altında sistem tələb olunan cavab müddətini saxlayırmı? (məs. eyni anda 500 istifadəçi)
  • Stress testing — sistem hansı nöqtədə sınır? Yükü artırıb sərhədi tapmaq. Vacib sual: sınanda necə sınır — aydın error verir, yoxsa data korlanır?
  • Spike testing — yükün qəfil artması (məs. reklam kampaniyası, ilin sonu poliso yeniləmə pik dövrü). Sistem tez bərpa olunurmu?
  • Endurance / soak testing — uzunmüddətli (saatlar/günlər) sabit yük. Yaddaş sızması (memory leak) və resurs tükənməsi burada üzə çıxır
  • Scalability testing — resurs (server, instans) əlavə etdikcə sistem uyğun şəkildə güclənirmi?
  • Volume testing — böyük data həcmi ilə davranış (məs. 1 milyon poliso olan bazada axtarış)
MetrikNə deməkdirNəyə diqqət etməli
Response timeSorğunun göndərilməsindən cavabın alınmasına qədər keçən vaxtOrtalama yanıldıcıdır — **p95 / p99** (95-ci və 99-cu persentil) daha dürüst mənzərə verir
ThroughputVahid vaxtda emal olunan sorğu sayı (RPS/TPS)Yük artdıqca throughput artmırsa, sistem doyma nöqtəsinə çatıb
Error rateUğursuz sorğuların faiziYük altında 500 və timeout sayının artması — ən aydın sınma siqnalı
Concurrent usersEyni anda aktiv istifadəçi sayıRəqəm analitikadan götürülməlidir — təxmin yox, real pik data
Resurs istifadəsiCPU, yaddaş, disk, DB bağlantılarıEndurance testində yaddaşın davamlı artması memory leak deməkdir

Manual QA performance sahəsində konkret nə edə bilər?

  • Tək istifadəçi üçün cavab müddətini ölçmək — DevTools Network tabında hər sorğunun vaxtı görünür. Bu, load testi deyil, amma "boş sistemdə belə 8 saniyə çəkir" tapıntısı çox dəyərlidir
  • Böyük data ilə yoxlamaq — 5 polisosu olan test hesabı ilə deyil, 500 polisosu olan hesabla test etmək; axtarış, filtr, export və pagination burada sınır
  • Yavaş şəbəkəni simulyasiya etmək — DevTools throttling ilə: loading indikatoru varmı, timeout düzgün idarə olunurmu, ikiqat submit mümkündürmü
  • Trendi izləmək — eyni əməliyyat keçən release-də 1 saniyə çəkirdisə, indi 4 saniyə çəkirsə, bu bug-dır (performance regression)
  • Requirement-də rəqəm tələb etmək — refinement-də "tez açılmalıdır" ifadəsini "p95 < 2 saniyə"ya çevirtdirmək

Nə vaxt mütəxəssis cəlb etmək lazımdır: real load/stress/endurance testi ayrıca alət (JMeter, k6, Gatling), ayrıca mühit və infrastruktur monitorinqi tələb edir. Bunu "əl ilə 20 tab açmaqla" əvəz etmək olmaz — belə cavab interviewdə mənfi siqnaldır.

Ortalama və persentil fərqi interviewdə fərqlənmək üçün əla detaldır. "Ortalama cavab müddəti 1 saniyədir" deyəndə istifadəçilərin 5%-i 10 saniyə gözləyə bilər — və məhz onlar şikayət edir. Ona görə p95 soruşulur: istifadəçilərin 95%-i bu müddətdən tez cavab alır. Sığorta portalında bu real fərqdir: çoxlu polisosu olan korporativ müştəri həmişə "yavaş 5%"-in içində olur.

📚 Mənbələr və sənədlər