Boshqalar

QA-testi va uning tuzilishi yoxud sifat nazorati

Yoki qoʻngʻizlar qayerda yashirinadi va ularni ushlash osonmi?

Hammamizga maʼlum haqiqat – har qanday dastur: xoh u CMSʼda ishlaydigan onlayn doʻkon, xoh koʻp modulli ERP-tizim boʻlsin xatosiz ishlashi, yaʼni sifatli boʻlishi kerak. Ammo voqelik shundayki, barcha tirik va rivojlanayotgan tizimlarda baglar boʻlgan, ular hozir ham mavjud va keyinchalik ham boʻladi.

Kichik loyihalarda sifatni taʼminlash masalasini dasturchilarga yuklash mumkin boʻlsa, yirik loyihalarda bunday vazifalarni alohida jarayon — QA sifatida ajratib chiqarish odatiy holdir. Hozir ana shu haqda gaplashamiz.

Mundarija

  • QA-test nima?

  • U nimadan iborat?

  • Qanday testlar mavjud?

  • Testdan oʻtkazishning qanday darajalari mavjud?

  • QA-muhandislar qanday vositalardan foydalanadi?

QA-test nima?

QA (Sifat nazorati) – Quality Assuranceʼning qisqartma shakli, dasturiy taʼminot sifatini taʼminlash jarayoni. Mahsulotni ishlab chiqishga topshirishdan oldin uni testdan oʻtkazish va texnik hujjatlarni tahlil qilishni oʻz ichiga olgan juda keng tushuncha.

QAʼda toʻgʻri sozlangan jarayonlar ish vaqtini qisqartiradi va byudjetni tejaydi. QAʼni dastlabki bosqichlarda amalga oshirish esa foydalanuvchilarga yoqadigan, kompaniyaning bozordagi obroʻsi va foydasini oshiradigan “toza” mahsulot chiqarish imkonini beradi.

Dasturlash guruhida testlar bilan QA-muhandislar shugʻullanadi. Ularning vazifasi dasturiy taʼminot foydalanuvchilar qoʻliga tushishidan oldin uni yaxshilab tekshirishdir. Ular koddagi xatolarni aniqlaydi hamda dasturiy taʼminot moʻljallagan barcha qurilma va platformalarda ishlashiga ishonch hosil qiladi.

Dasturchilar QA-muhandislardan muammolarning batafsil tavsifi keltirilgan xatolar haqidagi hisobotlarni oladi. Bu maʼlumotlardan xatoni takror yuzaga keltirish va uni qanday bartaraf etish mumkinligini tushunishda foydalanish mumkin.

QA nimadan iborat?

QA murakkab jarayon boʻlib, unda nafaqat testdan oʻtkazuvchilar jamoasi ishtirok etadi. Dasturiy taʼminot barqaror va bexato ishlashi uchun anchagina kuch sarflanishi kerak. Ishni qulaylashtirish va optimallashtirish uchun esa kodni tekshirish jarayoni bir necha bosqichlarga boʻlinadi.

Tahlil. QA muhandislar dastlab texnik hujjatlarning zaif tomonlari va birinchi navbatda eʼtiborga olinishi kerak boʻlgan muammolarni baholaydi. Tahlil qanchalik puxta boʻlsa, relizda foydalanuvchilar xato va nosozliklarga ega ilovani olishi ehtimoli shunchalik kam boʻladi.

Test ssenariylarini ishlab chiqish. Keyingi bosqichda QA-muhandislar test-keyslar – testga tayyorgarlik koʻrish bosqichlari, tekshirish algoritmi va kutilayotgan natija batafsil bayon etilgan maxsus koʻrsatmalarni tuzadi.

Test-keyslar ilovadagi har bir funksiya uchun tuziladi, u xoh tizimning murakkab algoritmi, xoh foydalanuvchi ishlatadigan alohida bir tugma kodi boʻlsin. Topilgan barcha muammolar dasturchilar uchun xatolar va ular yuzaga keladigan shartlarning batafsil tavsifi bayon etilgan maxsus hujjatlar – bag-reportlar shaklida rasmiylashtiriladi.

Testdan oʻtkazish. AyTi mahsulotning ishlashi barcha platformalarda tekshiriladigan asosiy bosqich. Foydalanuvchi interfeysi, tizim funksiyalari, uchinchi tomon integratsiyalari testdan oʻtkaziladi va dastur bilan ishlashning barcha mumkin boʻlgan ssenariylari koʻrib chiqiladi.

Regression test. Dasturchilar barcha kamchiliklarni bartaraf etgandan soʻng testdan oʻtkazuvchilar qayta tekshiruvdan oʻtkazadi. Bu bosqichda xatolar bartaraf etilgandan soʻng yangilari paydo boʻlmagani va ilova toʻgʻri ishlayotganiga ishonch hosil qilinishi kerak. Regression testlardan yangi arxitektura yoki platformaga oʻtishda ham foydalaniladi.

