Hansı səhifə hansı funksiyanı yoxlayır və orada nə etmək lazımdır.
| Ssenari | Səhifə | Nə var | Nə etməli | Gözlənilən nəticə |
| Correlation — CSRF (gizli input) |
/index.php |
Login formunda gizli csrf_token. |
Login edin. Correlation siyahısında csrf_token görünməlidir. |
Söndürüb Build etsəniz test ?err=csrf alır → 302, gözlənilən 200 deyil. |
| Correlation — CSRF (meta tag) |
/dashboard.php |
<meta name="csrf-token"> və X-CSRF-Token header. |
“Sifariş yarat” düyməsinə basın. |
Correlation olmasa /api/order.php 403 qaytarır. |
| Correlation — JSON token |
/api/auth.php → /api/profile.php |
JSON cavabında data.access_token. |
“API login + profil” düyməsinə basın. |
Correlation olmasa profil 401 verir. |
| Correlation — __VIEWSTATE |
/form-token.php |
Hər yükləmədə dəyişən gizli token. |
Formanı göndərin. |
Köhnə token → 403. |
| Correlation — əl ilə (OTP) |
/otp.php |
Kod səhifədə id="otp-code" içindədir. |
Kodu köçürüb göndərin. |
Recorder avtomatik tutmur → JMeter Converter-də Regex Extractor əlavə edin. Səhv kod 401. |
| Data list (CSV Data Set) |
/index.php |
İstifadəçi adı və parol sahələri. |
Data listi yaradın (username,password), sahələrə dəyişən qoyun, 3 thread ilə işlədin. |
/data.php → “Girişlər” bölməsində üç fərqli istifadəçi görünməlidir. |
| Random dəyər |
/register.php |
Eyni istifadəçi adı ikinci dəfə 409 verir. |
Ad sahəsinə ${__RandomString(8,abcdefghijklmnopqrstuvwxyz,)} qoyun. |
Hər iterasiyada yeni ad → hamısı 200. Assertion “200” qoysanız təkrar ad dərhal görünər. |
| Transaction qrupu |
/checkout.php |
Üç addımlı ödəniş: ünvan → çatdırılma → kart. |
“Davam et” düyməsinə basmazdan əvvəl Ödəniş adlı qrup başladın, sonda bitirin. |
Hesabatda üç sorğu əvəzinə bir Ödəniş sətri görünür. |
| Loop Controller |
/catalog.php?page=2 |
Səhifələnmiş kataloq. |
Bir sorğuya Loop = 5 qoyun. |
JMeter həmin sorğunu hər iterasiyada 5 dəfə göndərir. |
| Timer (think time) |
istənilən səhifə |
Sorğular arası gözləmə. |
Timer & Loop tabında Uniform 1000 + 500 ms qoyun. |
JTL-də sorğular arası fasilə 1–1.5 san olur. |
| Assertion — status kodu |
/status.php?code=404 |
İstənilən status kodu qaytarır. |
Gözlənilən kod “404” yazın. |
Uğurlu sayılır. “200” yazsanız — fail. |
| Assertion — mətn |
/dashboard.php |
Səhifədə “Xoş gəldiniz” yazısı var. |
Assertions tabında mətn: Xoş gəldiniz. |
Login sınsa, 200 gəlsə belə test fail olur. |
| Assertion — müddət |
/slow.php?ms=1500 |
Cavab 1.5 saniyə çəkir. |
Maksimum müddət: 1000 ms. |
Test fail olur — SLA yoxlaması budur. |
| Timeout |
/slow.php?ms=5000 |
Çox yavaş cavab. |
Advanced → Response timeout: 1000. |
SocketTimeoutException alırsınız. |
| Xəta faizi |
/flaky.php?fail=30 |
30% ehtimalla 500. |
Loop 20 qoyun. |
Hesabatda ~30% xəta. Thread Group-da “xətadan sonra davam et” ayarını sınayın. |
| Rate limit |
/limited.php |
5 sorğudan sonra 429. |
Loop 10 qoyun. |
İlk 5 sorğu 200, qalanı 429 → yük altında limit davranışı. |
| Redirect |
/redirect.php?n=3 |
Üç dəfə 302. |
Follow redirects açıq / bağlı yoxlayın. |
Bağlı olanda cavab 302 kimi qalır. |
| Cookie Manager |
/cookie.php |
Hər açılışda sayğac artır. |
“Hər iterasiyada cookie-ləri təmizlə” ayarını açıb-bağlayın. |
Açıq olanda rəqəm həmişə 1, bağlı olanda artır. |
| Metodlar (PUT/DELETE) |
/api/cart.php |
GET, POST, PUT, DELETE dəstəkləyir. |
Kabinetdən fetch ilə çağırın və ya JMeter Converter-də metodu dəyişin. |
Yanlış metod 405 verir. |
| Basic Auth |
/basic.php |
admin / admin123. |
Header əlavə edin: Authorization: Basic YWRtaW46YWRtaW4xMjM=. |
Headersiz 401. |
| Debug |
/api/echo.php |
Göndərilən hər şeyi geri qaytarır. |
Şübhəli sorğunu bura yönləndirin. |
JMeter-in hansı header və body göndərdiyini dəqiq görürsünüz. |
| Böyük cavab |
/heavy.php?kb=300 |
300 KB mətn. |
Şəbəkə yükünü ölçün. |
Hesabatda “Received KB/sec” artır. |