0%
7-dars

Shift Left va Shift Right Testing

Zamonaviy QA testorning 2 qanoti. Bug'larni eng arzon topish va real foydalanuvchilardan o'rganish. Middle/Senior darajasiga ko'tariladigan asosiy tushunchalar.

80 daqiqa
Zamonaviy strategiya
6 ta interaktiv topshiriq

Nega "siljish" deymiz?

Tasavvur qiling: loyiha hayoti β€” bu bir chiziq. Chap tomonda talablar yig'ish, o'ng tomonda production (foydalanuvchi). O'rtasida esa β€” dasturlash va testing.

Traditional yondashuvda QA o'rta-oxirida turadi β€” dasturchilar kodni yozadi, keyin QA test qiladi. Lekin zamonaviy QA ikki tomonga ham siljiydi:

Loyiha hayot sikli β€” QA qayerda turadi?

← SHIFT LEFT
Β·
Talablar
β†’
Design
β†’
Dev
β†’
Test
β†’
Release
β†’
Production
Β·
SHIFT RIGHT β†’
Loyiha boshlanishi Loyiha yakunlanishi
πŸ’‘ Oddiy misol
Uy qurish
Shift Left: Chizma bosqichida muhandis noto'g'ri o'lchovni topadi β€” chizmani tuzatish 1 daqiqa. Β· Traditional: Devor qurilgandan keyin topadi β€” qayta qurish 3 kun. Β· Shift Right: Uy qurilib, oila ko'chib kirgandan keyin sezadi β€” 3 oy ta'mirlash.

Shift Left Testing

Asosiy atama

Shift Left Testing β€” testorni chap tomonga siljitish. Ya'ni testor dasturlash boshlanishidan oldin qatnashadi β€” talablar, design, architectura bosqichlarida.

Oddiy qilib: Bug'larni kod yozilishidan oldin topishga urinish. Eng arzon va oson.

Traditional vs Shift Left

Traditional

QA oxirida keladi, kod tayyor bo'lgach.

  • Talablarni faqat dasturchi ko'radi
  • Kod yozilgandan keyin test
  • Bug topsa β€” qayta yozish
  • QA "sifat qo'riqchisi"
  • Bug'lar qimmat

Shift Left

QA birinchi kundan qatnashadi.

  • Talablarni QA ham ko'radi, savollar beradi
  • Test case'lar kod yozilishidan oldin
  • Bug oldini olish β€” oldindan
  • QA "sifat sherigi"
  • Bug'lar arzon topiladi

Bug narxi β€” erta vs kech

Bu Shift Left'ning asosiy iqtisodiy dalili. Bug qayerda topilsa, shuncha kam pul ketadi:

πŸ“Š Bug narxi turli bosqichlarda

Talablar
1Γ—
$100
Design
5Γ—
$500
Dasturlash
10Γ—
$1,000
Testing
25Γ—
$2,500
Production
100Γ—
$10,000
πŸ’‘ Hisob: Talablar bosqichida topilgan bug $100 turadi. Production'da topilgan shu bug $10,000 turadi β€” 100 baravar qimmat! Shuning uchun Shift Left juda foydali.
Asosiy xulosa

Agar siz Junior QA sifatida 3 Amigos meeting'da qatnashib, talablardagi muammoni topsangiz β€” kompaniyaga ming dollar tejagandirsiz. Bu sizning qimmatingizni 10 barobarga oshiradi.

Shift Left amaliyotlari

QA qanday Shift Left qiladi? 5 ta asosiy amaliyot:

