0%
11-dars

Confirmation, Regression va Maintenance

Bug tuzatilgandan keyin QA nima qiladi? Eski dastur qanday boshqariladi? Har kunlik ish jarayonida kerakli 3 ta test turi.

75 daqiqa
Kundalik ish
6 ta interaktiv topshiriq

Bug tuzatilgandan keyin nima?

Tasavvur qiling: siz bug topdingiz, Jira'ga yozdingiz, dasturchi tuzatdi. "Bo'ldi!" deymi? Yo'q. QA ning haqiqiy ishi aynan shu yerdan boshlanadi.

Dasturchi "Fixed" deb belgiladi. Lekin siz uning ishiga ishonishingiz kerak emas. Tekshirish kerak โ€” haqiqatan tuzatildimi? Boshqa joyi buzilmadimi?

Bu darsda 3 ta muhim testni o'rganamiz: Confirmation, Regression (9-darsdan eslatma) va Maintenance. Bularning barchasi โ€” QA ning kundalik ishi.

๐Ÿ’ก Oddiy misol
Avtomobil ustaxonasi
Tormoz buzilgan โ€” ustaga bergan edingiz. Usta: "Tuzatdim". Siz nima qilasiz? Confirmation: "Tormoz haqiqatan ishlaydimi?" โ€” sinab ko'rasiz. Regression: "Boshqa narsa buzilmaganmi?" โ€” motor, chiroq, rul ham tekshirasiz. Maintenance: "Har 10,000 km ning davomida umumiy ko'rik" โ€” vaqti-vaqti bilan tizim tekshirish.

Confirmation Testing

Asosiy atama

Confirmation Testing (yoki Re-testing) โ€” dasturchi tuzatgan aynan shu bugni qayta tekshirish. "Bu bug haqiqatan tuzatildimi?" degan savolga javob.

Oddiy qilib: Jira'da "Fixed" belgisi qo'yilgan bugni yana bir marta sinab ko'rish.

Qachon bajariladi?

Har safar dasturchi bugni "Fixed" deb belgilasa:

Bug tuzatish ishchi oqimi (workflow)

QA kundalik ishida bu jarayon har kuni 5-15 marta takrorlanadi:

Bug Fix Workflow

1
Siz Bug topdingiz
Jira'ga yozasiz (Status: Open)
โ†’
2
Dasturchi tuzatadi
Kod yozadi (Status: In Progress)
โ†’
3
"Fixed" belgisi
Status: Ready for Testing
โ†’
4
Confirmation Testing
SIZ aynan shu bugni qayta sinab ko'rasiz
โ†’
5
Natija
Tuzatildi โ†’ Closed. Yo'q โ†’ Reopen
๐Ÿ’ก 4-qadam โ€” siz ishlaysiz. Dasturchi "Fixed" deb yozgan, endi siz tekshirasiz. Agar haqiqatan tuzatilgan bo'lsa โ€” "Closed" qilasiz. Agar yo'q bo'lsa โ€” "Reopen" qilasiz va izoh yozasiz: "Hali ham shu muammo chiqadi".

Confirmation qanday bajariladi?

Oddiy 3 qadam:

  1. Jira'da bugni oching โ€” reproduktsiya qadamlarini o'qing
  2. Xuddi o'sha qadamlarni takrorlang โ€” bug test muhitida hali bormi?
  3. Qaror:
    • Bug yo'q bo'lsa โ†’ Jira status = Closed
    • Bug hali ham bor โ†’ Jira status = Reopen + izoh
Real misol

