Maqolalar

Dasturiy ta'minot sinovi nima, dasturiy ta'minotni sinab ko'rish nimani anglatadi

Dasturiy ta'minotni sinovdan o'tkazish - bu kompyuterlar uchun yozilgan dasturiy ta'minotning to'liqligi va sifatini tekshirish, baholash va aniqlash jarayonlari to'plami. Dasturiy ta'minot mahsulotining normativ, biznes, texnik, funktsional va foydalanuvchi talablariga muvofiqligini ta'minlaydi.

Dasturiy ta'minot testi yoki dasturiy ta'minotni sinovdan o'tkazish, shuningdek, amaliy test sifatida ham tanilgan.

Dasturiy ta'minotni sinovdan o'tkazish, birinchi navbatda, bir nechta o'zaro bog'liq jarayonlardan tashkil topgan katta jarayondir. Dasturiy ta'minotni sinovdan o'tkazishning asosiy maqsadi dasturiy ta'minotning yaxlitligini va uning asosiy talablari bo'yicha to'liqligini o'lchashdir. Dasturiy ta'minotni sinovdan o'tkazish turli xil sinov jarayonlari orqali dasturiy ta'minotni tekshirish va sinovdan o'tkazishni o'z ichiga oladi. Ushbu jarayonlarning maqsadlari quyidagilarni o'z ichiga olishi mumkin:

Funktsional/biznes talablariga muvofiq dasturiy ta'minotning to'liqligini tekshirish
Xatolarni/texnik xatolarni aniqlash va dasturiy ta'minotning xatosiz bo'lishini ta'minlash
Foydalanish, ishlash, xavfsizlik, mahalliylashtirish, moslik va o'rnatishni baholash
Sinovdan o'tgan dasturiy ta'minot to'liq yoki foydalanishga yaroqli bo'lishi uchun barcha testlardan o'tishi kerak. Dasturiy ta'minotni sinovdan o'tkazish usullarining ayrim turlariga oq quti sinovi, qora quti testi va kulrang quti testi kiradi. Bundan tashqari, dasturiy ta'minot butunlay, komponentlar/birliklarda yoki jonli tizim ichida sinovdan o'tkazilishi mumkin.

Qora quti sinovi

Black Box Testing - bu tizimning ichki ishlashiga nisbatan dasturiy ta'minotning funksionalligini tahlil qilishga qaratilgan dasturiy ta'minotni sinovdan o'tkazish usuli. Qora quti testi mijozlar talablari, spetsifikatsiyalari va yuqori darajadagi dizayn strategiyalarini tahlil qilish usuli sifatida ishlab chiqilgan.

Black Box Testing testeri yaroqli va yaroqsiz kod bajarilishi va kiritish shartlari to'plamini tanlaydi va to'g'ri chiqish javoblarini tekshiradi.

Qora quti testi funktsional test yoki yopiq quti testi sifatida ham tanilgan.

Qidiruv tizimi qora quti sinovidan o'tiladigan dasturning oddiy misolidir. Qidiruv tizimi foydalanuvchisi veb-brauzerning qidirish satriga matn kiritadi. Keyin qidiruv tizimi foydalanuvchi ma'lumotlari natijalarini topadi va oladi (chiqish).

Qora quti testining afzalliklari quyidagilardan iborat:

  • Oddiylik: Yuqori darajadagi loyihalar va murakkab ilovalarni sinovdan o'tkazishni osonlashtiradi
  • Resurslarni tejash: Sinovchilar dasturiy ta'minotning funksionalligiga e'tibor berishadi.
  • Sinov holatlari: Sinov holatlarining tez rivojlanishiga yordam berish uchun dasturiy ta'minot funksionalligiga e'tibor qarating.
  • Moslashuvchanlikni ta'minlaydi: maxsus dasturlash bilimlari talab qilinmaydi.

Qora quti testining quyidagi kamchiliklari ham bor:

  • Test ishi/skript dizayni va texnik xizmat ko'rsatish qiyin bo'lishi mumkin, chunki Black Box Testing vositalari ma'lum kirishlarga bog'liq.
  • Grafik foydalanuvchi interfeysi (GUI) bilan ishlash test skriptlarini buzishi mumkin.
  • Sinovlar faqat dasturning funktsiyalariga tegishli.

Oq quti sinovi

Oq quti sinovi paytida kod oldindan tanlangan chiqish qiymatlarini tasdiqlash uchun oldindan tanlangan kirish qiymatlari bilan ishga tushiriladi. Oq quti testi ko'pincha stub kodini (muayyan xususiyatni almashtirish uchun ishlatiladigan kod qismi. stub masofaviy mashinadagi protsedura kabi mavjud kodning harakatini taqlid qilishi mumkin) va shuningdek, drayverlarni yozishni o'z ichiga oladi.

