Bug qayerdan kelib chiqadi? Testorlar qanday hujjatlar yaratadi? Jira, TestRail va boshqa professional asboblar bilan tanishamiz.
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'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.
+ o'rniga - qo'yib yuborgan.
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.
Dasturchi Click ilovasida "Summa" maydoni uchun if (amount > 1000000) yozgan, lekin aslida 10 million kerak edi. Bitta 0 ni unutish butun tizimni buzadi.
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.
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.
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.
Quyidagi 4 ta bug'ni to'g'ri kategoriyaga sudrab olib boring.
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.
Bu โ testor kundalik ishining asosiy qismi. Professional test case quyidagi maydonlardan iborat:
| Maydon | Ma'nosi |
|---|---|
| Test ID | TC-001 kabi unikal raqam |
| Title | Qisqa sarlavha (nima sinalmoqda) |
| Preconditions | Boshlashdan oldin nima kerak (akkount, ma'lumot) |
| Steps | Aniq qadamlar (1, 2, 3...) |
| Expected Result | Kutilgan natija |
| Actual Result | Amaliyotda nima bo'ldi |
| Status | Pass (o'tdi) / Fail (o'tmadi) |
TC-001: "Login: bo'sh email bilan kirish urinishi"
Preconditions: Foydalanuvchi saytda emas
Steps:
Expected Result: "Email kiriting" xabari ko'rinishi kerak. Foydalanuvchi saytga kirmasligi kerak.
Quyidagi qismlarni to'g'ri joylariga sudrab tashang. Bu TestShop uchun haqiqiy test case bo'ladi!
O'zbekistonda va dunyoda QA jamoalari aynan shu 3 ta asbobdan ko'p foydalanadi. Intervyuda albatta bilishingiz kerak bo'lgan asboblar.
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.
Nima uchun? Test case'lar va Test Suite'larni saqlash, bajarish, hisobot olish.
Kim ishlatadi? Asosan testorlar. Katta jamoalarda โ QA menejer.
Nima uchun? Jira ichida test management qilish imkoniyati. Jira va TestRail'ni bir joyga birlashtirdi.
Kim ishlatadi? Jira faol ishlatadigan jamoalarda โ testorlar.
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.
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.
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?
Endi nazariyani amaliyotda sinab ko'ramiz. TestShop'ga o'ting va real test case'lar yozing.
Register sahifasi uchun professional test case'lar to'plamini yarating.
๐ TestShop Register sahifasiGoogle Docs yoki Notion'da yangi hujjat yarating va quyidagi 5 ta test case'ni professional formatda yozing:
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!
Bu savollar Click, Uzum, EPAM, Exadel kabi kompaniyalardagi QA intervyularida tez-tez so'raladi.
๐ก Har savol ustiga bosing โ professional javob va maslahatni ko'rasiz.
Javob: "Testware โ testorlar yaratgan barcha hujjatlar va materiallar. 4 ta asosiy komponenti bor:"
Muhim: "Testware โ bu tirik hujjatlar. Ular loyiha rivojlanishiga qarab yangilanib turadi."
Javob: "Professional Test Case quyidagi maydonlardan iborat:"
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."
Javob:
Bir scenario = bir necha test case. Scenario โ "maqsad", Test Case โ "qanday tekshirish".
Javob:
Bog'liqligi: TestRail'dagi bug topilsa โ Jira'ga report'i yuboriladi. Ikkala asbob birga ishlaydi.
Muqobil: Zephyr โ Jira ichida test management qilish imkoniyati beradi.
Javob: "Men quyidagicha yondashaman:"
Muhim: "Darhol test yozishga o'tish emas. Avval tushunish, keyin rejalashtirish, oxirida bajarish."
Javob: "Bug'lar 4 ta asosiy kategoriyadan kelib chiqadi:"
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."
Yaxshi Test Case:
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."
Ushbu darsdan eslab qolishingiz kerak bo'lgan eng muhim g'oyalar