Hisobot. Barcha testlar oʻtkazilgandan soʻng QA-muhandislar bajarilgan ishlar toʻgʻrisida hisobot tayyorlaydi. Unda loyihani ishlab chiqish paytida oʻtkazilgan barcha tekshiruvlar yana bir bor bayon etiladi. Hisobotlar AyTi mahsulotning hozirgi holatini tushunish va kelajakdagi harakatlar rejasini tuzishga yordam beradi.

Qanday testlar mavjud?

QAʼda mavjud maʼlumotlarga asoslangan holda tizimni tekshirishga imkon beradigan koʻplab testlar turi bor. Yondashuvlar koʻp, ammo ulardan birdaniga foydalanilmaydi. Har bir loyiha uchun QA-muhandislar texnik talablarga javob beradigan eng mos usulni tanlaydi. Test turlari quyidagi guruhlarga boʻlinadi.

Avtomatlashtirilganlik darajasi boʻyicha

Qoʻlda oʻtkaziladigan test. Muhandislarning oʻzlari barcha test-keyslar orqali oʻtib, ularda tavsiflangan amallarni bajaradi. Bu koʻp vaqt va kuch talab qiladi, shuning uchun bu usul koʻproq kichik oʻzgarishlarni nazorat qilishga mos keladi.

Avtomatlashtirilgan test. QA-muhandisi foydalanuvchi harakatlariga taqlid qiladigan dastur ishlab chiqadi. Buning yordamida test oʻtkazuvchilar koddan qayta foydalanib, barcha test-keyslarni bitta tugma bilan yoki avtomatik ravishda — vaqt yoki voqeaga koʻra ishga tushirish orqali vaqtni tejaydi.

Maqsadlar boʻyicha

Funksional test dasturiy taʼminotning talablarga muvofiqligini tekshirishdan iborat. QA-mutaxassislar dasturning barcha funksional imkoniyatlarini testdan oʻtkazib, undan foydalanish paytida yuzaga kelishi mumkin boʻlgan muammolarni bartaraf etadi.

Nofunksional test. Nofunksional test paytida QA-muhandislar ilovaning turli sharoitlarda qanday ishlashini tekshiradi. Bunday testlar toifasiga xavfsizlik, ish unumdorligi, muvofiqlik, lokalizatsiya testlari, stress-testlar va boshqa tekshiruvlar kiradi.

Tizimga koʻra

“Oq quti”ni testdan oʻtkazish. Bu usulga koʻra ishlash uchun QA-muhandis mahsulotning ichki arxitekturasini bilishi kerak. U mustaqil ravishda test-keyslarni yaratib, kod yozishda yoʻl qoʻyilgan xatolarni aniqlaydi, marshrutlash, kataloglar, sikllarni tahlil qiladi va kodga oʻzgartirishlar kiritishi mumkin.

“Qora quti” testi. Bunday holatda testdan oʻtkazuvchi kodga kirish huquqiga ega boʻlmaydi. U haqiqiy ilova foydalanuvchisi sifatida ish koʻrib, faqat uning interfeysiga eʼtibor qaratadi. Bunday test usulidan dasturlashning barcha bosqichlarida foydalaniladi va yangi boshlayotganlarga mos hisoblanadi, ammo har doim ham barcha xatolarni istisno qilish imkonini bermaydi.

“Kulrang quti” testi. Bu mutaxassislar kodning bir qismini koʻra oladigan va dasturning ichki sozlamalariga kira oladigan kombinatsiyalangan yondashuv. Tekshirishning oʻzi foydalanuvchi koʻradigan interfeysdan foydalanishni koʻzda tutadi.

Ssenariy ijobiyligiga koʻra

Ijobiy test. Unda faqat ruxsat etilgan kirish maʼlumotlaridan foydalaniladi. QA-muhandisining vazifasi funksiyaning standart foydalanish ssenariylarida toʻgʻri ishlashiga ishonch hosil qilishdir.

Salbiy test. Bu turdagi testlarning maqsadi istisno holatlarni tekshirishdir. Kirish maʼlumotlari sifatida notoʻgʻri qiymatlar ishlatiladi. Tasavvur qiling, foydalanuvchi oʻz ismi oʻrniga tugʻilgan sanasini kiritadi. Shundan soʻng ilova ishlashni davom ettiradimi? Agar ishlasa, foydalanuvchiga qanday maʼlumotlarni qaytaradi? Salbiy testlar mana shu savollarga javob beradi.

Ijrochilarga koʻra

Alfa-testlar. Hozircha faqat kompaniya ichida ishlayotgan AyTi mahsulotning dastlabki versiyasini tekshirish. Baʼzida bu jarayonga foydalanuvchilar ham jalb qilinishi mumkin, lekin alfa-test koʻpincha tashqi ishtirokchilar uchun yopiq boʻladi.

