3-mavzu:
Dasturiy kodni testlash. Uning maqsad va vazifalari.
REJA:
1. “Dasturiy ta’minotni testlash va tekshirish” faniga kirish.
2. Dasturiy ta’minotni ishlab chiqish jarayonini testlash va tekshirish roli.
3. Asosiy tushunchalar.
Dasturiy kodni testlash – dastur kodi bajariluvchi jarayon bo‟lib, unda mavjud
xatoliklarni ko‟rsatishga yo‟naltirilgan. Bu yerda xatoliklar muayyan sharoitda tizimning
kutilmagan holatiga (ya‟ni talablarga mos bo‟lmagan holat) olib keluvchi dastur kodining
bir qismi deb tushuniladi. Tizimning kutilmagan holati ish jarayonidan chiqib ketishga va
rad etishga olib kelishi mumkin. Bunday holatda dastur kodida xatoliklar mavjud deb
yuritiladi. Ba‟zi xatoliklar tizim ishlashiga halaqit bermaydigan ahamiyatsiz
muammolarni keltirib chiqaradi, ammo bir qanchasi ish jarayonini qiyinlashtiradi. Bu
holat esa o‟rtacha yoki kam ahamiyatli xatolik deb yuritiladi.
Dastur kodini testlashning vazifasi – tizim xatoliklari yuzaga kelish shartlarni
aniqlash va bu shartlar asosida „rotokol tuzish. Odatda testlash vazifasiga dasturiy kodda
aniq xatoliklar sohasini ko‟rsatish kirmaydi va hech qachon xatoliklarni to‟g‟irlash ham
kirmaydi, bu testlash tizimining natijasi chiqqanda bajariluvchi sozlashning vazifasiga
kiradi.
Dasturiy kodni testlash „rodsedurasini qo‟llashdan maqsad – so‟nngi, tayyor
mahsulotda mavjud xatoliklar sonini kamaytirish. Testlash tizim dastur kodida umuman
xatoliklar bo‟lmasligini kafolatlay olmaydi. Ammo verifikatsiya va validatsiya
jarayonlarining birgalikda olib borilishi natijasida ziddiyatlarni yo‟qotish va loyiha
hujjatlarning to‟liqligini ta‟minlash, hamda yetuk darajada tayyorlangan testlash tizim
barcha ko‟rib chiqilgan holatlarda talablarni qondirishini kafolatlaydi.
Yuqori ishonchlilikka ega bo‟lgan tizimni (masalan, aviatsiya) ishlab chiqishda
ishonchlilikni kafolatlashga aniq ishlab chiqilgan testlash tizimi orqali erishiladi. Uning
boshqa hayot sikllari bilan bo‟gliqligi aniqlash, sonli xarakteristiklalarni kiritish
testlashning muvaffaqqiyatli baholashga imkon beradi. Bunda tizimning ishonchliligiga
talab qanchalik yuqori bo‟lsa, shunchalik mustahkam tizim hosil bo‟ladi.
Birinchi navbatda aniq tizimning aniq bo‟lmagan testlash natijalari, “yaxshi tashkil
etilgan jarayon, sifatli natijani beradi” yondashuvini qo‟llagan holda testlash jarayoni
umumiy tashkil etish bilan tanishib chiqamiz. Bunday yondashuv ko‟‟gina xalqaro va
tarmoqli sifat standartlariga tegishli hisoblanadi. Bunda ishlab chiqiluvchi tizimning sifati
mustaqil boshqarilmaydigan natija emas, ishlab chiquvchi jarayonni va testlashni tashkil
etuvchi xulosa hisoblanadi.
Zamonaviy dasturiy tizimlar juda katta hajmga ega. Ularning dastur kodini
testlashda funksional dekom‟ozitsiya usulidan foydalaniladi. Tizim funksional va
interfeys talablariga ega bo‟lgan alohida modullar(klasslar, ismlar fazosi va h.k.)ga
ajratiladi. So‟ng har bir modul alohida testlanadi ya‟ni modulli testlash amalga oshiriladi,
keyin esa alohida modullar birlashtirilib, kattaroq konfiguratsiyaga ega bo‟lgan
integratsion testlash amalga oshiriladi va nihoyat tizim to‟liq testlanadi ya‟ni tizimli
testlash bajariladi.
Dasturiy kodda modulli, integratsion va tizimli testlash umumiylikka ega.
Modulli testlashda har bir modul talablarga mos ravishda dasturiy kodning
muammoli sohasi bo‟lmagan holda testlanadi. Modullar tizimdan tashqari ishlamaydi,
ular ma‟lumotlarni boshqa modullardan oladi va qayta ishlab, keyingi modulga uzatadi.
Bu esa bir tomondan modullarni tizimdan ajratish va tizimning „otensial xatoliklarga
ta‟sirini chiqarib tashlash, ikkinchi tomondan modulni testlash muhitidan foydalangan
holdakerakli barcha ma‟lumotlar bilan ta‟minlashga yordam beradi.
Testlash muhitining vazifasi – modul murojat qiluvchi barcha tashqi interfeyslarni
to‟g‟rilashdir.
Testlashning ti‟ik „rodsedurasi tayyorlashdan va testli masalalardan (testlardan)
tashkil to‟gan. Har bir test modulda yuzaga keluvchi ma‟lum bir hodisani tekshiradi va
jo‟natmalar haqida ma‟lumot va ma‟lumotlarni qayta ishlashni bajaruvchi testlash
senariysi iborat bo‟lgan modulga kiruvchi qiymatlar ro‟yhatidan, hamda aniq holatdagi
moduldan chiquvchi qiymatlar ro‟yhatidan tashkil to‟gan. Testlash senariysida
modulning ichki ma‟lumotlariga murojat qilish yo‟qotib, barcha bog‟lanishlar tashqi
interfeys orqali amalga oshirilishi kerak.
Testlash masalasini bajarish testlash senariysinining dastruriy ishlab chiqishini
kirituvchi testlash muhitini qo‟llab-quvvatlaydi. Bu jarayon modulga kiruvchi
ma‟lumotlarni yuborishdan boshlanadi. Senariy bajarilgan natijadagi moduldan olingan
haqiqiy chiquvchi ma‟lumotlar saqlanadi va kutilayotgan natija bilan solishtiriladi. Agar
ular mos kelsa, testdan o‟tgan hisoblanadi, aks holda esa o‟tmagan. O‟tmagan test yo
testlanayotgan moduldagi, yo testlash muhitidagi, yoki testlash haqidagi ma‟lumotda
xatolikni ko‟rsatadi.
Barcha testlash masalari ro‟yhati dasturiy modulni testlash „rodsedurasini
aniqlovchi asosiy hujjat hisoblanuvchi test-loyihadan iborat. Test-loyiha o‟z ichiga
faqatgina testlash masalalarini emas, balki yana muhim bo‟lgan narsani kuzatish ketma-
ketligini oladi.
Testlashda tez-tez tizimga bo‟lgan talablargina emas, dastur kodining
testlanuvchi modul strukturasi ham hisobga olinishi kerak bo‟ladi. Bunday vaziyatlarda
testlar dasturchining ti‟ik xatoliklarini qabul qilish oqibatida noto‟g‟ri izohlangan
talablarni chaqiruvchi holatida tuziladi. Tekshiruvlar chegaraviy shartlarga ya‟ni
klasslarga o‟zgartiriladi. Tizimning berilmagan talablarga bo‟lgan imkoniyati mavjud
bo‟lmaganda, dastur kodi testlar bilan qo‟langanda ya‟ni u yoki bu til konstruksiyasini
barcha testlash masalalari amalga oshirilgandagi natijalarida bajarishda turli xil baholar
kafolatlanadi.
Do'stlaringiz bilan baham: |