Oq quti testining afzalliklari quyidagilardan iborat:

  • Sinov holatlarini qayta ishlatishga imkon beradi va barqarorlikni ta'minlaydi
  • Kodni optimallashtirishni osonlashtiradi
  • Rivojlanishning dastlabki bosqichlarida yashirin xatolarning joylarini topishga yordam beradi
  • Samarali dastur sinovini osonlashtiradi
  • Kodning keraksiz qatorlarini olib tashlang


Kamchiliklarga quyidagilar kiradi:

  • Ichki tuzilishni biladigan tajribali sinovchi talab qilinadi
  • Vaqt oladi
  • Yuqori xarajatlar
  • Bit-kodni tekshirish qiyin.
  • Oq quti testi birlik testini, integratsiya testini va regressiya testini o'z ichiga oladi.

Birlik sinovi

Birlik testi dasturiy ta'minotni ishlab chiqish hayotiy tsiklining (SDLC) tarkibiy qismi bo'lib, unda kerakli yaroqlilik yoki xatti-harakat uchun dasturiy ta'minot dasturining eng kichik qismlariga har tomonlama sinov jarayoni individual ravishda qo'llaniladi.


Birlik testi ko'pgina korporativ dasturiy ta'minotni ishlab chiqishda qo'llaniladigan sifatni o'lchash va baholash protsedurasidir. Umuman olganda, birlik testi dasturiy ta'minot kodi dasturiy ta'minot/ilova/dasturning umumiy maqsadiga qanchalik mos kelishini va uning muvofiqligi boshqa kichikroq birliklarga qanday ta'sir qilishini baholaydi. Birlik testlari qo'lda - bir yoki bir nechta ishlab chiquvchilar tomonidan yoki avtomatlashtirilgan dasturiy yechim orqali amalga oshirilishi mumkin.

Sinov paytida har bir birlik asosiy dastur yoki interfeysdan ajratilgan. Birlik testlari odatda ishlab chiqishdan keyin va joylashtirishdan oldin amalga oshiriladi, bu integratsiyani va muammolarni erta aniqlashni osonlashtiradi. Birlik hajmi yoki ko'lami dasturlash tili, dasturiy ta'minot ilovasi va test maqsadlariga qarab o'zgaradi.

Funktsional test

Funktsional test - bu dasturiy ta'minotni ishlab chiqishda qo'llaniladigan sinov jarayoni bo'lib, unda dasturiy ta'minot barcha talablarga muvofiqligini ta'minlash uchun sinovdan o'tkaziladi. Bu dasturiy ta'minotni uning funktsional talablarida ko'rsatilgan barcha kerakli funksiyalarga ega ekanligini tekshirishning bir usuli.


Funktsional test, asosan, dasturiy ta'minotning bir qismi oxirgi foydalanuvchi yoki biznes tomonidan talab qilinadigan natijalarni ta'minlashini tekshirish uchun ishlatiladi. Odatda, funktsional test har bir dasturiy ta'minot funktsiyasini biznes talablari bilan baholash va taqqoslashni o'z ichiga oladi. Dasturiy ta'minot unga ba'zi tegishli ma'lumotlarni berish orqali sinovdan o'tkaziladi, natijada uning asosiy talablariga qanday mos kelishi, ular bilan bog'liqligi yoki farqlanishini ko'rish uchun chiqish baholanishi mumkin. Bundan tashqari, funktsional testlar dasturiy ta'minotning yaroqliligini ham tekshiradi, masalan, navigatsiya funktsiyalari kerak bo'lganda ishlashiga ishonch hosil qilish.

Innovatsion axborot byulleteni
Innovatsiyalar haqidagi eng muhim yangiliklarni o'tkazib yubormang. Ularni elektron pochta orqali olish uchun ro'yxatdan o'ting.

Regressiya testi

Regressiya testi - bu dasturiy ta'minotni o'zgartirish natijasida yangi muammolar paydo bo'lganligini aniqlash uchun ishlatiladigan dasturiy ta'minotni sinovdan o'tkazish turi.

O'zgartirishni qo'llashdan oldin dastur sinovdan o'tkaziladi. O'zgartirish qo'llanilgandan so'ng, dastur tanlangan sohalarda qayta sinovdan o'tkaziladi, bu o'zgartirish yangi xatolar yoki muammolarni keltirib chiqarganmi yoki haqiqiy o'zgarish o'z maqsadiga erishganmi yoki yo'qmi.