Bug: "Login tugmasi mobil versiyada ko'rinmaydi" (TestShop'da)

Dasturchi: Tuzatdi, "Fixed" deb belgiladi

Sizning Confirmation: iPhone'da brauzer ochib, TestShop'ga kiraman โ†’ Login tugmasi ko'rinyaptimi? Agar ha โ€” Closed. Agar yo'q โ€” Reopen.

Muhim eslatma

Confirmation Testing โ€” kundalik ish. Har Junior QA ham buni qiladi. Lekin ko'pchilik faqat "bug yo'q bo'ldi" deb qaraydi โ€” bu yarmi. Qolgan yarmi โ€” Regression Testing (keyingi qism).

Confirmation vs Regression โ€” Farqi

Bu ikkalasi har doim birga ishlaydi. Lekin ular boshqa savollarga javob beradi. 9-darsda Regression Testing'ni ko'rgandik, endi farqni aniq ko'ramiz.

Xususiyat ๐ŸŽฏ Confirmation Testing ๐Ÿ”„ Regression Testing
Asosiy savol "Bug haqiqatan tuzatildimi?" "Boshqa narsa buzilmadimi?"
Nima tekshiriladi Faqat bitta aniq bug Barcha eski funksiyalar
Test case soni 1-2 ta (bug reproduktsiyasi) 10-100+ ta (butun tizim)
Vaqt 5-10 daqiqa 1 soatdan bir necha kungacha
Qachon bajariladi Bug "Fixed" belgilangandan so'ng Katta o'zgarishdan keyin / har release
Automation Odatda manual Kuchli automation kandidat
Ketma-ketlik Birinchi bajariladi Confirmation'dan keyin

Qachon qaysi biri?

Scenario 1: Kichik bug tuzatildi

Bug: "Login sahifasida xato xabari noto'g'ri yoziladi". Siz nima qilasiz?

1. Confirmation โ€” Login sahifasida xato xabari to'g'ri chiqayaptimi tekshiraman. 2. Qisqa Regression โ€” ro'yxatdan o'tish ham ishlayaptimi, tez ko'rib chiqaman. 5-10 daqiqa.

Scenario 2: Katta o'zgarish (yangi to'lov tizimi)

Yangilanish: Click'da yangi to'lov tizimi qo'shildi. Siz nima qilasiz?

