Real interfeyslər test edin. Bug tapın. Test case yazın. Praktiki bacarıq qazanın.
Aşağıdakı formda 5 bug gizlənib. Tapıb test case yazın!
Bu formda 4 UX bug var. Tapın və bug report yazın!
Bu kalkulyatorda 10 bug gizlənib — müxtəlif çətinlik səviyyələrində. Slider-ləri hərəkət etdirin, dəyərləri dəyişin, kənar halları yoxlayın.
Bu formda 6 məntiqi bug var. Diqqətli test edin — səthən görünmür!
Real bank sistemlərindən götürülmüş çətin ssenarilər. Hər birinin bug növü, tapılma yolu və test case yazılması tələb olunur.
Token 30 dəqiqədə bitir, lakin backend yoxlamır. Köhnə token ilə hər hansı API endpoint-ə sorğu göndər — 200 OK qaytarır.
Balans ₼100 olduqda eyni anda 2 tab-da ₼80 köçürmə göndər. Hər ikisi uğurlu keçir → balans mənfi olur.
Kredit kalkulyatoru aylıq ödənişi sadə faizlə hesablayır (P×r×n/n), düzgün amortization düsturunu deyil.
Köçürmə tarixi sahəsindən 2020-ci il seçilə bilir. Backend keçmiş tarixli köçürməni icra edir.
İstifadəçi alıcı IBAN-ı kimi öz hesab nömrəsini daxil edə bilir. Sistem eyni hesaba köçürməni icra edir.
Məbləğ sahəsinə 0 daxil edildikdə forma göndərilir. Backend 0 AZN köçürməni qeydə alır, komissiya tutulur.
IBAN sahəsinə "test123" daxil etmək mümkündür. Frontend yalnız uzunluğu yoxlayır (28 simvol), AZ__ NABZ formatını deyil.
Kredit məbləği slider-ini ₼50,000 maksimuma çəkdikdə aylıq ödəniş sahəsində "₼0" göstərilir. Integer overflow problemi.
Əməliyyat tarixçəsinin axtarış sahəsinə script teqi daxil edilir və icra olunur. Output sanitizasiya edilmir.
<img src=x onerror=alert(1)>Əməliyyat tarixçəsinin son səhifəsindən "Növbəti" düyməsinə basıldıqda eyni səhifə yenidən yüklənir — sonsuz loop.
Black box testingdə daxili kodu bilmədən yalnız giriş/çıxış əsasında test hazırlanır. Aşağıdakı texnikalar QA müsahibələrinin əsasını təşkil edir.
Giriş məlumatlarını bərabər davranışlı qruplara (partition) bölmək. Hər qrupdan yalnız 1 test case yazılır — bu, test sayını azaldır.
Sərhəd nöqtələrini test etmə. Bugların çoxu minimum/maksimum dəyərlərdə olur. Hər hədd üçün: min−1, min, min+1 / max−1, max, max+1.
Bir neçə şərtin kombinasiyalarını cədvəl şəklində test etmə. Mürəkkəb biznes qaydaları üçün idealdır — heç bir kombinasiya qaçırılmır.
Sistemin müxtəlif vəziyyətlər arasında keçidlərini test etmə. ATM, sifariş statusu, istifadəçi hesabı kimi axınlar üçün.
İstifadəçinin sistemi necə istifadə etdiyini ssenarilər üzrə test etmə. Əsas axın (happy path) + alternativ axınlar + xəta axınları.
Təcrübə əsasında ən çox bug-ın tapıldığı yerləri intuisiya ilə test etmə. Exploratory testing-in əsasıdır. Formal texnika deyil, bacarıqdır.
'; DROP TABLE--Professional bug report-un standart strukturu. Jira, TestRail, Mantis — hamısında bu sahələr eynidir.
Production · Chrome 124 · Windows 11 · v2.4.1demo.anarabbas.az/logintest@abb.az daxil edinStaging · Firefox 125 · macOS 14 · v2.4.1Production · Safari Mobile · iPhone 14 (iOS 17) · v2.4.1Həqiqi bank sistemləri üçün yazılmış test case nümunələri. Login, Ödəniş, Profil modulları üzrə.
| ID | Test Adı | Ön şərt | Addımlar | Gözlənilən Nəticə | Status |
|---|---|---|---|---|---|
| TC-LOG-001 | Düzgün etimadnamə ilə giriş | İstifadəçi qeydiyyatlıdır | 1. Login səhifəsini aç 2. Email: test@abb.az 3. Şifrə: Test@1234 4. "Daxil ol" klik |
Dashboard açılır, welcome mesajı göstərilir | PASS ✓ |
| TC-LOG-002 | Yanlış şifrə ilə giriş cəhdi | İstifadəçi qeydiyyatlıdır | 1. Email: test@abb.az 2. Şifrə: wrongPass 3. "Daxil ol" klik |
"Şifrə yanlışdır" xəta mesajı, hesab kilidlənmir | FAIL ✗ |
| TC-LOG-003 | Boş email ilə form göndərimi | — | 1. Email sahəsini boş burax 2. Şifrə: Test@1234 3. "Daxil ol" klik |
Email sahəsinin altında "Bu sahə məcburidir" xəta | PASS ✓ |
| TC-LOG-004 | 5 uğursuz cəhddən sonra hesab kilidi | İstifadəçi mövcuddur | 1. Yanlış şifrə ilə 5 dəfə giriş cəhdi et 2. 6-cı cəhddə düzgün şifrə daxil et |
"Hesabınız 15 dəqiqəlik kilidləndi" mesajı | N/TC |
| TC-LOG-005 | SQL injection cəhdi | — | 1. Email: ' OR '1'='12. Şifrə: herhangi 3. Submit |
Giriş bloklanır, xəta mesajı. 500 error yoxdur | PASS ✓ |
| ID | Test Adı | Ön şərt | Addımlar | Gözlənilən Nəticə | Status |
|---|---|---|---|---|---|
| TC-PAY-001 | Uğurlu ödəniş — Visa kart | Hesabda ≥ ₼100 balans var | 1. Məbləğ: ₼50 2. Kart: 4111 1111 1111 1111 3. CVV: 123, Tarix: 12/26 4. "Ödəniş et" klik |
Ödəniş təsdiqi, email bildirişi, balans azalır | PASS ✓ |
| TC-PAY-002 | Balans yetərsiz olduqda ödəniş | Hesabda ₼10 balans var | 1. Məbləğ: ₼100 daxil et 2. Ödəniş et klik |
"Balansınız yetərsizdir" xəta, ödəniş baş vermir | PASS ✓ |
| TC-PAY-003 | Mənfi məbləğ ilə ödəniş cəhdi | — | 1. Məbləğ sahəsinə -50 daxil et 2. Submit |
Validasiya xətası — mənfi dəyər qəbul edilmir | FAIL ✗ |
| TC-PAY-004 | Etibarsız kart tarixi | — | 1. Kart tarixi: 01/20 (keçmiş) 2. Ödəniş et |
"Kartın müddəti bitib" xəta mesajı | N/TC |
| TC-PAY-005 | Eyni əməliyyatı iki dəfə göndərmə | Ödəniş gözləmə vəziyyətindədir | 1. Ödəniş et klik 2. Cavabı gözləmədən yenidən klik |
Yalnız 1 ödəniş icra edilir (idempotency) | FAIL ✗ |
| ID | Test Adı | Ön şərt | Addımlar | Gözlənilən Nəticə | Status |
|---|---|---|---|---|---|
| TC-PRF-001 | Ad-soyad yeniləmə | İstifadəçi daxil olub | 1. Profil → Redaktə 2. Ad: "Nigar", Soyad: "Əliyeva" 3. Yadda saxla |
Dəyişiklik yadda saxlanır, nav-da yeni ad görünür | PASS ✓ |
| TC-PRF-002 | Şifrə dəyişdirmə — köhnə şifrə yanlış | İstifadəçi daxil olub | 1. Şifrəni dəyiş 2. Köhnə şifrə: wrong123 3. Yadda saxla |
"Köhnə şifrə yanlışdır" xəta, şifrə dəyişmir | PASS ✓ |
| TC-PRF-003 | Profil şəkli — 5MB-dan böyük fayl | İstifadəçi daxil olub | 1. Profil şəkli → Yüklə 2. 8MB JPEG seçin |
"Fayl ölçüsü 5MB-dan çox ola bilməz" xəta | N/TC |
| TC-PRF-004 | Ad sahəsini boş yadda saxlama | İstifadəçi profil redaktə ekranındadır | 1. Ad sahəsini sil 2. Yadda saxla klik |
"Ad sahəsi məcburidir" xəta mesajı | FAIL ✗ |
| TC-PRF-005 | Email format validasiyası | İstifadəçi daxil olub | 1. Email: "abc@" daxil et 2. Yadda saxla |
"Email formatı yanlışdır" validasiya xətası | PASS ✓ |