0%
13-dars

Test Case texnikalari โ€” chuqur

Equivalence va Boundary Value chuqur. Decision Table amaliy. Pairwise eslatma. Sodda misollar bilan, bosqichma-bosqich.

90 daqiqa
Amaliy texnikalar
5 ta interaktiv topshiriq

Nega texnikalar muhim?

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.

๐Ÿ’ก Oddiy misol
Sho'rva tatib ko'rish
Onangiz katta qozonda sho'rva pishirayapti. Mazasini bilish uchun butun qozonni ichish kerakmi? Yo'q โ€” bitta qoshiq yetadi! Texnikalar ham xuddi shunday โ€” har "guruh"dan bir-ikkita test bilan butun tizim sifati aniqlanadi.

Equivalence Partitioning

Eslatma

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.

Vizual: yosh maydoni (18-65)

Yosh maydoniga kiritiladigan barcha qiymatlar:
Yosh (<18)
To'g'ri (18-65)
Katta (>65)
0 17 18 65 66 120
โŒ
1 ta sinash:
15
โœ…
1 ta sinash:
30
โŒ
1 ta sinash:
70

Valid va Invalid bo'limlar

Har masaladan kamida 2 turdagi guruh bo'ladi:

Murakkabroq misol: Email maydoni

Talab: "Email format name@domain.com ko'rinishida bo'lishi kerak"

