0%
4-dars

Bug sabablari va Testware

Bug qayerdan kelib chiqadi? Testorlar qanday hujjatlar yaratadi? Jira, TestRail va boshqa professional asboblar bilan tanishamiz.

90 daqiqa
Asoslar va amaliyot
5 ta interaktiv topshiriq

Oldingi darslardan davom

Siz allaqachon bilasiz: Error โ†’ Defect โ†’ Failure zanjiri. Ya'ni inson xatosi kodga o'tadi va foydalanuvchi muammoni ko'radi. Lekin nega insonlar xato qiladi? Nima uchun dastur uchun bug shunchalik keng tarqalgan?

Bu darsda ikki muhim mavzuni ko'rib chiqamiz:

Dars oxirida siz haqiqiy test case yoza oladigan va kundalik ishda ishlatiladigan asboblarni bilgan holatda bo'lasiz.

Bug qayerdan kelib chiqadi?

Bug'lar osmondan tushmaydi โ€” har birining aniq sababi bor. Professional testor bug topganda nafaqat uni qayd etadi, balki qayerdan kelib chiqqani ham aniqlaydi. Bu kelajakda shunga o'xshash bug'larni oldini olishga yordam beradi.

Bug sabablarining 4 ta asosiy kategoriyasi

H
Human Factors
Inson omillari โ€” dasturchi, biznes analitik yoki dizayner qilgan xatolar.
Misol: Dasturchi charchagan, yarim tunda kod yozgan va + o'rniga - qo'yib yuborgan.
E
Environmental Factors
Muhit omillari โ€” kod ishlaydigan tizim, server, brauzer, operatsion tizim farqlari.
Misol: Sayt Chrome'da ishlaydi, lekin Safari'da tugmalar ko'rinmaydi โ€” CSS moslashuvchan emas.
C
Communication Gaps
Muloqot kamchiliklari โ€” Product Owner, dasturchi va testor bir xil narsani turlicha tushunishadi.
Misol: PO: "Foydalanuvchi ro'yxatdan o'ta oladi". Dasturchi: faqat email orqali. PO: telefon orqali ham kerak edi.
T
Technical Debt
Texnik qarzdorlik โ€” eski, yomon yozilgan kod yangi o'zgarishlar bilan konflikt qiladi.
Misol: 3 yil oldin tez-tez yozilgan funksiya bor. Yangi funksiya qo'shildi โ€” eski kod buzildi.
Yangi atama

Technical Debt (texnik qarzdorlik) โ€” dasturlashda "tez ishlaydi" deb qilingan, lekin kelajakda muammo keltiradigan kod.

Oddiy qilib: siz uyingizda tez ta'mir qilib qo'yasiz โ€” hozir ishlaydi, lekin keyin butun devorni buzib qayta qilishga to'g'ri keladi. Kodda ham shunday: tezkor yechim โ€” uzoq muddatda qimmat.

