Boshqalar

Ishga tushirish arafasida: tayyor tizimlarning testdan oʻtkazilishi

Mahsulot kutilganidek ishlashiga va relizga deyarli tayyor ekanligiga ishonch hosil qilish uchun tizim sinovi zarur. Sizga bunday sinov qanday oʻtkazilishini va buning uchun nima kerakligini aytib beramiz.

  • Tizim testi nima?

  • Afzallik va kamchiliklar

  • Tizim testining tur va metodlari

  • Test bosqichlari

  • Asosiy vositalar

  • Ekspert maslahati


Tizim testi nima?

Mahsulot bir necha bosqichda testdan oʻtkaziladi. Dastlab modul yoki yunit-test bajariladi. Unda alohida funksiyalarning ishlashi tekshiriladi. Masalan, dasturchi internet-doʻkonda “Tanlanganlarga qoʻshish” funksiyasi uchun kod yozdi va darhol uning toʻgʻri ishlashini tekshiradi.

Keyingi bosqich — integratsiya testi. Modullar guruhlarga birlashtiriladi va ularning oʻzaro birga ishlashi tekshiriladi. Masalan, “Tanlanganlar” boʻlimidagi mahsulotni savatga qoʻshish yoki uni oʻchirish mumkinmi?

Tizim testi integratsiya testidan keyin amalga oshiriladi. Bu bosqichda tizim yoki dastur bir butun sifatida tekshiriladi va barcha komponentlari turli xil kombinatsiyalarda testdan oʻtkaziladi. Tizim testining maqsadi, mahsulotning texnik talablarga javob berishi va xatosiz ishlayotganiga ishonch hosil qilishdir. Tizim testi test muhandislari (QA) tomonidan dasturchilar ishtirokisiz amalga oshiriladi, shu tarzda natijalarning obyektivligini saqlab qolish imkoni tugʻiladi.

Tizim testi muvaffaqiyatli oʻtsa, mahsulotning biznes va foydalanuvchilar talablariga muvofiqligi tekshirilib, keyin bozorga chiqariladi.

Tizim testi bilan shugʻullanish uchun dasturlash boʻyicha chuqur bilim zarur boʻlmaydi, ammo test asoslarini yaxshi bilish va texnik hujjatlarni tushunish kerak boʻladi. Bunga “Testdan oʻtkazish boʻyicha muhandis: noldan avtomatizatorgacha” kursida oʻqitiladi. Talabalar bazadan boshlaydi — QA roli bilan tanishish, test-keys va bag-reportlarni yozishni oʻrganishdan boshlaydi. Oʻquv jarayonida ular yakuniy loyiha — veb va mobil versiyalarni hamda ilova APIʼsini testdan oʻtkazish uchun zarur bilim va koʻnikmalarga ega boʻladi. Shu bilan kurs tugamaydi. Oʻqish yakunlangach, test oʻtkazuvchilarni karyera moduli kutadi. Bitiruvchilarga rezyume tuzish, ish qidirishning turli strategiyalarini oʻrganish va suhbatga tayyorgarlik koʻrishda yordam beriladi.

Afzallik va kamchiliklar

Afzalliklar

Kamchiliklar

Modulli yoki integratsiya testlari paytida aniqlab boʻlmaydigan xatolarni topish mumkin.

Koʻp vaqt talab qilishi mumkin, ayniqsa, mahsulot katta boʻlsa. Masalan, marketpleys ilovasi.

Yunit-testlarda boʻlgani kabi dasturlash tajribasi talab qilinmaydi.

Qimmat narx

Test reallikka imkon qadar yaqin sharoitlarda amalga oshiriladi. Bu foydalanuvchilar duch kelishi mumkin boʻlgan xatolarning aksariyatini topish imkonini beradi.

 

Testdan soʻng tizim ishga tushirilishga deyarli tayyor boʻladi. Faqat mahsulot mijoz va foydalanuvchilarning barcha talablariga javob berishini tekshirish qoladi.

 

 

Tizim testining tur va metodlari

Tizim testida “qora quti” metodi qoʻllanadi. Bunday holda testdan oʻtkazuvchi hujjatlarga tayanadi, lekin kod qanday ishlashini bilmaydi. Uning vazifasi haqiqatga yaqin sharoit va ssenariylarni yaratib, tizim oʻzini qanday tutishini sinab koʻrishdir. Buning uchun u hatto hujjatlar doirasidan tashqariga chiqib, intuitsiya va shunga oʻxshash loyihalar boʻyicha orttirgan tajribasiga asoslangan holda tizimni tekshirishi mumkin.

