Tekshirish uchun konstruksiyalash deganda dasturiy ta’minotni shunday yaratish tushuniladiki, xatolar dasturiy ta’minotni yozuvchi muhandis tomonidan hamda mustaqil sinov va operatsion faoliyat davomida osongina topilishi mumkin. Tekshirish uchun konstruksiyalashni qo’llab-quvvatlaydigan o’ziga xos usullar quyidagilarni o’z ichiga oladi: kodni tekshirishni qo’llab-quvvatlash uchun kodlash standartlari, modulli test, avtomatlashtirilgan testni qo’llab-quvvatlash uchun kodni tashkil qilish, murakkab yoki tushunish qiyin til tuzilmalaridan foydalanishni cheklash va boshqalar.
“Tekshirish uchun konstruksiyalash” dasturiy ta’minotni shunday qurish kerakligini anglatadiki, dasturiy ta’minotning o’zi nosozlik sababini topishga yordam beradi, mustaqil sinov bosqichida ham turli tekshirish usullarini qo’llash uchun shaffof bo’ladi (masalan, sinov muhandislari) va ish paytida, yuzaga keladigan xatolarni tezda aniqlash va tuzatish qobiliyati ayniqsa muhimdir.
Verifikatsiya odatda qoida, standart yoki spetsifikatsiyaga muvofiqligini ta’minlash uchun ichki sifat boshqaruvi jarayonidir. Validatsiya va verifikatsiya o’rtasidagi farqni eslab qolishning oson usuli shundan iboratki, validatsiya "siz to’g’ri mahsulotni yaratganingizni" tasdiqlaydi va verifikatsiya "siz mahsulotni o’zingiz xohlagan tarzda yaratganingizni" tasdiqlaydi.
verifikatsiya - deyarli har doim amalga oshiriladi, belgilangan talablarga ega bo’lgan mahsulotlarning xususiyatlarini tekshirish usuli bilan amalga oshiriladi, natijada mahsulotning belgilangan talablarga muvofiqligi to’g’risida xulosa chiqariladi.
validatsiya - kerak bo’lganda amalga oshiriladi, belgilangan foydalanish shartlarini tahlil qilish va mahsulot xususiyatlarining ushbu talablarga muvofiqligini baholash orqali amalga oshiriladi, natijada mahsulotning xavfsizligi va undan foydalanish imkoniyati to’g’risida xulosa chiqariladi.
Validatsiyaning keng ta’rifi uni dasturiy ta’minotni sinovdan o’tkazishga tenglashtiradi. Bunday holda, tekshirishning ikkita asosiy usuli mavjud:
Dinamik tekshirish, shuningdek, eksperiment, dinamik test yoki oddiygina testlash sifatida ham tanilgan. Bu dasturiy ta’minotdagi xatolarni topish uchun foydalidir.
Statik tekshirish, shuningdek, tahlil yoki statik test sifatida ham tanilgan. Bu dasturning to’g’riligini tekshirish uchun foydalidir. Garchi bu dasturiy ta’minot aslida ishlaydigan jarayon va statik tekshirish taklif qilgan narsa o’rtasida bir yoki bir nechta ziddiyatlar mavjud bo’lganda noto’g’ri ijobiy natijalarga olib kelishi mumkin.
Dinamik tekshirish dasturiy ta’minotning ishlash vaqtida amalga oshiriladi va dasturiy ta’minotning harakatini dinamik ravishda tekshiradi; Bu odatda “Test bosqichi” deb nomlanadi. Tekshirish – bu umumiy ko’rib chiqish jarayonidir. Sinovlar hajmiga qarab, biz ularni uchta oilaga bo’lishimiz mumkin:
Kichik hajmda test: bitta funktsiya yoki sinfni sinovdan o’tkazuvchi test (Unit Test)
Katta hajmdagi test: Masalan, sinflar guruhini sinovdan o’tkazadigan test
Modul testi (bitta modul).
Integratsiya testi (bir nechta modul).
Tizim testi (butun tizim).
Qabul qilish testi: dasturiy ta’minotni qabul qilish mezonlarini tekshirish uchun rasmiy defi testi zarur.
Funktsional test.
Funktsional bo’lmagan test (ishlash, stress testi).
Dinamik dasturiy ta’minotni tekshirishning maqsadi - faoliyat natijasida yuzaga kelgan xatolarni aniqlash (masalan, biokimyoviy ma’lumotlarni tahlil qilish uchun tibbiy dasturiy ta’minotning mavjudligi); yoki bir va bir nechta amallarni qayta bajarish orqali (masalan, veb-server uchun stress testi, ya’ni amalning joriy natijasi harakat boshida bo’lgani kabi to’g’ri yoki noto’g’riligini tekshirish).
Statik tekshirish - bu dasturni ishga tushirishdan oldin kodni tekshirish orqali muvofiqligini tekshirish jarayoni. Masalan:
Tekshirish bo’yicha shartli belgilar
Noto’g’ri amaliyotlarni aniqlash
Dasturiy ta’minot ko’rsatkichlarini hisoblash
Rasmiy tekshirish
Tahlil yo’li bilan tekshirish - Tahlilning tekshirish usuli darsliklardan klassik usullar yoki umume’tirof etilgan kompyuter usullaridan foydalangan holda tekshirish, matematik hisoblar, mantiqiy baholash va hisob-kitoblar bilan tekshirishda qo’llaniladi. Tahlil moslikni aniqlash uchun namunalar olish va o’lchangan ma’lumotlar va kuzatilgan test natijalarini hisoblangan kutilgan qiymatlar bilan taqqoslashni o’z ichiga oladi.
Jiddiyroq aniqlangan holda, tekshirish faqat statik sinovga teng va artefaktlarga nisbatan qo’llanilishi uchun mo’ljallangan. Bundan tashqari, tekshirish (butun dasturiy ta’minot mahsuloti) dinamik sinovga teng bo’ladi va u ishlaydigan dasturiy mahsulotga (va uning artefaktlariga emas, talablardan tashqari) qo’llanilishi uchun mo’ljallangan. E’tibor bering, talablarni tekshirish statik yoki dinamik tarzda amalga oshirilishi mumkin.
Dasturiy ta’minotni verifikatsiya qilish quyidagicha savol qo’yadi: "Biz mahsulotni to’g’ri ishlab chiqaryapyotibmizmi?", ya’ni dasturiy ta’minot o’z xususiyatlariga mos keladimi? (Uy o’z chizmalariga qanday mos keladi).
Dasturiy ta’minotni validatsiya qilish vaqtida savol beriladi: "Biz to’g’ri mahsulot ishlab chiqayotibmizmi?"; ya’ni dastur foydalanuvchi xohlagan narsani qiladimi? (Uy egasining ehtiyojlari va xohishlariga mos kelsa).
Bugungi kunda dasturiy ta’minot sifatini ta’minlash muammosi har qachongidan ham dolzarb bo’lib, uni hal qilish uchun bugungi kunda ko’plab verifikatsiya qilish va kodlarni validatsiya qilish vositalari taklif etiladi. Shu bilan birga, nafaqat instrumentlarning o’zini amalga oshirish, tegishli vakolatlarni rivojlantirish va sinov strategiyasini yaratish muhimdir. Inson omili bilan bog’liq xavflarni bartaraf etish muhim nuqtalar va nuqsonlarni avtomatik ravisgda aniqlashni talab qiladi.
Dasturiy ta’minot deyarli har qanday infratuzilmaning markazida bo’lib, sifatni ta’minlash har qachongidan ham dolzarbdir. Deyarli barcha kompaniyalar oʻz faoliyatida narsalar interneti, biznes intellekti, sunʼiy intellekt, bulutlar, ijtimoiy tarmoqlar va hokazolardan allaqachon foydalanmoqda. Anʼanaviy axborot texnologiyalari va oʻrnatilgan tizimlar oʻz oʻrnini hamma joyda keng tarqalgan dasturiy taʼminotga boʻshatib bermoqda va korxonalarning raqamli transformatsiyasining muvaffaqiyati xizmatlarning ishonchliligi va mavjudligi uchun barcha sanoat talablariga javob beradigan dasturiy ta’minot tizimlarining ishlashiga bogʻliq.
Tashkilotlar bugungi kunda axborot texnologiyalari byudjetining qariyb 30 foizini sifatni ta’minlash va sinovdan o’tkazishga sarflaydi, bu ajablanarli emas - barcha tizimlarning yarmidan ko’pi biznes uchun muhim. Shu bilan birga, kompaniyalar va tashkilotlar o’zgarishlarga javob berish va xavfsiz dasturiy ta’minotni nazorat ostida chiqarish uchun rasmiylashtirilgan jarayonlar va usullarni amalga oshirish uchun imkon qadar moslashuvchan bo’lishi kerak. Internet orqali dasturiy ta’minotni avtomatik yangilash mexanizmlari, DevOps usullari va "uzluksiz dasturiy ta’minot injiniringi" faol joriy etilmoqda, bu esa umumiy ish
qobiliyatini so’nggi paytlardagiga qaraganda ancha puxtaroq talab qilinadigan doimiy tekshirish va tasdiqlash jarayonlariga bo’lgan ehtiyojni oshiradi.
Foydalanuvchi talabi va sifatni yaxshilash uchun tezkor va uzluksiz dasturiy ta’minotni ishlab chiqish usullari dasturiy ta’minotni ishlab chiquvchilar va foydalanuvchilarga ishlatish uchun qulay vositalar bilan qo’llab-quvvatlanishi kerak. Bundan tashqari, sifatni baholash uchinchi shaxs - akkreditatsiyalangan laboratoriya yoki sertifikatlashtirish markazi tomonidan amalga oshirilishi mumkin. Dasturiy ta’minotni verifikatsiya va validatsiya qilish usullarini tanlash ishlab chiqish modeliga (V-model, kaskad, spiral va boshqalar) va standartga (ISO / IEC 25000 SQUARE, ISO / IEC 12207: 2017) bog’liq. Dasturiy ta’minotni ishlab chiqish jarayonining sifatini tekshirish va tasdiqlash jarayonlarini tartibga soluvchi ISO / IEC 12207 standarti, shuningdek, har bir ishlab chiqish vazifasi sinov jarayoni bilan bog’liq bo’lgan V-modeli bilan tartibga solinadi. Masalan, modulli testlar manba kodining past darajadagi arxitekturaga muvofiqligini tasdiqlaydi, integratsiya testlari avval sinovdan o’tgan komponentlarning muvofiqligini (integratsiyasini) tasdiqlaydi, tizim testlari to’liq integratsiyalangan mahsulot spetsifikatsiyalarga javob beradimi yoki yo’qligini tasdiqlaydi va qabul qilish testlari mahsulot foydalanuvchi kutganiga mos keladimi yoki yo’qligini tasdiqlaydi.Dasturiy mahsulot sifati bilan bog’liq ISO 25000 seriyali standartlarda quyidagi dasturiy
ta’minot xususiyatlari ajralib turadi:
funksional yaroqlilik – mahsulot yoki tizimning belgilangan sharoitlarda dasturiy ta’minotdan foydalanishda e’lon qilingan funksiyalarga, e’lon qilingan va nazarda tutilgan ehtiyojlarga muvofiqligi darajasi;
texnik xizmat ko’rsatish - mahsulot yoki tizimni o’zgartirish, uni sozlash yoki atrof-muhit yoki talablarning o’zgarishiga moslashtirishning qulayligi va moslashuvchanligi;
foydalanish qulayligi – foydalanishning berilgan kontekstida foydalanuvchilar tomonidan belgilangan maqsadlarga samarali erishish uchun mahsulot yoki tizim bilan ishlashning qulayligi;
Xavfsizlik – odamlar yoki tizimlar o’z imtiyozlariga muvofiq ma’lumotlardan foydalanish imkoniyatiga ega bo’lishi sharti bilan mahsulot yoki tizimning ma’lumotlarni himoya qilish darajasi;
nisbiy unumdorlik - berilgan sharoitlarda unumdorlik va foydalaniladigan resurslar miqdori nisbati.
Kodlash bosqichida ko’pincha statik tahlil vositalaridan foydalaniladi, bu sizga kodning standartlarga muvofiqligini to’g’ridan-to’g’ri integratsiyalashgan ishlab chiqish muhitida nazorat qilish imkonini beradi. Shu bilan birga, statik tahlil doirasida modullar tuzilishi va dasturiy ta’minot arxitekturasining xususiyatlari tekshiriladi, shuning uchun 2-rasmda. 2, statik tahlil vositalari maydoni kod yozish bilan bir xil darajada joylashgan, ammo arxitektura verifikatsiyasi bilan bog’liq testlarni oladi. Statik tahlil vositalari barcha to’rtta sifat atributlari bilan bog’liqdir.
Do'stlaringiz bilan baham: |