๐Ÿ’ก Hayotiy misol
Avtomobil buzilishining sabablari
Mashina buzilishining ham 4 xil sababi bor: Human (haydovchi noto'g'ri foydalandi), Environmental (yomon yo'l, sovuq havo), Communication (ustaga muammo to'g'ri aytilmadi), Technical (eski qismlar). Dasturlashda ham bu xuddi shunday.

Keng tarqalgan misollar

Misol 1 โ€” Human Factor

Dasturchi Click ilovasida "Summa" maydoni uchun if (amount > 1000000) yozgan, lekin aslida 10 million kerak edi. Bitta 0 ni unutish butun tizimni buzadi.

Misol 2 โ€” Environmental Factor

Uzum Market developer'ning iPhone 15'da ishlaydi, lekin foydalanuvchining Samsung A14'da savat tugmasi joyida emas. Chunki ekran o'lchami boshqa โ€” responsive dizayn to'g'ri qilinmagan.

Misol 3 โ€” Communication Gap

PO dedi: "Login sahifasida parolni tiklash bo'lsin". Dasturchi SMS orqali qildi. Lekin PO email orqali nazarda tutgan edi. Aniq yozma talab bo'lmagani โ€” bug'ga sabab.

Amaliy xulosa

Professional testor bug'ni topgandan so'ng sababini aniqlashga harakat qiladi: "Bu nega bo'ldi?" Bu savolni bergan testor kelajakdagi bug'larni oldindan taxmin qila oladi.

๐ŸŽฏ Amaliy topshiriq

Bug sabablarini aniqlang

Quyidagi 4 ta bug'ni to'g'ri kategoriyaga sudrab olib boring.

Dasturchi 50% chegirma uchun 0.05 o'rniga 5 yozgan
Natijada mahsulot 500% qimmatlashdi. Bosh sahifada hamma ko'rdi.
Sayt iPhone'da yaxshi ko'rinadi, Android'da buzilgan
Tugmalar bir-birini qoplab ketgan, matnlar chiqib turipti.
PO "sovg'a qo'shish" dedi โ€” dasturchi "promocode qo'shish" qildi
Funksiya ishlaydi, lekin kerak bo'lgan narsa emas. Talab noaniq edi.
Yangi to'lov tizimi qo'shilgandan so'ng eski foydalanuvchilar kira olmay qoldi
2 yil oldin yozilgan authentikatsiya kodi yangi tizim bilan mos kelmadi.
Human Factor
Environmental
Communication Gap
Technical Debt
0 / 4 to'g'ri

Testware nima?

Asosiy atama

Testware โ€” testorlar yaratgan barcha hujjatlar va ma'lumotlar. Software โ€” dasturlash kodi, Testware โ€” testlash uchun kerakli narsalar.

Oddiy qilib: oshpaz uchun retsept kitobi, asboblar va xomashyo bor. Testor uchun ham shunga o'xshash "ish materiallari" bor โ€” bu Testware.

Testware'ning 4 ta asosiy komponenti

1
Test Plan
TEST REJASI
Butun loyiha uchun strategiya hujjati. Qanday testlaymiz, qancha vaqt kerak, qanday asboblar, kim nima qiladi.
Nimani o'z ichiga oladi: Scope (doira), Objectives (maqsadlar), Resources (resurslar), Schedule (grafik), Risks (xavflar), Entry/Exit criteria (boshlash/tugallash shartlari).
2
Test Case
TEST HOLATI
Aniq bir funksiyani testlash uchun yozilgan qadamlar ro'yxati. "Qanday qilib sinab ko'rasiz?" degan savolga javob.
Misol: TC-001 "Login: to'g'ri ma'lumotlar bilan kirish". Qadamlar: 1) Sahifani oching, 2) Email kiriting, 3) Parol kiriting, 4) Enter bosing. Kutilgan natija: Bosh sahifa ochiladi.
3
Test Suite
TEST TO'PLAMI
O'xshash test case'lar guruhi. Masalan, "Login Test Suite" ichida login bilan bog'liq barcha test case'lar.
Misol: "Register Test Suite" = TC-001 (bo'sh forma), TC-002 (xato email), TC-003 (qisqa parol), TC-004 (muvaffaqiyatli ro'yxat) โ€” hammasi birga.
4
Test Data
TEST MA'LUMOTLARI
Testlash uchun kerakli ma'lumotlar. Foydalanuvchi login/parollari, ta'rif matnlari, raqamlar, sanalar.
Misol: valid_user@test.com, Test123!, 100000 so'm, 2024-01-15, +998901234567. Bu ma'lumotlar Excel faylda yoki maxsus bazada saqlanadi.

Test Case qanday yoziladi?

Bu โ€” testor kundalik ishining asosiy qismi. Professional test case quyidagi maydonlardan iborat:

MaydonMa'nosi
Test IDTC-001 kabi unikal raqam
TitleQisqa sarlavha (nima sinalmoqda)
PreconditionsBoshlashdan oldin nima kerak (akkount, ma'lumot)
StepsAniq qadamlar (1, 2, 3...)
Expected ResultKutilgan natija
Actual ResultAmaliyotda nima bo'ldi
StatusPass (o'tdi) / Fail (o'tmadi)
Haqiqiy test case misoli

TC-001: "Login: bo'sh email bilan kirish urinishi"

Preconditions: Foydalanuvchi saytda emas

Steps:

  1. Login sahifasini oching
  2. Email maydonini bo'sh qoldiring
  3. Parol maydoniga "test123" kiriting
  4. "Kirish" tugmasini bosing

Expected Result: "Email kiriting" xabari ko'rinishi kerak. Foydalanuvchi saytga kirmasligi kerak.

๐ŸŽฏ Amaliy topshiriq

Test Case tuzing

Quyidagi qismlarni to'g'ri joylariga sudrab tashang. Bu TestShop uchun haqiqiy test case bo'ladi!

Title:
Preconditions:
Step 1:
Step 2:
Step 3:
Expected:
Email maydonini bo'sh qoldiring
Login: bo'sh email bilan kirish
"Email kiriting" xato xabari chiqsin
Login sahifasini oching
Foydalanuvchi saytda emas
"Kirish" tugmasini bosing
0 / 6 to'g'ri

Professional asboblar

O'zbekistonda va dunyoda QA jamoalari aynan shu 3 ta asbobdan ko'p foydalanadi. Intervyuda albatta bilishingiz kerak bo'lgan asboblar.

Jira
Bug Tracking

Nima uchun? Bug'lar va vazifalarni kuzatish. Click, Uzum, EPAM va boshqa barcha katta IT kompaniyalarda ishlatiladi.

Kim ishlatadi? Butun jamoa โ€” dasturchi, testor, menejer, Product Owner.

Bug reportlar yaratish
Vazifalarni kuzatish (Kanban/Scrum)
Status: Open, In Progress, Fixed, Closed
Sprint rejalashtirish
TestRail
Test Case Management

Nima uchun? Test case'lar va Test Suite'larni saqlash, bajarish, hisobot olish.

Kim ishlatadi? Asosan testorlar. Katta jamoalarda โ€” QA menejer.

Test case'larni yozish va saqlash
Test Runs (bajarish sessiyalari)
Pass/Fail statusi belgilash
Hisobot va analitika
Zephyr
Jira Plugin

Nima uchun? Jira ichida test management qilish imkoniyati. Jira va TestRail'ni bir joyga birlashtirdi.

Kim ishlatadi? Jira faol ishlatadigan jamoalarda โ€” testorlar.

Jira ichidan chiqmaslik
Test case va bug bir tizimda
Avtomatik bog'lanish (test โ†” bug)
Real-time hisobotlar
Qaysini o'rganish kerak?

1-o'rinda: Jira โ€” 95% kompaniyalar bu asbobni ishlatadi.

2-o'rinda: TestRail yoki Zephyr โ€” ishingizga qarab biri kerak bo'ladi.

Maslahat: Jira'ning bepul versiyasi bor (10 foydalanuvchigacha). Amalda o'rganishingiz mumkin โ€” keyingi darslarda qanday foydalanishni ko'rsatamiz.

Intervyu maslahati

Agar siz "Jira bilan ishlaganman" desangiz โ€” intervyu oluvchi so'raydi: "Qanday? Qaysi status'lar bor? Sprint qanday rejalashtirdingiz?" Umumiy javob bering, lekin chuqur o'zingizni da'vo qilmang. "Asoslarini bilaman, lekin katta loyihalarda amalda ko'p ishlash kerak" deyish โ€” halol va professional.

โšก Test Case sifat tekshiruvi
Quyidagi test case'ni o'qing โ€” u sifatlimi?
TC-042: Test savat Steps: Mahsulotni qo'shing, savatga boring Expected: Ishlaydi
๐ŸŽฌ Haqiqiy stsenariy
Siz yangi testor bo'lib ishga kelgansiz...

Birinchi ish kuni, soat 10:00. Siz Click.uz'ga junior QA sifatida ishga keldingiz. Jamoa Jira'da ishlaydi.

Team Lead sizga vazifa berdi: "Register sahifasi uchun 5 ta test case yozib, TestRail'ga joylang. Ertaga ko'rib chiqamiz."

Siz Register sahifasini ochasiz โ€” email, parol, telefon maydonlari bor. Endi nima qilasiz?

Eng professional yondashuv qaysi?

TestShop uchun test case yozing

Endi nazariyani amaliyotda sinab ko'ramiz. TestShop'ga o'ting va real test case'lar yozing.

๐Ÿ›’

TestShop โ€” Testware amaliyoti

Register sahifasi uchun professional test case'lar to'plamini yarating.

๐Ÿš€ TestShop Register sahifasi

Sizning vazifangiz: 5 ta test case yozing

Google Docs yoki Notion'da yangi hujjat yarating va quyidagi 5 ta test case'ni professional formatda yozing:

TC-001
Muvaffaqiyatli ro'yxatdan o'tish (Positive)
Barcha to'g'ri ma'lumotlar bilan โ€” akkount yaratilishi kerak
TC-002
Bo'sh email bilan urinish (Negative)
Email bo'sh bo'lsa โ€” xato xabari chiqishi kerak
TC-003
Noto'g'ri email format (Negative)
"abc" yoki "test@" kabi โ€” @ yo'q yoki chala
TC-004
Juda qisqa parol (Negative)
"1" yoki "a" โ€” xavfli parollar rad etilishi kerak
TC-005
Email va tasdiqlash mos kelmasligi (Negative)
Ikki email maydonida har xil email โ€” xato xabari chiqishi kerak
๐Ÿ’ก Pro maslahat

Har test case'ning to'liq formatini ishlating: Title, Preconditions, Steps, Expected, Actual, Status. TestShop'ni brauzerda ochib, har test case'ni bajaring. Topilgan bug'larni qayd eting โ€” bu haqiqiy QA ishi bo'ladi va intervyuda portfolio sifatida ishlatasiz!

Intervyu savollari

Bu savollar Click, Uzum, EPAM, Exadel kabi kompaniyalardagi QA intervyularida tez-tez so'raladi.

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

Q1 Testware nima? Asosiy komponentlarini ayting. +

Javob: "Testware โ€” testorlar yaratgan barcha hujjatlar va materiallar. 4 ta asosiy komponenti bor:"

  • Test Plan โ€” umumiy strategiya hujjati
  • Test Case โ€” aniq qadamlar bilan sinov
  • Test Suite โ€” bog'liq test case'lar guruhi
  • Test Data โ€” sinov uchun ma'lumotlar

Muhim: "Testware โ€” bu tirik hujjatlar. Ular loyiha rivojlanishiga qarab yangilanib turadi."

Q2 Test Case qanday maydonlardan iborat? Misol keltiring. +

Javob: "Professional Test Case quyidagi maydonlardan iborat:"

  • Test ID (TC-001)
  • Title (qisqa tavsif)
  • Preconditions (boshlashdan oldin nima kerak)
  • Steps (1, 2, 3... aniq qadamlar)
  • Expected Result (kutilgan natija)
  • Actual Result (amaliyotda nima bo'ldi)
  • Status (Pass / Fail)

Misol: "TC-001: Login - to'g'ri ma'lumotlar. Preconditions: akkount mavjud. Steps: (1) sahifani oching, (2) email kiriting, (3) parol kiriting, (4) kirish tugmasini bosing. Expected: bosh sahifa ochiladi."

Q3 Test Case va Test Scenario farqi nimada? +

Javob:

  • Test Scenario โ€” umumiy "nima sinash kerak" (high-level). Masalan: "Foydalanuvchi ro'yxatdan o'ta oladi".
  • Test Case โ€” aniq qadamlar bilan sinash usuli (detailed). Masalan: "Bo'sh email bilan urinish xato berishi kerak".

Bir scenario = bir necha test case. Scenario โ€” "maqsad", Test Case โ€” "qanday tekshirish".

Q4 Jira va TestRail o'rtasidagi farq? +

Javob:

  • Jira โ€” bug va vazifalar kuzatish tizimi. Butun jamoa ishlatadi. Sprint, backlog, Kanban board.
  • TestRail โ€” test case management. Faqat testorlar ishlatadi. Test case'lar, test run'lar, hisobotlar.

Bog'liqligi: TestRail'dagi bug topilsa โ€” Jira'ga report'i yuboriladi. Ikkala asbob birga ishlaydi.

Muqobil: Zephyr โ€” Jira ichida test management qilish imkoniyati beradi.

Q5 Yangi loyihada birinchi qilgan ishingiz nima bo'ladi? +

Javob: "Men quyidagicha yondashaman:"

  • 1-hafta: Mahsulotni tushunish โ€” hujjatlar o'qish, Product Owner bilan suhbat, demo ko'rish
  • 2-hafta: Test Plan tayyorlash โ€” nima test qilaman, qanday usullar, kerakli asboblar
  • 3-hafta: Asosiy funksiyalar uchun Test Case'lar yozish
  • 4-hafta: Execution โ€” test bajarish, bug'lar topish

Muhim: "Darhol test yozishga o'tish emas. Avval tushunish, keyin rejalashtirish, oxirida bajarish."

Q6 Bug'ning 4 ta asosiy sababi qanday? +

Javob: "Bug'lar 4 ta asosiy kategoriyadan kelib chiqadi:"

  • Human Factors โ€” inson xatosi (dasturchi, dizayner)
  • Environmental โ€” muhit farqlari (brauzer, OS, qurilma)
  • Communication Gaps โ€” muloqot kamchiliklari (talab noaniq)
  • Technical Debt โ€” eski yomon kod yangi bilan konflikt qiladi

Pro javob: "Har bug uchun sababni aniqlash muhim โ€” bu oldini olishga yordam beradi. Masalan, Communication Gap ko'p bo'lsa โ€” 3 Amigos meetings o'tkazish kerak."

Q7 Yaxshi Test Case'ning xususiyatlari qanday? +

Yaxshi Test Case:

  • Aniq (Clear) โ€” har bir qadam tushunarli
  • Qisqa (Concise) โ€” ortiqcha so'zlar yo'q
  • To'liq (Complete) โ€” precondition, steps, expected โ€” hammasi bor
  • Mustaqil (Independent) โ€” boshqa test case'ga bog'liq emas
  • Qayta ishlatilishi mumkin (Reusable) โ€” ko'p marta bajarish mumkin
  • Aniq natija (Specific expected) โ€” "ishlaydi" emas, "Bosh sahifa ochiladi"

Misol yomon: "Loginni tekshiring โ€” ishlashi kerak"

Misol yaxshi: "TC-001: To'g'ri login/parol bilan kirish. Steps: (1)... (2)... Expected: Dashboard sahifasi ochiladi va foydalanuvchi ismi yuqori o'ng burchakda ko'rinadi."

3 ta asosiy fikr

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

01
Bug sabablari โ€” 4 ta kategoriya
Human, Environmental, Communication, Technical. Har bug'ning sababini aniqlash โ€” oldini olish uchun.
02
Testware โ€” testorning asboblari
Test Plan, Test Case, Test Suite, Test Data. Bularsiz professional testlash imkonsiz.
03
Jira + TestRail = standart
95% IT kompaniyalarda shu ikki asbob ishlatiladi. Kamida Jira asoslarini bilish โ€” majburiy.
๐Ÿ† Darsni muvaffaqiyatli tugatdingiz!