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?

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!