KompyuterlarDasturiy ta'minot

Sinov dasturlari - dasturiy mahsulotdagi xatoliklarni aniqlash jarayoni

Dasturiy ta'minotni ishlab chiqishda, ishlab chiqarish jarayonining muhim qismi dastur sinovlaridan foydalanadi. Bu nimani anglatadi va ushbu faoliyat qanday amalga oshirilishi ushbu maqolada muhokama qilinadi.

Sinov, nima deyiladi?

Bu xato kodi ishlaydigan joylarni aniqlash uchun dasturiy ta'minot ishlaydigan jarayon deb tushuniladi. Eng yaxshi natijaga erishish uchun kirish ma'lumotlarining qiyin to'plamlarini ataylab qurish kerak. Auditorning asosiy maqsadi dasturiy ta'minot mahsulotining ishlamay qolishi uchun optimal imkoniyatlar yaratishdan iborat . Ba'zida ishlab chiqilgan dasturning sinovi normal ishlashni tekshirish va funktsiyalarni bajarish uchun soddalashtirilishi mumkin. Bu vaqtni tejaydi, lekin odatda ishonchsiz dasturiy ta'minot, foydalanuvchi noroziligi va boshqalar bilan birga keladi.

Faoliyat

Qanday yaxshi va tez xatolar kerakli sifatli dasturiy ta'minotni ishlab chiqish xarajatlari va muddatlariga sezilarli ta'sir ko'rsatadi. Shunday qilib, testchilar ish haqini dasturchilarga nisbatan bir necha baravar kam olishiga qaramasdan, ularning xizmatlariga xarajatlar, odatda, loyihaning umumiy qiymatining 30-40 foiziga etadi. Bu xodimlar soniga bog'liq, chunki xatolikni topish odatiy va juda murakkab jarayon. Ammo, dasturiy ta'minot sinovlarining aniq sonidan o'tgan bo'lsa ham, hech qanday xatolik bo'lmaydi, 100% kafolat yo'q. Ular qachon paydo bo'lishlari ma'lum emas. Sinovlarga xatolarni topishga ko'proq imkon beradigan tekshiruv turlarini tanlashni rag'batlantirish uchun turli motivatsion vositalar qo'llaniladi: axloqiy va moddiy jihatdan.

Ishga yaqinlashish

Eng maqbul holat - bu dasturiy ta'minotni boshidan boshlab xatolikka yo'l qo'ymaslik uchun turli xil mexanizmlarni qo'llash. Buning uchun tegishli arxitektura dizayniga, aniq texnik topshiriqlarga e'tibor qaratish va loyiha boshlangandan keyin tuzatishlarni amalga oshirish kerak emas. Bunday holatda, tester yakuniy natijada qoladigan kam sonli xatolarni aniqlash va aniqlash vazifasi bilan shug'ullanadi. Bu vaqtni ham, pulni ham tejaydi.

Sinov nimadan iborat?

Bu dasturning kodlari etishmovchiligini muvaffaqiyatli aniqlash uchun zarur bo'lgan inspektor faoliyatining muhim jihati. Dasturning to'g'riligini kuzatish uchun ular zarur. Sinovga nima kiradi? U ularning dastlabki ma'lumotlari va qiymatlaridan iborat bo'lib, ular natijada (yoki oraliqda) olinishi kerak. Muammolarni va ziddiyatlarni muvaffaqiyatli aniqlash uchun algoritm ishlab chiqilganidan keyin testlar tuzilishi kerak, lekin dasturlash boshlanmadi. Va kerakli ma'lumotlarni hisoblashda bir necha yondashuvlardan foydalanish kerak. Bunday holda, xatoni aniqlash ehtimoli kuchayadi, chunki kodni boshqa nuqtai nazardan o'rganish mumkin. Murakkab testlar tugallangan dasturiy ta'minot mahsulotining tashqi ta'sirini, shuningdek, uning ish algoritmlarini tekshirishni ta'minlashi kerak. Ayrim hollarda cheklov va nojo'ya holatlar aniqlanadi. Shunday qilib, xatolar bilan ishlash amaliyotida ko'pincha aylanish jarayoni rejalashtirilganidan bir marta kamroq yoki ko'proq ishlayotganligi aniqlanishi mumkin. Bundan tashqari, kerakli natijani turli mashinalarga mos kelishini tekshirish uchun kompyuterni sinash muhimdir. Bu dasturiy ta'minotni barcha kompyuterlarda ishlashiga ishonch hosil qilish uchun talab qilinadi. Bundan tashqari, rivojlanish amalga oshiriladigan kompyuterni sinovdan o'tkazish ko'p platformali rivojlanishni rivojlantirishda muhim ahamiyatga ega.

Xatlarni topish san'ati

