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ış)
| Metrik | Nə deməkdir | Nəyə diqqət etməli |
|---|---|---|
| Response time | Sorğunun göndərilməsindən cavabın alınmasına qədər keçən vaxt | Ortalama yanıldıcıdır — **p95 / p99** (95-ci və 99-cu persentil) daha dürüst mənzərə verir |
| Throughput | Vahid vaxtda emal olunan sorğu sayı (RPS/TPS) | Yük artdıqca throughput artmırsa, sistem doyma nöqtəsinə çatıb |
| Error rate | Uğursuz sorğuların faizi | Yük altında 500 və timeout sayının artması — ən aydın sınma siqnalı |
| Concurrent users | Eyni anda aktiv istifadəçi sayı | Rəqəm analitikadan götürülməlidir — təxmin yox, real pik data |
| Resurs istifadəsi | CPU, 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
- Web Vitalsrəsmiweb.dev
- Lighthouserəsmideveloper.chrome.com