Bo'limlar:

  • โœ… Valid: test@uzum.uz
  • โŒ Invalid (@ yo'q): testuzum.uz
  • โŒ Invalid (domen yo'q): test@
  • โŒ Invalid (.com yo'q): test@uzum
  • โŒ Invalid (bo'sh): [empty]

Natija: 5 ta guruh = 5 ta test case (faqat har biridan 1 ta misol bilan).

Qachon ishlatiladi?

Qoida

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

Eslatma

Boundary Value Analysis โ€” chegara qiymatlarini alohida sinash. 80% bug aynan chegaralarda topiladi!

Asosiy g'oya: Dasturchilar tez-tez > va >= ni adashtirishadi.

2-point va 3-point usullari

๐Ÿ“ 2-point usuli (oddiy)

Har chegara uchun 2 ta qiymat: chegara va undan oldin/keyin.

Yosh: 18-65 oralig'i (2-point usuli)
17
18
...
30
...
65
66
Invalid
Chegara
Valid
4 ta test: 17 (oldin), 18 (chegara), 65 (chegara), 66 (keyin)

๐Ÿ“ 3-point usuli (chuqurroq)

Har chegara uchun 3 ta qiymat: chegaradan oldin, chegara, chegaradan keyin.

Yosh: 18-65 oralig'i (3-point usuli)
17
18
19
...
64
65
66
6 ta test: 17, 18, 19, 64, 65, 66 โ€” eng aniq!

Off-by-one xato โ€” eng mashhur bug

Real misol: Parol uzunligi

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.

Test Case'lar jadvali (Login formasi)

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
Pro maslahat

Equivalence + Boundary birga ishlatiladi. Equivalence โ€” guruhlar uchun, Boundary โ€” chegaralar uchun. Bu kombinatsiya โ€” eng samarali test strategiyasi!

๐Ÿ›  Amaliy mashq

Boundary Value bilan Test Case yarating

Vazifa: TestShop'da promo kod 6-12 belgili bo'lishi kerak. Sizning Boundary Value test case'ingiz qaysi?

โœ… Sizning Test Case'ingiz

Decision Table โ€” amaliy

Eslatma

Decision Table โ€” bir nechta shartlar birlashganda har xil natijalar bo'lganda ishlatiladi.

Asosiy g'oya: Murakkab logikani jadval ko'rinishida aniq ko'rsatish.

Qanday yaratiladi? โ€” 4 qadam

1
Shartlarni aniqlang
Sayt qachon X qiladi? Hamma qaror shartlarini ro'yxatga oling. Misol: VIP foydalanuvchi, savatda 5+ mahsulot, promo kod ishlatilgan.
2
Kombinatsiyalarni hisoblang
Har shart uchun Ha/Yo'q (2 holat). Agar 3 shart bor bo'lsa: 2 ร— 2 ร— 2 = 8 kombinatsiya. Har biri alohida test.
3
Jadval tuzing
Har ustun = bir kombinatsiya. Har qator = bitta shart yoki natija. Ha/Yo'q yoki โœ…/โŒ belgilarini ishlating.
4
Test case'larga aylantiring
Har ustun = 1 ta test case. Misol: TC-001 = "VIP + 5+ mahsulot + promo kod" โ†’ 25% chegirma.

Real misol: TestShop chegirma logikasi

Shartlar: VIP 5+ mahsulot Promo kod
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%
๐Ÿ’ก Tushuntirish: 3 shart ร— 2 holat = 8 ta test case. Har biri bitta kombinatsiyani sinaydi. Bu jadval bilan biror holat o'tkazib yuborilmaydi โ€” Murakkab biznes logikasini sinash uchun ideal!
Qachon ishlatiladi?

Decision Table โ€” biznes qoidalari murakkab bo'lganda. To'lov tizimlari, chegirma logikasi, foydalanuvchi ruxsatlari uchun.

Pairwise Testing (eslatma)

Asosiy atama

Pairwise Testing โ€” ko'p variantli kombinatsiyalarni aqilli kamaytirish texnikasi. Senior darajasi.

Asosiy g'oya: Bug'larning aksariyati 2 parametrning kombinatsiyasidan kelib chiqadi, hammasi emas.

Sodda misol

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.

Junior uchun

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.

๐ŸŽฏ Bog'lang

Texnika va misolni bog'lang

Har misol qaysi texnika bilan bog'liq?

Misol

Yosh: 15, 30, 70 (3 ta guruh)
Parol: 7, 8, 20, 21 belgi
VIP + Promo + 5+ mahsulot = 8 holat
12 brauzer ร— 5 OS = 12 ta test (60 emas)
Email format: 1 ta valid + 4 ta invalid

Texnika

Decision Table
Equivalence Partitioning
Pairwise Testing
Boundary Value Analysis
Equivalence Partitioning
0 / 5 juft topildi
๐ŸŽฏ Tartibga qo'ying

Test Case ni texnika bilan bog'lang

1-qadam: Pastdagi test case'ni bosing. 2-qadam: Mos texnikani tanlang.

๐Ÿ‘† Endi to'g'ri texnikani tanlang
๐Ÿ“Š Equivalence
Test case'ni qo'ying
๐Ÿ“ Boundary
Test case'ni qo'ying
๐Ÿ“‹ Decision Table
Test case'ni qo'ying
๐Ÿ”€ Pairwise
Test case'ni qo'ying
Yosh: 17, 18, 65, 66 sinash
Email: 5 turdagi format sinash
3 brauzer ร— 4 OS dan kam test bilan
VIP + Hudud + Mahsulot turi โ†’ narx
0 / 4 to'g'ri
๐ŸŽฏ Classifier

Bug qaysi texnika orqali topildi?

1-qadam: Bug holatini bosing. 2-qadam: Qaysi texnika topganini tanlang.

๐Ÿ‘† Endi pastdagi texnika tugmalaridan birini tanlang
Parol 8 belgili โ€” qabul qilinmadi (lekin 9 belgili qabul qilinadi)
Off-by-one xato chegarada.
Email test@uzum formatida โ€” qabul qilindi
Invalid format guruhi to'g'ri ishlamayapti.
VIP + 10+ mahsulot bo'lsa chegirma 30% emas, 25% beriladi
Murakkab shartlar kombinatsiyasida xato.
Yosh 17 โ€” qabul qilindi (talab: 18+)
Chegara qiymatida xato.
Telefon raqami harflar bilan โ€” sayt qabul qildi
Invalid guruh tekshirilmagan.
๐Ÿ“Š
Equivalence
๐Ÿ“
Boundary
๐Ÿ“‹
Decision
0 / 5 to'g'ri
๐ŸŽฌ Haqiqiy stsenariy
Click yangi vazifa

Dushanba, 10:00. Click jamoasidan PO sizga keldi. "Yangi feature: Pul o'tkazish limiti".

Talablar:

  • Bir martalik o'tkazma: 1,000 - 50,000,000 so'm
  • Kunlik limit: 100,000,000 so'm
  • Oylik limit: 500,000,000 so'm

Sizdagi vaqt: 1 soat. Qaysi texnika bilan boshlaysiz?

Eng samarali yondashuv qaysi?
โšก Tezkor tekshiruv
Login formada parol 8-20 belgi bo'lishi kerak. Boundary Value 2-point usuli bilan necha test kerak?

TestShop'da texnikalarni qo'llang

Endi nazariyani amaliyotda sinab ko'ramiz. 3 ta vazifa โ€” har biri boshqa texnika.

๐Ÿ›’

TestShop โ€” Texnikalar amaliyoti

Real loyihada ishlatadigan ko'nikmalarni rivojlantiring.

๐Ÿš€ TestShop'ga o'tish

Sizning 3 ta vazifangiz:

1
Equivalence Partitioning: Email maydoni
TestShop register sahifasidagi email maydoni uchun 5-7 ta guruh aniqlang (valid + invalid). Har biri uchun 1 ta test case yozing (Google Sheets).
2
Boundary Value: Parol uzunligi
TestShop'da parol 6-20 belgi orasida bo'lishi kerak. 2-point usuli bilan 4 ta test case yozing: 5, 6, 20, 21 belgi.
3
Decision Table: Yetkazib berish narxi
TestShop yetkazib berish: Toshkent ichida (ha/yo'q) + Buyurtma 100k+ (ha/yo'q) + VIP foydalanuvchi (ha/yo'q) โ†’ 8 ta kombinatsiya. Decision Table tuzing.
๐Ÿ’ก Portfolio uchun

Bu 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.

Intervyu savollari

Test Design Texnikalari โ€” har Middle QA intervyusining asosiy mavzusi. 7 ta professional javob.

๐Ÿ’ก Har savol ustiga bosing โ€” professional javobni ko'rasiz.

Q1 Equivalence Partitioning va Boundary Value Analysis qanday ishlatiladi? +

Javob: "Bu ikkala texnika birga ishlatiladi โ€” ular bir-birini to'ldiradi:"

  • Equivalence Partitioning โ€” ma'lumotlarni guruhlarga bo'lish (valid/invalid). Har guruhdan 1 ta misol bilan test.
  • Boundary Value Analysis โ€” chegara qiymatlarini alohida sinash. Eng ko'p bug aynan chegaralarda.

Misol: Yosh 18-65 oralig'i

  • EP: 15 (yosh), 30 (to'g'ri), 70 (katta) โ€” 3 guruh
  • BV: 17, 18, 65, 66 โ€” chegara qiymatlari

Pro javob: "Men har formada ikkala texnikani ishlataman. EP โ€” guruhlar uchun, BV โ€” chegaralar uchun. 5-8 ta test case bilan to'liq coverage."

Q2 Off-by-one xato nima va qanday topiladi? +

Javob: "Off-by-one xato โ€” dasturchining 1 ta qiymat farq qiluvchi xatosi. Eng mashhur bug turi."

Sabablari:

  • > va >= ni adashtirish
  • < va <= ni almashtirish
  • Loop'da chegarani noto'g'ri yozish

Misol: "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.

Q3 2-point va 3-point Boundary Value farqi? +

Javob:

  • 2-point: har chegara uchun 2 ta qiymat (chegara va undan oldin/keyin). Tezroq.
  • 3-point: har chegara uchun 3 ta qiymat (oldin, chegara, keyin). Aniqroq.

Misol: Yosh 18-65

  • 2-point: 17, 18, 65, 66 (4 ta test)
  • 3-point: 17, 18, 19, 64, 65, 66 (6 ta test)

Qachon qaysi biri? Junior odatda 2-point ishlatadi (tez). Senior 3-point ishlatadi (aniq). Critical loyihalarda โ€” har doim 3-point.

Q4 Decision Table qachon ishlatiladi va qanday tuziladi? +

Javob: "Decision Table โ€” bir nechta shartlar birlashganda, har xil natija bo'lganda ishlatiladi."

Qachon kerak?

  • Chegirma qoidalari (VIP + summa + promo)
  • Foydalanuvchi ruxsatlari (admin/oddiy/mehmon)
  • Pul o'tkazish (valyuta + summa + foydalanuvchi turi)

4 qadam:

  • 1. Shartlarni aniqlash
  • 2. Kombinatsiyalarni hisoblash (2 shart = 4 holat, 3 shart = 8 holat)
  • 3. Jadval tuzish
  • 4. Test case'larga aylantirish

Afzallik: Hech bir holat o'tkazib yuborilmaydi.

Q5 Login formasi uchun qancha test case yozasiz va nima uchun? +

Javob: "Texnikalar bilan 12-15 ta test case yetadi. Mana qanday:"

Email maydoni (Equivalence):

  • Valid: test@uzum.uz
  • Invalid: format yo'q (test)
  • Invalid: @ yo'q (testuzum.uz)
  • Invalid: bo'sh maydon

Parol maydoni (Boundary 2-point):

  • 7 belgi (xato)
  • 8 belgi (chegara)
  • 20 belgi (chegara)
  • 21 belgi (xato)

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."

Q6 Pairwise Testing nima? +

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

  • To'liq test: 24 ta test case
  • Pairwise: 12 ta test case (50% kam, lekin 95%+ bug topish)

Asboblar: PICT (Microsoft), Hexawise.

Junior darajasi: "Hozir amalda ishlatmayman, lekin atamani bilaman. Bu Senior darajasidagi texnika."

Q7 Qaysi texnikani qaysi vaziyatda tanlaysiz? +

Javob:

  • Equivalence Partitioning โ€” ma'lumot guruhlarga bo'linsa (email format, telefon format, valyuta turi)
  • Boundary Value Analysis โ€” sonli oraliq bo'lsa (yosh, parol uzunligi, summa)
  • Decision Table โ€” bir nechta shartlar birga ishlasa (chegirma qoidalari, ruxsatlar)
  • State Transition โ€” tizim turli holatlardan o'tsa (buyurtma statusi)
  • Pairwise โ€” ko'p variantli kombinatsiyalar (brauzer ร— OS ร— til)

Pro javob: "Odatda 2-3 ta texnikani birga ishlataman. EP + BV โ€” har formada. DT โ€” biznes logikasida. Bu kombinatsiya โ€” eng samarali."

3 ta asosiy fikr

Bu darsdan eslab qolishingiz kerak bo'lgan eng muhim g'oyalar

01
EP + BV birga
Equivalence guruhlar uchun, Boundary chegaralar uchun. Birga - eng samarali strategiya.
02
Off-by-one xato
Eng mashhur bug โ€” 1 ta qiymat farq. Boundary Value bilan 95% holatda topiladi.
03
Decision Table โ€” biznes logikasi
Murakkab shartlar birlashganda - jadval tuzing. Hech bir holat o'tkazib yuborilmaydi.
๐Ÿ† Darsni muvaffaqiyatli tugatdingiz!