“Qora quti” ikkita savolga javob beradi:

  • Tizim nima qiladi? Testdan oʻtkazuvchi tizim undan kutilgan narsani bajarayotganini tekshiradi. Masalan, roʻyxatdan oʻtgandan keyin foydalanuvchi elektron pochtasiga xabar keladi.

  • Tizim qanday ishlaydi? Test paytida tizimning sifat xususiyatlari — qulayligi va tez ishlashi baholanadi.

Jadvalda “qora usulda” qanday tizim testlarni oʻtkazish mumkinligi tahlil qilindi.

Funksionallik

Tizimning hujjatlarda koʻrsatilgan funksiyalarini tekshirish.

Misol: hujjatlarda foydalanuvchi telefon raqamini kiritishi kerak boʻlgan maydonni toʻldirmasa, ilova maʼlum bir matn bilan xatoni koʻrsatishi kerakligi belgilangan. Agar tizim shaklni saqlash imkonini bermasa va shu bilan birga foydalanuvchidan xatoni tuzatishni soʻramasa, bu bag hisoblanadi.

Chidamlilik

Tizimning foydalanuvchilar soni keskin oshgan holatlarda ishlashini tekshirish.

Misol: marketpleysda mahsulotlarni arzon sotib tugatish paytida yuzaga kelishi mumkin boʻlgan yuklama sharoitini yaratib, ilova yoki veb-sayt ishlashda davom etishini tekshirish.

Tiklanish

Tizimning nosozlikdan soʻng tiklanish xususiyatini tekshirish.

Misol: brauzer qayta ishga tushirilgandan keyin maydonlarga kiritilgan maʼlumotlar saqlanib qolishini tekshirish.

Muvofiqlik

Tizimning turli platformalarda ishlashi va boshqa tizimlar bilan muvofiqligini tekshirish.

Misol: veb-ilovani barcha mavjud brauzerlarda ochib, ularning qanday aks etishini, qayerda sahifa siljiganini, avtorizatsiya ishlayotganini tekshirish.

Unumdorlik

Tizimning oddiy va turli xil darajadagi yuklamalar sharoitida ishlashini baholash.

Misol: doʻkon asosiy sahifasining ish va dam olish kunlaridagi yuklanish vaqtini oʻlchash, tizim turli miqdordagi foydalanuvchilar soni bilan qanday ishlashini baholash.

Xavfsizlik

Tizim yovuz niyatli kishilardan qanchalik himoyalangan.

Misol: dastur SQL inyeksiyalardan qanday himoyalanishini tekshirish. Bu hujumning bir turi boʻlib, yovuz niyatli kishi shakldagi maydonlarga maxsus SQL soʻrovlarni kiritadi va shu tarzda foydalanuvchilar haqidagi maʼlumotlar, tranzaksiyalar hamda boshqa shaxsiy maʼlumotlar saqlanadigan maʼlumotlar bazasiga kirishi mumkin.

Foydalanish qulayligi

Interfeys foydalanuvchi uchun qanchalik tushunarli ekani, uni koʻrsatmalarsiz ham tushuna olishini tekshirish.

Misol: mahsulot kartochkasidan katalogga qaytish mumkinligi, veb-saytda roʻyxatdan oʻtishni yakunlash tushunarli ekanini tekshirish.

Konfiguratsiya

Tizim ishini turli parametrlarni hisobga olgan holda tekshirish.

Misol: veb-ilovani Windowsʼning turli xil versiyalarida ishga tushirish, til sozlamalarini oʻzgartirish.

Nosozliklarga bardoshlilik

Tizimning baʼzi tarkibiy qismlar ishlamaganida yoki fors-major holatlar yuzaga kelganida ishlashini tekshirish.

Misol: sekin ulanish yoki buyurtmalar qayta ishlanayotganda server oʻchib qolishi kabi vaziyatlarni yuzaga keltirish.

 

Testdan oʻtkazish bosqichlari

QA jamoasi gullarni yetkazib berish ilovasini testdan oʻtkazishi kerakligini tasavvur qilaylik. Bu misolda tizim testi bosqichlarini tahlil qilamiz:

1. Rejalashtirish. Testdan oʻtkazuvchilar biznes tahlilchi va loyiha menejerlari bilan birgalikda ilova uchun tizim testi maqsadlarini belgilaydi. Ular ilovaga qoʻyilgan funksional talablarni tahlil qiladi, asosiy foydalanish ssenariylarini aniqlaydi (masalan, buyurtma qilish, toʻlov, buyurtma holatini kuzatish) va test rejasini ishlab chiqadi.