Dasturlar odatda katta hajmli ma'lumotlar bilan ishlashga mo'ljallangan. Uni butunlay yaratish kerakmi? Yo'q, bunday emas. Dasturning "minaturizatsiya" amaliyoti keng tarqaldi. Bu holatda, ma'lumotlarning miqdoridan foydalanish kerak bo'lgan miqdorga nisbatan o'rtacha kamayish bo'ladi. Keling, bu misolni ko'rib chiqaylik: 50x50 matritsa yaratilgan dastur mavjud. Boshqacha aytganda - 2500 ming qiymatdan qo'lda kiritishingiz kerak. Bu, albatta, mumkin, ammo juda uzoq vaqt talab etiladi. Lekin ishlashni test qilish uchun, dasturiy ta'minot mahsuloti o'lchami 5x5 bo'lgan matritsani oladi. Buning uchun siz 25 ta qiymatni kiritishingiz kerak. Agar bu holatda oddiy, xatosiz ish bo'lsa, unda hamma narsa tartibda bo'ladi. Garchi bu yerda tuzatishlar mavjud bo'lsa-da, bu minaturizatsiya sharoitida o'zgarishlar ro'y beradi va natijada o'zgarishlar aniq va vaqtinchalik yo'q bo'lib ketadi. Bu ham juda kam uchraydi, biroq yangi xatolar yuzaga keladi.

Maqsadlar

Dasturni sinovdan o'tkazish oson ish emas, chunki bu jarayon to'liq rasmiylashtirilmaydi. Katta dasturlarda deyarli hech qachon standart talab qilinmaydi. Shu sababli, ko'rsatma sifatida, ba'zi bir bilvosita ma'lumotlar ishlatiladi, ammo ular disk raskadrovka qilingan dasturiy ta'minot ishlanmalari xususiyatlarini va funktsiyalarini to'liq aks ettira olmaydi. Va ular dasturiy mahsulot sinovdan o'tkazilgunga qadar to'g'ri natijani hisoblashlari uchun tanlanishi kerak. Agar bu oldindan bajarilmasa, unda taxminan hamma narsani taxmin qilish vasvasasi bor va agar mashina natijasi kutilgan diapazonga tushib qolsa, unda hamma narsa to'g'ridir.

Turli sharoitlarda tekshiring

Odatda, dasturlarni sinab ko'rish cheklangan intervalli ichida funktsiyalarni minimal aniqlash uchun zarur bo'lgan jildlarda paydo bo'ladi. Faoliyatlar parametrlarning o'zgarishi, shuningdek, ularning ish sharoitlari bilan amalga oshiriladi. Sinov jarayonini uch bosqichga bo'lish mumkin:

  • Oddiy sharoitlarda tekshiring. Bu holda, ishlab chiqilgan dasturiy ta'minotning asosiy funktsiyalari sinovdan o'tkaziladi. Natija kutilganidek bo'lishi kerak.
  • Favqulodda vaziyatlarda tekshiring. Bunday hollarda, u yaratilgan dasturiy ta'minot samaradorligiga salbiy ta'sir ko'rsatishi mumkin bo'lgan chegara ma'lumotlarni olishni anglatadi. Masalan, siz juda katta yoki kichik raqamlar bilan ishlay olasiz, yoki umuman, ma'lumotlarning to'liq etishmasligi.
  • Istisnolarni tekshirish. U qayta ishlashdan tashqaridagi ma'lumotlarni ishlatishni o'z ichiga oladi. Bunday hollarda, dasturiy ta'minot ularni hisoblash uchun mos deb hisoblasa va ular ishonchli natijaga erishsa juda yomon. Bunday holatlarda to'g'ri ishlov berilmagan har qanday ma'lumotlarni rad etishga e'tibor berish kerak. Shuningdek, ushbu foydalanuvchi haqida ma'lumot berish kerak

Dastur sinovlari: turlari

Dasturiy ta'minotni xatolikka yo'l qo'ymaslik juda qiyin. Bu juda ko'p vaqt talab etadi. Yaxshi mahsulotni olish uchun "Alpha" va "Beta" kabi ikki xil sinovdan foydalaniladi. Ular nima? Alfa sinovlari haqida gapirganda, u "laboratoriya" sharoitida ishlab chiquvchilar tomonidan olib boriladigan sinovni bildiradi. Dastur oxirgi foydalanuvchilarga o'tkazilishidan oldin testdagi so'nggi qadamdir. Shuning uchun ishlab chiquvchilar maksimal darajani ochishga harakat qilmoqdalar. Operatsion qulayligi uchun ma'lumotlar muammolar xronologiyasini yaratish va ularni bartaraf etish uchun ma'lumotlarni kiritish mumkin. Beta testlari dasturni cheklangan miqdordagi foydalanuvchilarga etkazib berishdir, chunki ular dasturdan foydalanishi va o'tkazib yuborilgan xatolarni aniqlab olishlari mumkin. Ushbu holatda, xususan, dasturiy ta'minot maqsadiga muvofiq foydalanilmaydi. Buning sababi shundaki, kamchiliklar oldin hech narsa ko'rilmagan joyda aniqlanadi. Bu juda oddiy va bu haqda tashvishlanishning hojati yo'q.

Sinovlarni yakunlash