Regressiya testi katta dasturiy ta'minot ilovalari uchun juda muhim, chunki muammoning bir qismini o'zgartirish dasturning boshqa qismi uchun yangi muammo tug'dirganligini bilish ko'pincha qiyin. Misol uchun, bankdan kredit olish uchun ariza shaklini o'zgartirish oylik tranzaksiya hisobotining bajarilmasligiga olib kelishi mumkin. Ko'pgina hollarda, muammolar bir-biriga bog'liq bo'lmagandek tuyulishi mumkin, ammo ular aslida dastur ishlab chiquvchilari orasida umidsizlikka sabab bo'lishi mumkin.

Regressiya testini talab qiladigan boshqa holatlarga ma'lum o'zgarishlarning belgilangan maqsadga erishganligini aniqlash yoki muammosiz vaqtdan keyin qayta paydo bo'ladigan muammolar bilan bog'liq yangi xavflarni tekshirish kiradi.

Zamonaviy regressiya testi, birinchi navbatda, mavjud dasturiy ta'minotning suratlarini oladigan maxsus tijorat sinovlari vositalari orqali amalga oshiriladi, ular keyinchalik ma'lum bir o'zgarish qo'llanilgandan so'ng solishtiriladi. Inson sinovchilari uchun avtomatlashtirilgan dasturiy ta'minot sinovchilari kabi bir xil vazifalarni samarali bajarish deyarli mumkin emas. Bu, ayniqsa, banklar, shifoxonalar, ishlab chiqarish kompaniyalari va yirik chakana sotuvchilar kabi yirik IT muhitlaridagi yirik va murakkab dasturiy ilovalarga tegishli.

Stress tekshiruvi

Stress-test deganda tarmoq trafigining og'irligi, jarayonning yuklanishi, past tezlik, overclock va resurslardan foydalanishning eng yuqori talablari natijasida yuzaga kelishi mumkin bo'lgan ekstremal va noqulay sharoitlarda uning ishlashi qoniqarli yoki yo'qligini aniqlash uchun dasturiy ta'minot yoki apparatni sinovdan o'tkazish tushuniladi.

Aksariyat tizimlar normal ish sharoitlarini hisobga olgan holda ishlab chiqilgan. Shuning uchun, agar chegara oshib ketgan bo'lsa ham, tizimni ishlab chiqish jarayonida stress sinovidan o'tgan bo'lsa, xatolar ahamiyatsiz bo'ladi.


Stress testi quyidagi kontekstlarda qo'llaniladi:

  • Dasturiy ta'minot: Stress testi resurslarning etarli emasligi sababli dasturiy ta'minotning ishdan chiqishiga yo'l qo'ymasligini ta'minlash uchun o'ta og'ir yuklar ostida mavjudlik va xatolarni bartaraf etishga urg'u beradi. Dasturiy ta'minotning stress testi ma'lumotlar bazasi yuklanmagan bo'lsa ham, sinov paytida qattiq stressga duchor bo'lgan tranzaktsiyalarni bekor qilish uchun aniqlangan tranzaktsiyalarga qaratilgan. Stress test jarayoni tizimdagi eng zaif bo'g'inni topish uchun bir vaqtning o'zida foydalanuvchilarni oddiy tizim darajasidan tashqari yuklaydi.
  • Uskuna: Stress testlari oddiy hisoblash muhitida barqarorlikni ta'minlaydi.
  • Veb-saytlar: Stress testlari har qanday sayt funksiyalarining chegaralarini aniqlaydi.
  • CPU: Haddan tashqari kuchlanish, past kuchlanish, pastki blokirovka va overloklash kabi o'zgarishlar tizimning ishdan chiqishi yoki muzlashini tekshirish uchun protsessorni talab qiladigan dasturni ishga tushirish orqali og'ir yuklarga bardosh bera oladimi yoki yo'qligini aniqlash uchun tekshiriladi. CPU stress testi qiynoq testi sifatida ham tanilgan.

Avtomatik testlar

Avtomatlashtirilgan test (dasturiy ta'minotni sinovdan o'tkazishni avtomatlashtirish) - bu testlarni avtomatik ravishda amalga oshiradigan va keyin haqiqiy test natijalarini kutilgan natijalar bilan taqqoslaydigan maxsus dasturiy vositalardan foydalanadigan kod sinoviga yondashuv.