Beta-test. Kompaniya cheklangan sondagi foydalanuvchilar uchun chiqaradigan deyarli tayyor mahsulot. Bu bosqichda dasturchilar fikr-mulohazalarni toʻplaydi, kod bazasiga oʻzgartirishlar kiritadi va ommaviy relizga tayyorgarlik koʻradi.

Ijro xronologiyasiga koʻra

Tasdiqlovchi. Nuqson muvaffaqiyatli bartaraf etilganini tasdiqlash uchun uyushtirilgan takroriy testlar.

Regression. Undan loyihaning kod bazasiga oʻzgartirishlar kiritilgandan soʻng foydalaniladi. Bu testlar oʻzgartirishlar kiritilgandan keyin yangi xatolar paydo boʻlmaganiga ishonch hosil qilishga yordam beradi.

Qabul qilish testi. Loyiha kodi AyTi mahsulotning barcha talab va ehtiyojlariga javob berishi tekshiriladi.

Testdan oʻtkazish darajalari

Odatda dasturiy taʼminotni tekshirish klassik “testdan oʻtkazish piramidasi”ga kiritilgan toʻrt bosqichda amalga oshiriladi.

Unit-testlar. Bu bosqichda QA-muhandislar dasturiy kodning alohida modullari ishlashini tekshiradi. Baʼzi jamoalarda bunday testlarni dasturchilar yozadi. Bu esa kod testdan oʻtkazuvchilarga yuborilishidan oldin xatoni topish imkonini beradi.

Integratsiya testlari. Ularning yordamida dasturning turli modullari bir-biri bilan oʻzaro ishlashi, masalan, kod uchinchi tomon xizmati yoki maʼlumotlar bazasi bilan qanday ishlashi tekshiriladi.

End-to-end testlar. Bu bosqichda QA-muhandislar butun loyihani testdan oʻtkazadi. Muayyan foydalanuvchi ssenariylarining bajarilishiga alohida eʼtibor beriladi. Barcha modullar va tashqi integratsiyalar toʻgʻri ishlayotganiga ishonch hosil qilinishi kerak.

UI-testlar. Foydalanuvchi interfeysining barcha elementlari, ularning dizayni, mosligi, qulayligi va foydalanish ssenariylariga muvofiqligi tekshiriladi.

QA-muhandislar vositalari

Tajribali testdan oʻtkazuvchilar oʻz ishida oʻnlab vosita va xizmatlardan foydalanadi. Yangi boshlayotgan QA-muhandislar hamma narsani bilishi shart emas, lekin ayrim utilitalar tez-tez uchrab turadi:

  • BrowserStack — dasturiy taʼminotni turli xil qurilma va operatsion tizimlarda testdan oʻtkazish imkonini beradigan bulutli platforma. Qoʻlingizda Android smartfoni boʻlmasa, testlarni BrowserStackʼda ishga tushirishingiz mumkin.

  • Jira — dasturchilar, testdan oʻtkazuvchilar va foydalanuvchilarni bogʻlaydigan, loyihalarni boshqarish va xatolarni kuzatish tizimi.

  • Selenium — brauzer ishini avtomatlashtirish uchun ochiq kutubxona. Koʻpincha veb-ilovalarni testdan oʻtkazishda ishlatiladi.

  • Postman — API testi uchun vosita. Uning yordamida QA-muhandislar mijozdan serverga yuboriladigan soʻrovlarni tekshiradi.

  • Apache Jmeter — yuklama testini oʻtkazish uchun ochiq ilova.

  • Git — kodga kiritilgan oʻzgarishlar tarixini saqlaydigan, versiyani boshqarish tizimi.

Yakunda nimaga ega boʻlamiz?

QA har qanday AyTi mahsulotni ishlab chiqishdagi asosiy bosqichlardan biri hisoblanadi. Dastur foydalanuvchilar qoʻliga qanday shaklda tushishi ushbu jarayonga bogʻliq.

Sifatni nazorat qilish boʻyicha mutaxassislar dastur ishlab chiqishning barcha bosqichlarida ishtirok etadi va mahsulotning har bir tarkibiy qismi: texnik topshiriqdan tortib foydalanish qulayligi va dizayniga qadar tekshiradi.

QA-testlarining koʻplab turi mavjud boʻlib, ularning har biri mahsulotni ishlab chiqishning maʼlum bir bosqichiga tegishlidir. Ularning baʼzilari uchun dasturlash tillarini bilish shart emas, lekin aksariyati dasturiy taʼminotning ichki tuzilishi va arxitekturasini tushunishni talab qiladi.

Manba: Что такое QA-тестирование и как оно устроено

Agar ushbu maqoladan soʻng sizda QA muhandisligini oʻrganish xohishi paydo boʻlgan boʻlsa, Mohirdev platformasida QA - тестировщик praktikum kursini tavsiya qilamiz.

#QA
#sifat nazorati
Mohirdev Telegram

Telegram kanalimizga obuna bo’lishni unutmang

Obuna bo'lish
skillbox.ru

skillbox.ru