Agar avvalgi bosqichlar muvaffaqiyatli bajarilsa, u holda qabul sinovidan o'tadi. Bunday holda, u faqat rasmiyatchilikka aylanadi. Ushbu tekshiruv davomida qo'shimcha muammolar mavjud emasligi va dasturiy ta'minotni bozorga chiqarish mumkinligi haqida tasdiq bor. Yakuniy natija qanchalik muhim bo'lsa, audit o'tkazilishi kerak. Barcha bosqichlar muvaffaqiyatli o'tishi kerak. Bu sinov jarayoni odatda umumiy ko'rinishga ega. Keling, texnik tafsilotlarga o'tamiz va test dasturlari kabi foydali vositalar to'g'risida gaplashaylik. Ular nima va qanday holatlarda ishlatiladi?

Avtomatlashtirilgan test

Ilgari, ishlab chiqilgan dasturiy ta'minotni dinamik tahlil qilish - bu juda og'ir yondashuv bo'lib, bu nuqsonlarni aniqlash uchun ishlatilmaydi. Ammo dasturlarning murakkabligi va hajmining oshishi tufayli qarama-qarshilik paydo bo'ldi. Avtomatlashtirilgan testdan foydalanish eng muhim ustuvorliklarning samaradorligi va xavfsizligi bo'lgan joylarda qo'llaniladi. Va ular har qanday kirish ma'lumotlari bilan bo'lishi kerak. Ushbu testlardan foydalanishni tavsiya qiladigan dasturlarga misol sifatida quyidagilar ko'rsatilishi mumkin: tarmoq protokollari, veb-serverlar, qum qutilari. Keyinchalik bunday faoliyat uchun ishlatilishi mumkin bo'lgan bir nechta misollarni ko'rib chiqamiz. Agar siz bepul test dasturlari bilan qiziqsangiz, ular orasida sifatli bo'lganlarni topish juda qiyin. Lekin yaxshi tasdiqlangan loyihalarning buzilgan "pirat" versiyalari bor, shuning uchun ularning xizmatlariga murojaat qilishingiz mumkin.

Uydirma

Ushbu vosita dinamik tahlil rejimida dasturlarni sinab ko'rish orqali kamchiliklarni aniqlashga yordam beradi. Ma'lumot yig'adi va ishlab chiqilgan ob'ektning ijro etilishini tahlil qiladi. Sinovga xatolikka sabab bo'lgan yoki mavjud cheklovlarni to'sib qo'yadigan asosiy ma'lumotlar to'plami beriladi. Yaxshi tekshirish algoritmining mavjudligi tufayli juda ko'p vaziyat yuzaga keladi. Dastur turli vaziyatlarni modellashtirishga va qobiliyatning yuzaga kelishi mumkin bo'lgan vaziyatlarni yaratishga imkon beruvchi turli xil kirish ma'lumotlar to'plamlarini oladi. Dasturning muhim afzalligi euuristik metrikani qo'llash hisoblanadi. Muammo bo'lsa, dastur xatoligi juda yuqori. Lekin, bu dastur faqat bitta yorliqli kirish soketini yoki faylini tekshirish kabi cheklovlarga ega. Dasturlarni test qilish kabi operatsiyani bajarishda, kutubxonalardan foydalanishga bog'liq nol ko'rsatkichlar, cheksiz tugmalar, noto'g'ri manzillar yoki arızalar bilan bog'liq muammolar haqida batafsil ma'lumot beriladi. Albatta, bu aniqlangan xatolarning to'liq ro'yxati emas, balki ularning umumiy misollaridir. Kamchiliklarni bartaraf qilish, afsuski, ishlab chiquvchilarga kerak bo'ladi - bu maqsadlar uchun avtomatik uskunalar mos kelmaydi.

KLEE

Bu xotirani test qilish uchun yaxshi dastur. U taxminan 50 ta tizim chaqiruvlarini va ko'p sonli virtual jarayonlarni to'xtatib, parallel va alohida ravishda amalga oshiriladi. Ammo umuman olganda, dastur alohida shubhali joylarni qidirishni emas, balki kodning maksimal miqdorini ishlating va ishlatilgan ma'lumotlarni uzatish yo'llarini tahlil qiladi. Shuning uchun, dasturning sinov muddati ob'ekt o'lchamiga bog'liq. Belgilangan vaqt bet, ramziy jarayonlarda amalga oshiriladi. Ular sinovdan o'tgan dasturda vazifalarni bajarishning mumkin bo'lgan usullaridan biridir. Parallel operatsiya tufayli, o'rganilayotgan dasturning ko'plab variantlarini tahlil qilish mumkin. Sinov tugaganidan so'ng, har bir yo'l uchun testdan boshlangan kirish ma'lumotlarining to'plamlari. Shuni ta'kidlash kerakki, KLEE-dan foydalanib test dasturlari ko'p bo'lmagan sapmalarni aniqlashga yordam beradi. O'n yillar davomida ishlab chiqilgan dasturlarda ham muammolar mavjud.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 uz.delachieve.com. Theme powered by WordPress.