Equivalence va Boundary Value chuqur. Decision Table amaliy. Pairwise eslatma. Sodda misollar bilan, bosqichma-bosqich.
12-darsda 4 ta texnikani tanishtirgan edik. Endi chuqur o'rganamiz โ chunki bu sizning kundalik ishingiz uchun zarur.
Tasavvur qiling: PO sizga vazifa berdi โ "Ro'yxatdan o'tish formasini test qiling". Siz qancha test case yozasiz? 1000 ta? 100 ta? 10 ta?
To'g'ri javob โ texnikalardan foydalanish. Ular bilan siz eng kam test bilan eng ko'p coverage ga erishasiz. Bu darsdan keyin siz aniq biluvchi bo'lasiz.
Equivalence Partitioning โ ma'lumotlarni guruhlarga bo'lish va har guruhdan 1 ta qiymat bilan test qilish.
Asosiy g'oya: Bir guruhdagi ma'lumotlar bir xil natija beradi.
Har masaladan kamida 2 turdagi guruh bo'ladi:
Talab: "Email format name@domain.com ko'rinishida bo'lishi kerak"
Bo'limlar:
test@uzum.uztestuzum.uztest@test@uzum[empty]Natija: 5 ta guruh = 5 ta test case (faqat har biridan 1 ta misol bilan).
Har bir Valid va Invalid bo'limdan kamida 1 ta qiymat bilan test qiling. 100 ta o'rniga 5-7 ta yetadi.
Boundary Value Analysis โ chegara qiymatlarini alohida sinash. 80% bug aynan chegaralarda topiladi!
Asosiy g'oya: Dasturchilar tez-tez > va >= ni adashtirishadi.
Har chegara uchun 2 ta qiymat: chegara va undan oldin/keyin.
Har chegara uchun 3 ta qiymat: chegaradan oldin, chegara, chegaradan keyin.
Talab: Parol 8 dan 20 belgi orasida bo'lishi kerak
Dasturchi yozdi: if (parol.length > 8)
Lekin to'g'risi: if (parol.length >= 8)
Bug: 8 belgili parol qabul qilinmaydi! Off-by-one xato. Boundary Value testi shu bugni topadi.
| ID | Tavsif | Kiritilgan | Natija |
|---|---|---|---|
| TC-001 | Parol chegaradan kichik | 1234567 (7) |
โ Xato |
| TC-002 | Parol pastki chegara | 12345678 (8) |
โ Qabul |
| TC-003 | Parol o'rta qiymat | password (8) |
โ Qabul |
| TC-004 | Parol yuqori chegara | 20 belgi parol | โ Qabul |
| TC-005 | Parol chegaradan katta | 21 belgi parol | โ Xato |
Equivalence + Boundary birga ishlatiladi. Equivalence โ guruhlar uchun, Boundary โ chegaralar uchun. Bu kombinatsiya โ eng samarali test strategiyasi!
Vazifa: TestShop'da promo kod 6-12 belgili bo'lishi kerak. Sizning Boundary Value test case'ingiz qaysi?
Decision Table โ bir nechta shartlar birlashganda har xil natijalar bo'lganda ishlatiladi.
Asosiy g'oya: Murakkab logikani jadval ko'rinishida aniq ko'rsatish.
2 ร 2 ร 2 = 8 kombinatsiya. Har biri alohida test.
| Shart / Natija | TC1 | TC2 | TC3 | TC4 | TC5 | TC6 | TC7 | TC8 |
|---|---|---|---|---|---|---|---|---|
| VIP | Ha | Ha | Ha | Ha | Yo'q | Yo'q | Yo'q | Yo'q |
| 5+ mahsulot | Ha | Ha | Yo'q | Yo'q | Ha | Ha | Yo'q | Yo'q |
| Promo kod | Ha | Yo'q | Ha | Yo'q | Ha | Yo'q | Ha | Yo'q |
| Chegirma | 25% | 15% | 20% | 10% | 15% | 5% | 10% | 0% |
Decision Table โ biznes qoidalari murakkab bo'lganda. To'lov tizimlari, chegirma logikasi, foydalanuvchi ruxsatlari uchun.
Pairwise Testing โ ko'p variantli kombinatsiyalarni aqilli kamaytirish texnikasi. Senior darajasi.
Asosiy g'oya: Bug'larning aksariyati 2 parametrning kombinatsiyasidan kelib chiqadi, hammasi emas.
Vaziyat: 4 ta brauzer ร 3 ta OS ร 2 ta til = 24 ta kombinatsiya
To'liq test: 24 ta test case
Pairwise Testing: faqat 12 ta test case โ lekin har 2 parametr juftligi qoplanadi
Natija: 50% kam test, lekin 95%+ bug topish darajasi.
Hozir bu texnikani amalda ishlatish shart emas. Faqat atamani biling โ intervyuda so'ralsa: "Ko'p variantli testlarni aqlli kamaytirish texnikasi" deb ayta olasiz. Maxsus asboblar bor: PICT, Hexawise.
Har misol qaysi texnika bilan bog'liq?
1-qadam: Pastdagi test case'ni bosing. 2-qadam: Mos texnikani tanlang.
1-qadam: Bug holatini bosing. 2-qadam: Qaysi texnika topganini tanlang.
test@uzum formatida โ qabul qilindiDushanba, 10:00. Click jamoasidan PO sizga keldi. "Yangi feature: Pul o'tkazish limiti".
Talablar:
Sizdagi vaqt: 1 soat. Qaysi texnika bilan boshlaysiz?
Endi nazariyani amaliyotda sinab ko'ramiz. 3 ta vazifa โ har biri boshqa texnika.
Real loyihada ishlatadigan ko'nikmalarni rivojlantiring.
๐ TestShop'ga o'tishBu 3 ta vazifa Middle QA darajasi. Intervyu'da: "Men Equivalence va Boundary Value qo'llayman, Decision Table tuza olaman" โ deb ayta olasiz. Bu Junior'lar orasida juda kam ko'nikma.
Test Design Texnikalari โ har Middle QA intervyusining asosiy mavzusi. 7 ta professional javob.
๐ก Har savol ustiga bosing โ professional javobni ko'rasiz.
Javob: "Bu ikkala texnika birga ishlatiladi โ ular bir-birini to'ldiradi:"
Misol: Yosh 18-65 oralig'i
Pro javob: "Men har formada ikkala texnikani ishlataman. EP โ guruhlar uchun, BV โ chegaralar uchun. 5-8 ta test case bilan to'liq coverage."
Javob: "Off-by-one xato โ dasturchining 1 ta qiymat farq qiluvchi xatosi. Eng mashhur bug turi."
Sabablari:
> va >= ni adashtirish< va <= ni almashtirishMisol: "Parol 8+ belgi" talabida dasturchi length > 8 yozsa โ 8 belgili parol qabul qilinmaydi (lekin 9 qabul qilinadi).
Qanday topiladi? Boundary Value Analysis bilan. 2-point yoki 3-point usul.
Javob:
Misol: Yosh 18-65
Qachon qaysi biri? Junior odatda 2-point ishlatadi (tez). Senior 3-point ishlatadi (aniq). Critical loyihalarda โ har doim 3-point.
Javob: "Decision Table โ bir nechta shartlar birlashganda, har xil natija bo'lganda ishlatiladi."
Qachon kerak?
4 qadam:
Afzallik: Hech bir holat o'tkazib yuborilmaydi.
Javob: "Texnikalar bilan 12-15 ta test case yetadi. Mana qanday:"
Email maydoni (Equivalence):
test@uzum.uztest)testuzum.uz)Parol maydoni (Boundary 2-point):
Bloklash logikasi (Decision Table): 3 marta xato โ blok
Pro javob: "100 ta test yozish vaqt isrofi. Texnikalar bilan 12-15 ta yetadi va to'liq coverage."
Javob: "Pairwise Testing โ ko'p variantli kombinatsiyalarni aqlli kamaytirish texnikasi."
Asosiy g'oya: Bug'larning aksariyati 2 parametrning kombinatsiyasidan kelib chiqadi, hammasi emas. Demak โ har 2 parametr juftligi qoplansa yetadi.
Misol: 4 brauzer ร 3 OS ร 2 til = 24 kombinatsiya
Asboblar: PICT (Microsoft), Hexawise.
Junior darajasi: "Hozir amalda ishlatmayman, lekin atamani bilaman. Bu Senior darajasidagi texnika."
Javob:
Pro javob: "Odatda 2-3 ta texnikani birga ishlataman. EP + BV โ har formada. DT โ biznes logikasida. Bu kombinatsiya โ eng samarali."
Bu darsdan eslab qolishingiz kerak bo'lgan eng muhim g'oyalar