Avtomatlashtirilgan test Continuous Delivery (CD), Continuous Integration (CI), DevOps va DevSecOps da muhim rol o'ynaydi. Avtomatlashtirilgan testning asosiy afzalliklari quyidagilardan iborat:

  • Avtomatlashtirilgan test sinov jarayonini samaraliroq qilish orqali ishlab chiquvchilarning vaqt va pullarini tejaydi.
  • Avtomatlashtirilgan testlar xatolarni qo'lda testlarga qaraganda samaraliroq aniqlaydi.
  • Sinovlar avtomatlashtirilganda bir nechta sinov vositalari parallel ravishda amalga oshirilishi mumkin.


Dasturiy ta'minotni ishlab chiqishda, ayniqsa, dasturni qurish xatolaridan xoli bo'lishini va o'z vazifasini bajarishini ta'minlash uchun qurish jarayonida avtomatlashtirilgan testlarni o'tkazish foydalidir.

Dasturiy ta'minotni sinovdan o'tkazishni avtomatlashtirishga vaqt ajratish, kodni o'zgartirish mavjud funksionallikni buzish xavfini kamaytirish orqali ishlab chiquvchilarning vaqtini tejaydi.


Sinov rivojlanish jarayonida juda muhim bosqichdir. Barcha xatolar tuzatilganligini va mahsulot, dasturiy ta'minot yoki apparatning mo'ljallangan yoki iloji boricha maqsadli ishlashiga yaqin ishlashini ta'minlaydi. Foydalanuvchilarning ehtiyojlarini o‘z vaqtida, minimal nuqsonlar bilan qondiradigan, tejamkor dasturiy ta’minotni doimiy ravishda yetkazib berish uchun qo‘lda sinovdan o‘tkazishdan ko‘ra avtomatlashtirilgan sinov muhim ahamiyatga ega.

Dasturiy ta'minotni ishlab chiqishda qo'llaniladigan avtomatlashtirilgan testlar turlari
  • Birlik testi: Boshqa birliklar bilan integratsiyalashuvini tekshirishdan oldin bitta past darajadagi dasturni izolyatsiya qilingan muhitda sinab ko'ring.
  • Integratsiya testi: Birlik testlari va boshqa dastur komponentlari birlashtirilgan ob'ekt sifatida sinovdan o'tkaziladi.
  • Funktsional testlar: dasturiy ta'minot tizimi o'zini qanday tutishini tekshiring.
  • Ishlash testi: kutilganidan yuqori yuklar ostida dastur mustahkamligini baholang. Ishlash testlari ko'pincha qiyinchiliklarni aniqlaydi.
  • Tutun testi: Qurilish keyingi sinovlarni davom ettirish uchun etarlicha barqaror yoki yo'qligini aniqlaydi.
  • Brauzer sinovi: Dastur komponentlari turli brauzerlar bilan mos kelishini tekshiring.

Qo'lda sinov hali ham ishlab chiqishning turli vaqtlarida amalga oshiriladi, lekin bu asosan ishlab chiquvchilar yoki apparat muhandislarining o'zlari tomonidan kiritilgan o'zgarishlar kerakli ta'sirga ega bo'lganligini tezda ko'rish uchun amalga oshiriladi.

Ercole Palmeri

Innovatsion axborot byulleteni
Innovatsiyalar haqidagi eng muhim yangiliklarni o'tkazib yubormang. Ularni elektron pochta orqali olish uchun ro'yxatdan o'ting.

So'nggi maqolalar

Veeam to'lov dasturini himoya qilishdan tortib javob berish va tiklashgacha bo'lgan eng keng qamrovli yordamga ega

Veeam tomonidan ishlab chiqarilgan Coveware kiber tovlamachilik hodisalariga javob berish xizmatlarini taqdim etishda davom etadi. Coveware sud tibbiyoti va remediatsiya imkoniyatlarini taklif qiladi ...

23 Aprel 2024

Yashil va raqamli inqilob: prognozli texnik xizmat ko'rsatish neft va gaz sanoatini qanday o'zgartirmoqda

Bashoratli texnik xizmat ko'rsatish zavodlarni boshqarishga innovatsion va proaktiv yondashuv bilan neft va gaz sektorini inqilob qilmoqda.…

22 Aprel 2024

Buyuk Britaniyaning monopoliyaga qarshi regulyatori GenAI ustidan BigTech signalini oshiradi

Buyuk Britaniya CMA Big Tech kompaniyasining sun'iy intellekt bozoridagi xatti-harakatlari haqida ogohlantirish e'lon qildi. U yerda…

18 Aprel 2024

Casa Green: Italiyada barqaror kelajak uchun energiya inqilobi

Evropa Ittifoqi tomonidan binolarning energiya samaradorligini oshirish uchun ishlab chiqilgan "Yashil uylar" qarori qonunchilik jarayonini yakunladi ...

18 Aprel 2024