Test'ni qanday "yaratamiz"? Talabni o'qib test case'gacha โ to'liq jarayon. Junior'dan Middle'ga o'tishdagi asosiy ko'nikma.
Tasavvur qiling: PO sizga yangi vazifa berdi โ "Foydalanuvchi parolni tiklay olishi kerak". Endi siz nima qilasiz? Darhol test case yozasizmi? Yo'q.
Avval tahlil qilasiz (Analysis) โ talabni tushunish, savollar berish, shartlarni aniqlash. Keyin dizayn qilasiz (Design) โ aniq test case'lar, test ma'lumotlari, qadamlar.
Bu ikki bosqich โ QA ning professional ishi. Junior asosan tayyor test case'larni bajaradi, Middle esa ularni o'zi yaratadi. Bu darsdan keyin siz Middle darajasidagi ko'nikmaga ega bo'lasiz.
Test Analysis (Test tahlili) โ talablarni o'qib, "NIMA test qilish kerak?" degan savolga javob topish bosqichi.
Oddiy qilib: Sizga berilgan vazifani chuqur tushunish va test uchun zarur narsalarni aniqlash.
Yangi vazifa kelganda QA quyidagi 4 qadamni bajaradi:
"Foydalanuvchi parolni tiklay olishi kerak." โ bu hammasi.
Junior QA "Tushundim" deb darhol test case yozadi. Middle QA 10-15 ta savol beradi. Senior QA โ bu savollarni 3 Amigos meeting'da beradi (oldindan).
Test Design (Test dizayni) โ Analysis bosqichidan keyin "QANDAY test qilamiz?" degan savolga javob. Aniq test case'lar va ma'lumotlarni yaratish.
Oddiy qilib: Tahlil qilingan talab asosida amaliy test case'lar yozish.
test@example.comnoemail@example.comNewPass123!OldPass456!
| Test ID | Tavsif | Test Data | Expected |
|---|---|---|---|
| TC-001 | To'g'ri email bilan parol tiklash | test@uzum.uz |
Email yuborildi |
| TC-002 | Noto'g'ri email bilan urinish | fake@uzum.uz |
"Email topilmadi" |
| TC-003 | Bo'sh email bilan | [empty] |
"Email kerak" |
| TC-004 | Eski havolani ishlatish | 1 soat oldingi havola | "Havola eskirgan" |
Test Conditions โ Test Cases โ Test Data. Birinchi nima, keyin qanday, oxirida nima bilan. Bu ketma-ketlik buzilsa โ sifatsiz test bo'ladi.
Quyidagi maydonlarni to'ldiring va "Test Case'ni ko'rish" tugmasini bosing.
1-qadam: Pastdagi yozuvni bosing. 2-qadam: Mos keladigan komponent maydonini tanlang.
Endi siz komponentlarni bilasiz. Lekin yana bir savol โ qanday tanlash, qaysi test case'larni yozish kerak? 100+ test case yozish kerak emas, eng samarali bo'lganlarini tanlash kerak.
Buning uchun Test Design Texnikalari bor. 4 ta eng asosiysini ko'ramiz (kelgusi 13-darsda batafsil).
3 guruh: juda yosh (<18), to'g'ri (18-65), juda katta (>65)
100 ta qiymat sinash o'rniga โ 3 ta yetadi!
Sinash kerak: 7, 8, 20, 21 (chegara va uning yon-atrofi)
Dasturchilar tez-tez > va >= ni adashtirib qo'yishadi โ chegara testlari bunday bugni topadi.
Shartlar: Sotuv summasi > 1mln + Akkount eski (1+ yil)
| Summa > 1mln | Akkount eski | Chegirma |
|---|---|---|
| โ | โ | 15% |
| โ | โ | 10% |
| โ | โ | 5% |
| โ | โ | 0% |
Holatlar: Yangi โ To'langan โ Yetkazilmoqda โ Yetkazildi
Test: "Yangi" holatdan to'g'ridan-to'g'ri "Yetkazildi"ga o'tib bo'ladimi? Yo'q โ bu noto'g'ri o'tish, bug bo'lishi kerak.
Bu 4 ta texnika โ asoslari. Keyingi darsda ularning har birini batafsil amaliy misollar bilan ko'ramiz va Pairwise testing, Use Case testing kabi qo'shimchalarni ham o'rganamiz.
Yuqoridagi 4 ta โ Black Box texnikalari (10-darsda ko'rdik). White Box texnikalari ham bor, lekin ular asosan dasturchilar uchun:
if/else shartni sinashJunior QA bu atamalarni bilishi kifoya. Amalda foydalanmaysiz.
Har texnikaning eng yaxshi misolini toping.
1-qadam: Holatni bosing. 2-qadam: Qaysi bosqichga tegishli ekanini tanlang.
Dushanba, 9:30. Click jamoasidan PO sizga keldi. "Yangi User Story bor: Foydalanuvchi do'stga pul yuborishi mumkin. Sprint oxirida release."
Bu hammasi โ User Story qisqa, Acceptance Criteria ham yo'q.
Sizda 30 daqiqa bor โ keyin 3 Amigos meeting. Nima qilasiz?
Endi nazariyani amaliyotda sinab ko'ramiz. TestShop uchun to'liq Test Analysis va Test Design bajarasiz.
Yangi feature uchun to'liq test paketini yarating.
๐ TestShop'ga o'tishBu 3 ta vazifa Middle QA darajasi. Intervyuda: "Men Test Analysis qila olaman, Equivalence Partitioning va Boundary Value texnikalari bilan ishlayman, Decision Table tuzaman" โ deb ayta olasiz. Bu Junior'lar orasida juda kam.
Test Analysis va Design โ Middle QA intervyusining asosiy mavzusi. 7 ta professional javob.
๐ก Har savol ustiga bosing โ professional javobni ko'rasiz.
Javob:
Misol:
Pro javob: "Junior QA Design'da ishlaydi (tayyor case'larni bajaradi). Middle/Senior โ Analysis va Design ikkalasini ham qiladi."
Javob: "Standart Test Case 6 ta asosiy komponentdan iborat:"
Qo'shimcha: Priority (P1/P2/P3), Severity, Author, Status โ bu maydonlar Jira/TestRail'da avtomatik bo'ladi.
Javob: "Equivalence Partitioning โ ma'lumotlarni guruhlarga bo'lib, har guruhdan 1 ta qiymat bilan test qilish texnikasi."
Asosiy g'oya: Bir guruhdagi ma'lumotlar bir xil natija beradi, demak hammasini sinash shart emas.
Misol: Yosh maydoni 18-65 oralig'i
Natija: 100 ta test o'rniga 3 ta test yetadi.
Javob: "Boundary Value Analysis โ chegara qiymatlarini alohida sinash texnikasi."
Nima uchun muhim? Statistika ko'rsatadi โ buglarning 80% aynan chegaralarda topiladi! Dasturchilar tez-tez xato qilishadi:
> va >= ni adashtirish< va <= ni almashtirishMisol: Parol 8-20 belgi
Javob: "Decision Table bir nechta shartlar birlashganda ishlatiladi. Har shart kombinatsiyasi uchun aniq natija."
Qachon kerak?
Misol: Chegirma โ VIP (ha/yo'q) + Summa >1mln (ha/yo'q) = 4 ta kombinatsiya
Afzallik: Murakkab logikani vizualizatsiya qiladi, hech bir holat o'tkazib yuborilmaydi.
Javob: "Yaxshi Test Case 5 ta asosiy xususiyatga ega:"
Anti-pattern: "Loginni tekshirish" โ bu yomon test case (juda umumiy).
To'g'ri: "TC-001: To'g'ri email va parol bilan login muvaffaqiyatli" โ aniq.
Javob:
Misol:
if/else shartni Unit testda sinash"Junior uchun: "Men asosan Black Box texnikalarni ishlataman โ Equivalence va Boundary Value har kundagi ishimda."
Bu darsdan eslab qolishingiz kerak bo'lgan eng muhim g'oyalar