2. Tayyorgarlik. Test oʻtkazuvchilar ilovaning funksionalligini tekshirish uchun test ssenariylari va maʼlumotlarni tayyorlaydi. Masalan, ular turli xil guldasta turlari, yetkazib berish manzillari va toʻlov turlariga ega test buyurtmalarni yaratadi.
Xuddi shu bosqichda test muhiti — ilovaning ishlashi uchun haqiqiy sharoitlarga taqlid qiladigan xavfsiz muhit tayyorlanadi. Masalan, gullar ilovasi uchun veb-server, buyurtma, mijoz va mahsulotlar toʻgʻrisidagi maʼlumotlarni saqlash uchun maʼlumotlar bazasi, kompyuter yoki qurilma (masalan, smartfon yoki planshet) kerak boʻladi. Maʼlumotsiz muhitda hech bir maʼno yoʻq, shuning uchun test oʻtkazuvchilar gullar, yetkazib berish manzillari, mijozlar ismi-sharifi haqida maʼlumotlar yaratadi. Shu tarzda ilovadan foydalanish ssenariylarini xuddi relizdan keyin kabi tekshirish mumkin boʻladi.

3. Bajarish. Bu bosqichda testdan oʻtkazuvchilar test ssenariylarini ishga tushiradi. Mahsulotlarni savatga qoʻshish, yetkazib berish sanasi va vaqtini tanlash, buyurtma narxini hisoblash, buyurtmani berish jarayoni orqali uning funksionalligi tekshiriladi. Shuningdek, ular ilova xatolarini, masalan, foydalanuvchi maʼlumotlarining notoʻgʻri kiritilganini toʻgʻri aniqlashini tekshiradi.

4. Tahlil. Test oʻtkazuvchilar test ssenariylarining kechishini baholaydi, nuqsonlar va ilovaning unumdorligi yoki barqarorligi bilan bogʻliq muammolarni aniqlaydi. Test natijalarini hujjatlashtiradi va xulosalarni dasturchilar jamoasi bilan boʻlishadi.

Asosiy vositalar

Qaysi vositalarni tanlash loyiha va mutaxassis tanloviga bogʻliq. Koʻpchilik hollarda tanlanadigan dasturlarni koʻrib chiqamiz.

Avtomatlashtirilgan test uchun freymvorklar. Avtotestlar tizimning toʻgʻri ishlayotganini tez va aniq tekshirishga yordam beradi. Test oʻtkazish boʻyicha muhandislar vazifalarni avtomatlashtirish va shu tarzda mahsulotni bozorga chiqarishni tezlashtirish uchun Selenium yoki Appium kabi dasturlardan foydalanadi.

Selenium veb-ilovalar testini avtomatlashtirish, masalan, sahifalarda tugmalarni bosish, shakllarni toʻldirish kabi turli xil harakatlarni bajarish uchun ishlatiladi. Shuningdek, freymvork sahifalanishni, interfeys elementlarning birgalikdagi harakatlarini va veb-ilovaning turli brauzerlarda qanday aks etishini tekshirishda yordam beradi. Test qilish uchun dasturlash kerak boʻlmaydi. Selenium veb-ilova sifatida ishga tushirilishi va unda foydalanuvchi harakatlariga taqlid qilish hamda ularni yozib olish mumkin.

Appium ham Selenium bilan ayni tamoyil asosida, faqat mobil ilovalarni test qilish uchun ishlatiladi. Freymvork ham Android, ham iOSʼda ishlaydigan bir xil test skriptini yozish imkonini beradi.

Ish unumdorligi va yuklama testini tahlil qilish vositalari ilova real sharoitda ishlaganda yuzaga kelishi mumkin boʻlgan muammolarni aniqlashda yordam beradi.

Apache JMeter veb-ilova yoki serverga yuklamani modellashtiradigan ssenariylarni yaratishga yordam beradi. U turli xil darajadagi yuklamalarda ilovaning ish unumdorligi va barqarorligini baholash uchun koʻp sonli soʻrovlarni yaratishi mumkin.
Ilova yuklama ostida qanchalik yaxshi ishlashini aniqlash uchun JMeter yordamida serverdan keladigan javob vaqtini, oʻtkazish xususiyatini va ish unumdorligining  boshqa koʻrsatkichlarini oʻlchash mumkin.

LoadRunner — yuklama testini oʻtkazish uchun yana bir vosita. Test natijalarini grafika, hisobot va diagrammalar shaklida tuzadi.

Test maʼlumotlarini generatsiya qilish vositalari