πŸ“
1. Requirement Review
Talablarni o'qib, savol berish. Noaniq joylarni aniqlashtirish.
Misol: PO yozgan β€” "Foydalanuvchi parolni tiklay oladi". Siz savol berasiz: "Email orqali'mi SMS orqali'mi? Havola qancha vaqt ishlaydi? Bir marta yoki qayta-qayta?"
πŸ‘₯
2. 3 Amigos Meetings
PO + Developer + QA birga uchrashuv. Har birining nuqtai nazari.
Misol: 6-darsda ko'rganingiz 3 Amigos β€” bu Shift Left ning eng asosiy amaliyoti. QA: "Qanday buzishim mumkin?" degan savolni darhol beradi.
βœ…
3. Acceptance Criteria yozish
Kod yozilishidan oldin "tayyor" nima deganini aniqlashtirish.
Misol: "Login ishlashi kerak" β€” yetarli emas. "1. Email + parol. 2. Bo'sh bo'lsa xato. 3. To'g'ri bo'lsa Dashboard. 4. 3 marta xato β€” 5 daqiqa blok." β€” aniq.
πŸ”
4. Static Testing (kod ko'rmay)
Kod ishga tushmasdan oldin hujjatlar, dizayn, diagrammalarni tekshirish.
Misol: Figma'dagi dizaynni ko'rib, "Bu tugma mobile'da kichik ko'rinadi" deb aytish. Hali kod yo'q, lekin muammo aniqlangan.
🀝
5. Pair Programming (dasturchi bilan)
Middle/Senior QA dasturchi bilan birga kod yozadi β€” testlanishni o'ylab.
Misol: Dasturchi funksiya yozayotganda QA yonida o'tirib, "Bu yerda null bo'lishi mumkin, tekshirish kerak" deb aytadi.
🎯 Bog'lang

Amaliyot Shift Left yoki Shift Right?

Har bir amaliyotni to'g'ri siljish turi bilan bog'lang.

Amaliyot

Requirement Review
A/B Testing production'da
3 Amigos Meeting
Production Monitoring
Acceptance Criteria yozish
Canary Deployment

Siljish turi

← Shift Left (erta bosqich)
β†’ Shift Right (kech bosqich)
← Shift Left (erta bosqich)
β†’ Shift Right (kech bosqich)
β†’ Shift Right (kech bosqich)
← Shift Left (erta bosqich)
0 / 6 juft topildi

Shift Right Testing

Asosiy atama

Shift Right Testing β€” testorni o'ng tomonga siljitish. Ya'ni test production'ga chiqqandan keyin ham davom etadi β€” real foydalanuvchilar bilan.

Oddiy qilib: "Test labda tugadi, endi real dunyoda kuzatamiz" degan falsafa.

Nega Shift Right kerak?

Qanchalik ko'p test qilsak ham, real foydalanuvchilar har doim kutilmagan narsalar qiladi:

Shift Right amaliyotlari

πŸ“Š
1. Production Monitoring
Real vaqtda saytning ishlashini kuzatish β€” xatolar, tezlik, foydalanuvchi harakati.
Misol: Sentry, DataDog kabi asboblar bilan. "Bugun Login sahifasida 50 ta JavaScript xato bo'ldi" β€” darhol xabar keladi, QA tekshiradi.
πŸ”€
2. A/B Testing
2 ta variantni bir vaqtda sinash β€” qaysi biri yaxshiroq?
Misol: Uzum yangi "Savatga qo'shish" tugmasini test qilmoqchi. Foydalanuvchilarning 50% ga eski variant, 50% ga yangi ko'rsatiladi. Qaysi biri ko'proq bosiladi? β€” shu g'olib.
🐀
3. Canary Deployment
Yangi versiyani avval 5% foydalanuvchilarga chiqarish, muammo bo'lmasa β€” hammaga.
Misol: Click yangi to'lov tizimini chiqaryapti. Avval faqat Toshkentdagi 100 ta foydalanuvchiga. 1 kun ishladi β€” OK. Keyin O'zbekiston bo'ylab. "Canary" = "sariq qush" (koni-kondagi gaz detektori).
πŸ’¬
4. User Feedback
Foydalanuvchi sharhlari, shikoyatlari, taklif va baholarini tahlil qilish.
Misol: App Store'da ilova 3⭐ baho oldi. Sharhlarda: "Savatdan mahsulot olib tashlash qiyin". Bu β€” QA ishi uchun signal.
πŸ”₯
5. Chaos Engineering (qisqa eslatma)
Qasddan tizimga "zarar berish" β€” server o'chirish, internet uzish. Tizim chidaydimi?
Misol: Netflix mashhur "Chaos Monkey" asbobi bor β€” random server'larni o'chiradi. Agar tizim chidasa β€” u chidamli. Bu faqat yirik kompaniyalar (Netflix, Uzum, Yandex) uchun.
Muhim eslatma

Junior QA odatda Monitoring va User Feedbackda qatnashadi. Middle QA A/B testingni tashkil qiladi. Canary va Chaos esa Senior/Principal QA darajasidagi ishlar.

🎯 Taqqoslang

Traditional vs Modern β€” QA qayerda qatnashadi?

Ikkala yondashuvni solishtiring. QA qaysi bosqichlarda ishlaydi?

Ikkisini birga qo'llash

Zamonaviy QA ikkala strategiyani ham ishlatadi. Bu β€” "full-cycle QA" deb ataladi.

Real kompaniya misoli: Uzum Market

Uzum yangi "Tez yetkazib berish" funksiyasini chiqaryapti

← Shift Left bosqichi:

  • QA 3 Amigos meeting'da: "30 daqiqada yetkazish β€” qanday joylarga? Faqat Toshkent shahri'mi?"
  • Acceptance Criteria tuzadi: kuryer qo'shilishi, narx ko'rsatilishi, status yangilanishi
  • Static testing: Figma dizayni tekshiriladi

↓ Traditional testing:

  • Test case'lar yoziladi va bajariladi
  • Manual + automation testlari
  • Bug'lar topilib, tuzatiladi

β†’ Shift Right bosqichi:

  • Avval faqat Sergeli tumanida ishga tushiriladi (Canary)
  • 1 hafta monitoring β€” muammo yo'q
  • A/B test: 50% ga yangi funksiya, 50% ga eski. Natija 15% ko'proq sotuv β€” g'olib!
  • Butun Toshkent bo'ylab chiqariladi
  • User feedback'lar yig'iladi β€” "soatlarini ham ko'rsating"
To'liq rasm

Shift Left + Traditional + Shift Right = to'liq sifat strategiya. Har bosqichda buglarni topish va foydalanuvchi tajribasini yaxshilash.

🎯 Bug qaysi bosqichda topildi?

Bug'ni to'g'ri bosqichga joylashtiring

1-qadam: Bug kartochkasini bosing. 2-qadam: Qaysi bosqichda topilganini tanlang.

πŸ‘† Endi bosqichlardan birini tanlang
PO talabda yozgan: "Foydalanuvchi parolni tiklasin". QA so'radi: "Email yoki SMS orqali?"
πŸ“– Talablar bosqichida β€” 1Γ— narx
Figma dizaynda "Savatga qo'shish" tugmasi mobil'da kichik ko'rinadi β€” QA statik testda topdi
🎨 Design bosqichida β€” 5Γ— narx
Test muhitida login ishlayapti, lekin xato xabari ko'rsatilmayapti
πŸ§ͺ Testing bosqichida β€” 25Γ— narx
Production'da ilova 3⭐ baho oldi β€” foydalanuvchilar "savat chalkashadi" deb yozishmoqda
🌐 Production'da β€” 100Γ— narx
Monitoring: bugun 50 ta JavaScript xato ro'yxatga olindi
πŸ“Š Production monitoring β€” 100Γ— narx
←
Shift Left
(Talablar, Design)
⬇
Traditional
(Testing)
β†’
Shift Right
(Production)
0 / 5 to'g'ri
🎬 Haqiqiy stsenariy
Click'da yangi P2P to'lov

Dushanba, 10:00. Click yangi "Do'stga pul yuborish" (P2P) funksiyasini boshlamoqchi. Siz QA Lead sizsiz. PO sizga keldi: "2 haftadan keyin chiqaramiz!"

Savol: Qanday strategiya tanlaysiz β€” to'liq sifat uchun?

Professional QA qanday yondashish kerak?
⚑ Tezkor tekshiruv
Bug production'da topilsa, talablar bosqichida topilganiga nisbatan qancha qimmat?

Videoni ko'ring

Matnni o'qib chiqdingizmi? Endi videodarsni ko'ring β€” mavzularni chuqurroq tushunasiz va bilimingizni mustahkamlaysiz.

TestShop'da Shift Left amaliyoti

Endi amaliyotda sinab ko'ramiz. TestShop uchun 3 ta Shift Left topshirig'i bor.

πŸ›’

TestShop β€” Shift Left amaliyoti

Bu safar kod yozilishidan oldin ish qilasiz β€” xuddi haqiqiy jamoa kabi.

πŸš€ TestShop'ga o'tish

Sizning 3 ta vazifangiz:

1
Requirement Review β€” TestShop uchun yangi funksiya
Tasavvur qiling: TestShop'ga "Sevimlilar" (Wishlist) funksiyasi qo'shilmoqchi. Kamida 10 ta savol yozing β€” PO ga beriladigan savollar. Misollar: "Qurilma o'zgarganda sevimlilar saqlanadimi?", "Sevimliga qo'shish limiti bormi?"
2
Acceptance Criteria tuzish
Sevimlilar funksiyasi uchun 8-10 ta Acceptance Criteria yozing (Google Docs'da). Misol: "Foydalanuvchi mahsulot sahifasida ❀️ tugmasini bosadi β€” mahsulot Sevimlilar ro'yxatiga qo'shiladi". 6-darsda o'rgangan format ishlatilsin.
3
Monitoring rejasi tuzish (Shift Right)
Tasavvur qiling: Sevimlilar funksiyasi production'ga chiqdi. Qanday 5 ta metrikani kuzatasiz? Misollar: "Kuniga necha marta ❀️ bosiladi?", "Qancha foydalanuvchi ishlatadi?", "Xatolik chiqadimi?"
πŸ’‘ Portfolio uchun oltin material

Bu 3 ta vazifa β€” Middle QA darajasidagi ish. Ularni Google Docs'da to'plab, intervyuda: "Men Shift Left va Shift Right strategiyalarini amaliyotda ishlatganman" deb ayta olasiz. Bu Junior'dan ajralib turish uchun kuchli afzallik.

Intervyu savollari

Shift Left/Right β€” zamonaviy intervyulardagi eng muhim mavzular. 7 ta professional javob.

πŸ’‘ Har savol ustiga bosing β€” professional javobni ko'rasiz.

Q1 Shift Left Testing nima va nega muhim? +

Javob: "Shift Left Testing β€” testorni loyihaning erta bosqichlariga siljitish. Talablar, design bosqichlarida qatnashish."

Nega muhim?

  • Iqtisodiy: Talablar bosqichidagi bug 1Γ—, production'dagi 100Γ— β€” 100 baravar arzon
  • Vaqt tejash: Qayta kod yozishdan qutuladi
  • Sifat: Bug oldini olish β€” topishdan afzal
  • Jamoa: QA "sifat sherigi" bo'ladi, "qo'riqchi" emas

Pro javob: "Men 3 Amigos meetinglarda doim qatnashaman va talablarda savollar beraman β€” bu Shift Left'ning eng asosiy amaliyoti."

Q2 Shift Right Testing nima? Misollar bering. +

Javob: "Shift Right Testing β€” test production'dan keyin ham davom etadi. Real foydalanuvchilar bilan o'rganish."

5 ta asosiy amaliyot:

  • Production Monitoring β€” Sentry, DataDog bilan xatolarni kuzatish
  • A/B Testing β€” 2 variantni real foydalanuvchilarda sinash
  • Canary Deployment β€” avval 5% foydalanuvchilarga chiqarish
  • User Feedback β€” sharhlar, baholar tahlili
  • Chaos Engineering β€” qasddan nosoz vaziyatlar yaratish (Senior)

Misol: "Uzum yangi funksiyani avval Sergeli tumanida test qiladi (canary), monitoring qiladi, keyin butun shaharga chiqaradi."

Q3 Bug narxi haqida β€” qancha farq bor? +

Javob: "Bug turli bosqichlarda boshqa narx turadi β€” juda katta farq."

Aniq raqamlar (Boehm's Law):

  • Talablar bosqichi β€” 1Γ— (masalan, $100)
  • Design bosqichi β€” 5Γ— ($500)
  • Dasturlash β€” 10Γ— ($1,000)
  • Testing β€” 25Γ— ($2,500)
  • Production β€” 100Γ— ($10,000)

Pro javob: "Shuning uchun Shift Left juda foydali. Har erta topilgan bug β€” kompaniyaga katta tejamkorlik. Men requirement review'da bitta muammoni topsam, kompaniyaga minglab dollar tejadim."

Q4 A/B Testing va Canary Deployment farqi? +

Javob:

  • A/B Testing β€” 2 ta variantni bir vaqtda foydalanuvchilarda sinash. Maqsad: qaysi biri yaxshiroq?
  • Canary Deployment β€” yangi versiyani asta-sekin chiqarish. Maqsad: muammo bo'lsa oldindan topish.

Farqi:

  • A/B β€” variantlarni solishtirish (qaysi yaxshi?)
  • Canary β€” xavfsizlikni kamaytirish (muammo bo'lsa cheklangan foydalanuvchilarga)

Misol: "Uzum'da A/B β€” eski va yangi tugmani solishtirish. Canary β€” yangi to'lov tizimini avval 5% foydalanuvchilarga chiqarish."

Q5 Junior QA qanday Shift Left qila oladi? +

Javob: "Junior QA ham Shift Left ishtirok eta oladi, faqat boshlang'ich darajada:"

  • Requirement Review β€” talablarni o'qib savollar berish
  • 3 Amigos β€” meetingda qatnashib nuqtai nazarini bildirish
  • Edge case'lar β€” "Agar X bo'lsa-chi?" degan savollar berish
  • Figma'dagi dizaynni tekshirish β€” static testing sodda darajada

Muhim: "Pair programming yoki Chaos Engineering β€” Middle/Senior darajasi. Junior faqat asosiy savollar berish bilan ham Shift Left qila oladi."

Pro javob: "Shu usullar orqali men bir necha marta talablarda muammo topgan edim β€” dasturchilar hatto 'rahmat' deb aytishgan."

Q6 Chaos Engineering nima? +

Javob: "Chaos Engineering β€” tizimga qasddan zarar berib, uning chidamliligini sinash. Netflix tomonidan mashhur qilingan."

Misollar:

  • Tasodifiy server'ni o'chirish β€” sayt ishlaydimi?
  • Internet aloqasini uzish β€” "No connection" xabari to'g'ri chiqadimi?
  • Database'ni sekinlatish β€” sayt javob beradimi yoki yiqilgami?

Asboblar: Netflix Chaos Monkey, Gremlin.

Muhim: "Bu faqat yirik kompaniyalar uchun (Uzum, Click). Kichik loyihalarda kerak emas. Junior QA faqat atamani biladi, amalda ishlamaydi."

Q7 Siz qaysi Shift Left/Right amaliyotlarida tajribangiz bor? +

Javob shabloni (halol): "Men Junior QA sifatida quyidagi amaliyotlar bilan tanishman:"

  • βœ… Requirement Review β€” har sprint boshida qatnashaman
  • βœ… 3 Amigos β€” haftada 1-2 marta
  • βœ… Acceptance Criteria β€” Given-When-Then formatida yozaman
  • βœ… Production Monitoring β€” Sentry orqali xatolarni kuzataman
  • βœ… User Feedback β€” App Store/Google Play sharhlarini ko'raman
  • ⚠️ A/B Testing β€” asosi bilan tanishman, lekin amaliyotim kam
  • ❌ Canary Deployment β€” hali ishlamaganman, DevOps bilan
  • ❌ Chaos Engineering β€” faqat nazariyasini bilaman

Muhim: Halol bo'ling. "Men hamma narsani bilaman" β€” yolg'on. "Bunisini bilaman, bunisini o'rganayapman" β€” professional.

3 ta asosiy fikr

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

01
Bug erta topilsa, arzon
Talablar bosqichida 1Γ—, production'da 100Γ—. Shuning uchun Shift Left β€” tejamkorlik strategiyasi.
02
Shift Left = oldin ishtirok
Requirement review, 3 Amigos, Acceptance Criteria, Static Testing. Junior ham qila oladi.
03
Shift Right = keyin kuzatish
Production monitoring, A/B test, Canary deployment, User feedback. Real dunyodan o'rganish.
πŸ† Darsni muvaffaqiyatli tugatdingiz!