1. Confirmation โ€” yangi to'lov tizimi ishlayapti. 2. To'liq Regression โ€” barcha eski funksiyalar (login, balans, tarix, pul o'tkazish) hali ham ishlayaptimi. Bu 1-2 kun oladi.

Oddiy yodlash

Confirmation = o'sha narsa (aynan shu bug). Regression = boshqa narsalar (qolgan funksiyalar).

๐ŸŽฏ Bog'lang

Holat va test turini bog'lang

Har holatni to'g'ri test turi bilan bog'lang.

Holat

Jira'da bug "Fixed" belgilandi
Yangi funksiya qo'shildi, eski ishlayaptimi?
Hotfix chiqdi - bitta aniq bug
Release'dan oldin to'liq tekshiruv
Siz yozgan bug "Ready for Testing"

Test turi

Confirmation Testing
Regression Testing
Confirmation Testing
Regression Testing
Confirmation Testing
0 / 5 juft topildi

Maintenance Testing

Asosiy atama

Maintenance Testing (Qo'llab-quvvatlash testi) โ€” mahsulot production'da ishlayotganda qilinadigan test. Mahsulot yangilanganda, muhit o'zgarganda, yoki optimizatsiya qilinganda.

Oddiy qilib: Sayt/ilova chiqib ishlay boshlagandan keyin, keyingi yangilanishlarda qilinadigan test.

Qachon Maintenance kerak?

Boshlovchilar uchun eng muhim 2 turi

๐Ÿ”ง
Corrective Maintenance
Asosiy โ€” kundalik
Tuzatuvchi maintenance. Production'da topilgan buglarni tuzatish va ularni tekshirish. Har QA buni qiladi.
Misol: Click'da foydalanuvchilar shikoyat qilishdi โ€” "Balansni ko'rish ishlamayapti". Dasturchi tuzatdi, siz Confirmation qilasiz va atrof-joydagi funksiyalarni ham tekshirasiz. Bu Corrective Maintenance.
๐Ÿ”„
Adaptive Maintenance
Asosiy โ€” muntazam
Moslashtiruvchi maintenance. Tashqi muhit o'zgarganda โ€” yangi brauzer, yangi OS, yangi qurilma. Mahsulot ularga moslashishi kerak.
Misol: Apple iOS 18 chiqdi. iPhone ishlatuvchilar Click ilovasida muammo sezishmoqda. QA jamoa yangi iOS versiyada ilovani test qiladi. Bu Adaptive Maintenance.

Boshqa 2 turi โ€” qisqa eslatma

Bu turlari Middle/Senior QA darajasida uchraydi. Junior darajada faqat nomini bilish yetarli:

โšก
Perfective Maintenance
Senior darajasi
Yaxshilash โ€” mahsulot ishlayapti, lekin yanada yaxshi qilish. Performance optimizatsiya, UI yaxshilash, kod tozalash.
Misol: Sayt 3 soniyada ochilayapti, lekin 1 soniya bo'lishi kerak. Dasturchilar optimizatsiya qildi. QA Performance testlarni qayta bajaradi.
๐Ÿ›ก๏ธ
Preventive Maintenance
Senior darajasi
Oldini oluvchi โ€” kelajakdagi muammolarni hozirdan oldini olish. Texnik qarzni kamaytirish, xavfsizlik yangilanishlari.
Misol: Database strukturasi eski bo'lib kelayapti. Hozir buzilmayapti, lekin 1 yildan so'ng muammo bo'lishi mumkin. Dasturchilar uni yangilaydi, QA ham testlarni qayta bajaradi.
Junior QA uchun xulosa

Kundalik ishingizda Corrective (bug tuzatish) va Adaptive (yangi iOS/Android versiya) bilan duch kelasiz. Boshqa ikkisi โ€” Senior darajasi.

๐ŸŽฏ Amaliy topshiriq

Bug Fix Workflow'ni tartibga qo'ying

1-qadam: Pastdagi bosqichni bosing. 2-qadam: Qaysi tartibda bo'lishini tanlang (1-5).

๐Ÿ‘† Endi yuqoridagi bosqich raqamlaridan birini bosing
1-qadam
2-qadam
3-qadam
4-qadam
5-qadam
Dasturchi "Fixed" deb belgilaydi
Siz bug topasiz va Jira'ga yozasiz
Natija: Closed yoki Reopen
Dasturchi kod yozib tuzatadi
Siz Confirmation Testing qilasiz
0 / 5 to'g'ri
๐ŸŽฏ Classifier

Qaysi test kerak?

1-qadam: Holatni bosing. 2-qadam: Qaysi test kerakligini tanlang.

๐Ÿ‘† Endi pastdagi test turi tugmalaridan birini bosing
Dasturchi bugni tuzatdi - siz uni tekshirishingiz kerak
Faqat tuzatilgan bugga qaraymiz, 5 daqiqa.
Release'dan oldin to'liq tizimni tekshirish kerak
Barcha eski funksiyalar ishlayaptimi?
Production'dagi bug tuzatildi, katta tizim bilan bog'liq
Tuzatish + atrofdagi funksiyalarni tekshirish.
iOS 18 chiqdi - ilovamizni yangi OS'da sinash kerak
Tashqi muhit o'zgardi - moslashtirish kerak.
Siz yozgan "Login tugmasi ishlamaydi" bugi "Ready for Testing"
Shu aniq bug haqiqatan tuzatildimi?
๐ŸŽฏ
Confirmation
๐Ÿ”„
Regression
๐Ÿ”ง
Corrective
๐Ÿ”„
Adaptive
0 / 5 to'g'ri
๐ŸŽฌ Haqiqiy stsenariy
Uzum Market'da hotfix

Payshanba, 14:00. Production'da katta muammo! Foydalanuvchilar shikoyat qilmoqda: "Savatga qo'shgan mahsulotlar yo'qolayapti".

Dasturchilar shoshilinch (hotfix) tuzatish qildi: "Fixed, bitta qatorda xato edi". Siz QA sifatida nima qilasiz?

Vaqt: Hozir 14:30. 15:00 da production'ga chiqarilishi kerak.

Eng professional yondashuv qaysi?
โšก Tezkor tekshiruv
Bug Fix Workflow'da QA ning asosiy vazifasi qaysi bosqichda?

TestShop'da Confirmation amaliyoti

Endi amaliy bo'limga o'tamiz. TestShop'da siz bug topdingiz โ€” endi "dasturchi tuzatdi" deb tasavvur qilib, Confirmation Testing qiling.

๐Ÿ›’

TestShop โ€” Confirmation amaliyoti

Kundalik QA ishini simulyatsiya qilamiz.

๐Ÿš€ Bug Hunt sahifasi

Sizning 3 ta vazifangiz:

1
Confirmation Test Suite tuzing
TestShop'dagi 10 ta bug uchun Confirmation test caselar yozing (Google Sheets). Format: Bug ID | Bug tavsifi | Reproduktsiya qadamlari | Kutilgan natija (tuzatilganda). Jami 10 ta test case.
2
Regression Test Suite tuzing
Tasavvur qiling: "Savatga qo'shish" bugi tuzatildi. Qaysi 5-7 ta boshqa funksiyani tekshirish kerak? Ro'yxat tuzing (Login, Register, Mahsulot ko'rish, Profile va h.k.).
3
Adaptive Maintenance rejasi
Tasavvur qiling: yangi Chrome brauzer versiyasi chiqdi. TestShop'ni qanday test qilasiz? 5 ta asosiy tekshiruv nuqtasini yozing (masalan: "Bosh sahifa yuklanishi", "Login ishlashi", va h.k.).
๐Ÿ’ก Portfolio uchun

Bu 3 ta ish โ€” kundalik QA vazifalari. Intervyuda: "Men Confirmation va Regression Test Suite tuzgan tajribam bor, Adaptive Maintenance rejasi ham qildim" deb ayta olasiz. Bu Middle darajasidagi ko'nikma.

Intervyu savollari

Bu mavzular โ€” intervyu'da eng oddiy savollar. Aniq javoblarni biling va siz Junior'dan ajralib turasiz.

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

Q1 Confirmation Testing nima? +

Javob: "Confirmation Testing (yoki Re-testing) โ€” dasturchi tuzatgan aynan shu bugni qayta tekshirish. 'Bu bug haqiqatan tuzatildimi?' degan savolga javob."

Qachon bajariladi?

  • Jira'da bug "Fixed" yoki "Ready for Testing" deb belgilansa
  • Hotfix chiqqanda
  • Har dasturchi "Tuzatdim" deganda

Qanday bajariladi? Bug'ning reproduktsiya qadamlarini takrorlash. Agar muammo yo'q bo'lsa โ€” Jira'da "Closed". Agar bor bo'lsa โ€” "Reopen" + izoh.

Pro javob: "Men kuniga 5-15 ta bugni Confirmation qilaman โ€” bu kundalik ishimning asosiy qismi."

Q2 Confirmation va Regression Testing farqi? +

Javob:

  • Confirmation Testing โ€” "O'sha narsa tuzatildimi?". Faqat bitta aniq bugni tekshirish. 5-10 daqiqa.
  • Regression Testing โ€” "Boshqa narsalar buzilmadimi?". Butun tizimni tekshirish. Soatlar yoki kunlar.

Ketma-ketlik: "Avval Confirmation qilaman โ€” agar bug yopilsa, keyin Regression. Chunki Regression ko'p vaqt oladi โ€” avval asosiy bug tuzatilganligiga ishonish kerak."

Oddiy yodlash: Confirmation = O'sha narsa. Regression = Boshqa narsalar.

Q3 Bug Fix Workflow qadamlarini ayting. +

Javob: "Bug Fix Workflow โ€” 5 qadamdan iborat kundalik jarayon:"

  • 1. QA bug topadi โ†’ Jira'ga yozadi (Status: Open)
  • 2. Dasturchi kodni tuzatadi (Status: In Progress)
  • 3. Dasturchi "Fixed" deb belgilaydi (Status: Ready for Testing)
  • 4. QA Confirmation Testing qiladi
  • 5. Natija: tuzatilgan bo'lsa โ€” Closed. Aks holda โ€” Reopen

Muhim: "QA 1 va 4-qadamlarda ishlaydi โ€” topish va tekshirish. 2-3 qadamlar dasturchi ishi."

Q4 Maintenance Testing nima? Qachon kerak? +

Javob: "Maintenance Testing โ€” mahsulot production'da ishlayotganda qilinadigan test. Yangilanishlar, muhit o'zgarishi, kichik tuzatishlar uchun."

Qachon kerak?

  • Bug tuzatilganda
  • iOS/Android/brauzer yangi versiyasi chiqqanda
  • Database migratsiya qilinganda
  • Performance optimizatsiyadan keyin

Asosiy 2 turi (Junior uchun muhim):

  • Corrective โ€” bug tuzatish
  • Adaptive โ€” yangi muhitga moslashish
Q5 Corrective va Adaptive Maintenance farqi? +

Javob:

  • Corrective Maintenance โ€” tuzatuvchi. Production'da topilgan buglarni tuzatish va testlash. Reaktiv โ€” muammo paydo bo'lganda.
  • Adaptive Maintenance โ€” moslashtiruvchi. Tashqi muhit o'zgarganda (yangi iOS, yangi brauzer). Proaktiv โ€” muammo bo'lishidan oldin.

Misollar:

  • Corrective: Click'da foydalanuvchilar "balans ko'rinmaydi" deb shikoyat qildi โ†’ tuzatildi โ†’ QA tekshiradi
  • Adaptive: iOS 18 chiqdi โ†’ Click ilovasi yangi OS'da sinovdan o'tkaziladi

Pro javob: "Perfective va Preventive Maintenance ham bor โ€” lekin ular Senior QA darajasi."

Q6 Hotfix chiqqanda qanday test qilasiz? +

Javob: "Hotfix โ€” production'dagi shoshilinch tuzatish. Vaqt chegarali, lekin sifat muhim."

Yondashuv:

  • 1. Confirmation Testing โ€” aynan hotfix bug tuzatildimi?
  • 2. Qisqa Regression Testing โ€” hotfix ta'sir qilgan atrofdagi funksiyalar ishlayaptimi?
  • 3. Smoke Testing โ€” asosiy oqim (login, checkout) ishlayaptimi?

Vaqt: Odatda 30-60 daqiqa. To'liq Regression qilish uchun vaqt yo'q.

Pro javob: "Men hotfix'da doim Risk-based approach ishlataman โ€” qaysi joylar eng xavfli? Shularni birinchi tekshiraman."

Q7 Siz Confirmation va Regression'ni qanday tartibda qilasiz? +

Javob: "Doim quyidagi tartibda:"

  • 1. Avval Confirmation โ€” aynan bug tuzatildimi?
  • 2. Agar Confirmation muvaffaqiyatli โ€” Regression boshlayman
  • 3. Agar Confirmation muvaffaqiyatsiz โ€” Jira'da Reopen qilaman va Regression qilmayman

Nega shunday?

  • Regression ko'p vaqt oladi โ€” avval asosiy bug yopilganligiga ishonish kerak
  • Agar Confirmation muvaffaqiyatsiz bo'lsa, dasturchi yana ishlashi kerak โ€” vaqtni tejash

Avtomatlashtirish: "Regression testlari odatda avtomatlashtirilgan (Selenium/Playwright). Kundalik CI/CD'da avtomatik ishlaydi."

3 ta asosiy fikr

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

01
Confirmation = O'sha narsa
Dasturchi tuzatgan aynan shu bugni qayta tekshirish. Har kuni 5-15 marta qilasiz.
02
Regression = Boshqa narsalar
Butun tizimni tekshirish โ€” boshqa funksiyalar buzilmadimi? Automation uchun ideal.
03
Maintenance = Hayotiy sikl
Corrective (bug tuzatish) + Adaptive (muhit o'zgarishi) โ€” har QA ning kundalik vazifasi.
๐Ÿ† Darsni muvaffaqiyatli tugatdingiz!