Mockaroo ism-sharif, manzil, elektron pochta, son va sanalarni generatsiya qilish imkonini beradi. Maʼlumotlarni turli xil CSV, JSON, SQL, XML formatlarda generatsiya qiladi va bu yaratilgan maʼlumotlardan har xil turdagi testlarda foydalanish yoki ularni boshqa tizimlarga integratsiya qilish imkoniyatini yaratadi. Mockaroo yordamida belgilangan qoida va cheklovlarga ega sozlanadigan maʼlumotlar sxemalarini yaratish mumkin. Shu tarzda ilova yoki test ssenariysining oʻziga xos talablariga javob beradigan maʼlumotlarni generatsiya qilish mumkin.

Faker maʼlum bir mintaqaga mos maʼlumotlarni generatsiya qilish, ilovaning ishlashini muayyan bir mamlakatda, mahalliy tilda va foydalanuvchilarning madaniy xususiyatlarini hisobga olgan holda testdan oʻtkazish imkonini beradi.

 

Ekspert maslahati

Vasiliy Belyakov

Tizim testi bu — test oʻtkazuvchining bilim sohalaridan biri. Odatda kompaniyalar turli xil test turlari bilan tanish boʻlgan mutaxassislarni izlaydi va maʼlum bir vazifaga mos keladiganini tanlashi mumkin. Junior bu talablarga javob berishi uchun bazani — hujjat, chek-list va bag-reportlar bilan ishlash, kritik baglarni unchalik kritik boʻlmaganlaridan farqlashni, testdan oʻtkazishni avtomatlashtirish asoslarini oʻzlashtirishi kerak. Dasturlash koʻnikmalari dastlab haqiqatan ham unchalik muhim emas. Agar testdan oʻtkazuvchi koddagi oddiy xatolarni, masalan, qoʻyilmagan nuqta yoki vergulni topa olsa, bu yanada yaxshi.

 

Manba: В шаге от запуска: как тестируют готовые системы

Mohirdev Telegram

Telegram kanalimizga obuna bo’lishni unutmang

Obuna bo'lish
Yandex Praktikum

Yandex Praktikum

O'xshash maqolalar

Qanday qilib kiberxavfsizlik boʻyicha mutaxassis boʻlish mumkin?
kiberxavfsizlik

20-iyun, 2024

Qanday qilib kiberxavfsizlik boʻyicha mutaxassis boʻlish mumkin?

Axborot xavfsizligi sohasida ishlash uchun nimalarni bilish kerak va uni qayerda oʻrganish mumkin? Zarur “qattiq” va “yumshoq” koʻnikmalar.

Maqolani o'qish
OpenSource qanday yaratiladi? Shaxsiy tajriba
opensource
shaxsiy tajriba

16-aprel, 2024

OpenSource qanday yaratiladi? Shaxsiy tajriba

Men Linuxʼning barcha distributivlariga ozmi-koʻpmi kiritilgan ikkita paket — sane-airscan va ipp-usbʼning muallifiman.

Maqolani o'qish
Mohirdev startaplar tanlovida gʻalabani qoʻlga kiritdi

24-yanvar, 2024

Mohirdev startaplar tanlovida gʻalabani qoʻlga kiritdi

Biz har qadamimiz bilan inson oʻz rivoji uchun imkon topa oladigan dunyoni qurishdan toʻxtamaymiz.

Maqolani o'qish
Scalaʼni bilish — yaxshi, Sparkʼni bilish esa majburiy. Yangi boshlayotgan va tajribali data injenerlar nimalarni bilishi kerak? Yandeks Praktikum tadqiqoti
Yumsoq ko'nikmalar
portfolio

3-may, 2024

Scalaʼni bilish — yaxshi, Sparkʼni bilish esa majburiy. Yangi boshlayotgan va tajribali data injenerlar nimalarni bilishi kerak? Yandeks Praktikum tadqiqoti

Yandeks Praktikum junior, middle va senior data injenerlar uchun eng talab yuqori boʻlgan koʻnikmalarni oʻrganib chiqdi. Kasbga kirib, unda oʻsish uchun qayerda va qanday rivojlanish kerakligini koʻrib chiqamiz.

Maqolani o'qish
Rezyumeni yaxshilash uchun GitHubʼdan qanday foydalanish mumkin?
github
resume

2-may, 2024

Rezyumeni yaxshilash uchun GitHubʼdan qanday foydalanish mumkin?

100 milliondan ortiq foydalanuvchiga ega GitHub eng ilgʻor onlayn dasturlash muhitlaridan biri hisoblanadi. Dasturchilar har kuni loyihalar ustida hamda boshqalar bilan hamkorlik qilish maqsadida GitHubʼdan foydalanadi. Agar zamonaviy raqobatbardosh dasturchilar mehnat bozorida texnologiyaga oid ish izlayotgan boʻlsangiz, GitHub bilan ishlash koʻnikmalari bu musobaqada sizga ustunlik berishi mumkin.

Maqolani o'qish