FAN: DASTURIY TA’MINOT QURILMASI VA EVALYTSIYASI
9-AMALIY MASHG‘ULOT
Mavzu: DASTURIY TA’MINOTNI TESTLASH
Mashg‘ulotning maqsadi. Dasturiy ta`minotlarning xavfsizliklarini baholash, testlash va mantiqiy – analitik usullarini ko`rib chiqish va nazariy tahlil qilishdan iboratdir.
Kerakli jihozlar. Kompyuter va Windows operatsion sistemasi.
AMALIY MASHG‘ULOTNING QISQACHA MAVZU BAYONI
Dasturiy maxsulot sifatini taiminlash masalasini qo'yilishi, mutaxassislar sifat ko'rsatkichlarini aniqlash, keyin esa bu ko'rsatkichlarni qoniqtiradigan optimal echimni topishga keltiriladi. Testlash, dasturiy taiminotni ishlab chiqish sifatini taiminlashning eng qatiiy, keng tarqalgan usullaridan biri bo'lib, u dasturiy maxsulot sifatini taiminlash samarali vositalaridan xisoblanadi. Texnik nuqtai – nazardan, testlash mailum berilgan kattaliklar qiymatlarida ilovalarning bajarilishi va olingan natijalarni,oldindan aniq bo'lgan (etalon) qiymatlar bilan ilovalarning turli xossalarini va xarakteristikalarini mosligini aniqlash uchun taqqoslashdan iboratdir.
Dasturiy maxsulot sifati dasturiy maxsulot buyurtmachisi, dasturchi- testlovchi, qo'llovchi mutaxassis – muxandislar, marketing bo'yicha mutaxassislar, o'rgatuvchi va sotuvchi x.k.mutaxassislar, maxsulot qanchalik “yaxshi” ligini belgilaydigan xossalar majmuasidir. Dasturiy maxsulot ishlab chiqish jarayonining asosiy fazasi bo'lmish – testlash (ilova dizayni – kodni ishlab chiqish – testlash) dasturiy maxsulot ishlab chiqishning asosiy murakkab qismi xisoblanadi.
Testlashni amalga oshirish uch bosqichdan iboratdir.
•Test majmuasini (test svite) qo'lda yoki aniq testlash muhiti uchun avtomatlashgan generasiya (testing environment) yaratish.
•Test monitori tomonidan boshqariladigan (test monitor, Test driver) testlarda dasturni tekshirish vatestlash natijalarini (test log) protokolini olish.
•Dasturning testlar majmuasi qiymatlari bo'yicha olingan natijalarni testlashni davom ettirish yoki to'xtatish xaqida echim qabul qilish uchun baxolash.
Testlashning asosiy muammosi dasturni amalga oshirish to'g'riligi xaqida xulosa chiqarish uchun testlar to'plami etarliligini va shu bilan birga shunday xususiyatga ega bo'lgan testlar to'plamini topishdan iboratdir. Yana shuni aytish mumkinki
- dasturni hamma kirish qiymatlari uchun testlab bo'lmaydi;
- dasturni hamma yaratish yo'llarida testlab bo'lmaydi.
Demak, intuitiv tasavvurimiz asosida dasturni tekshirishga imkon beruvchi testlar majjmuasini tanlash kerak.
Testlarga bo'lgan talab shundan iboratki, dastur ularning hech qaysisida to'xtashi va siklga tushib qolmasligi kerak.
Dasturiy taiminotning testlashning turlarini qo'yilgan maqsaddan kelib chiqqan holda quyidagi guruxlarga ajratish mumkin.
1. Funksional;
2. Nofunksional;
3. O’zgarishlar bilan bog'liq;
Funksional testlar funksiyalar, ularning xususiyatlari va shu bilan birga boshqa tizimlar bilan bog'lanishlarga asoslanadi va testlashning hamma darajalaridaberilishi mumkin: komponentali yoki modulli (component unit testing), integrasiyalashgan (integration testing), tizimli (system testing) va qabul qiluvchi (Acceptance testing).testlashning funksional tizimning tashqi tutishini ko'rib chiqadi, quyida funksional testlar eng ko'p tarqalganlarini keltiramiz;
•funksional testlash (functional testing)
• xavfsizlikni testlash (security and Access control testing)
• bog'lanishlarni testlash (Interoperability testing)
Testlashning funksional (nofunksional)bo'lmagan ko'rinishi. Nofunksional testlash, dasturiy taiminotning turli kattaliklar bilan o'lchanishi mumkin bo'lgan xarakteristikalarini aniqlash uchun zarur testlarni tavsiflaydi. Umuman olganda bu “tizim qanday iglashini” testlashdir. Quyida funksional testlash turlarini keltiramiz:
• unumdorlikni testlovchi turlar:
- yuklamali testlash (Performance and Load Testing)
- stressli testlash (Stress testing)
- qatiiylik yoki ishonchlilikni testlash (Stability Reliability testing)
- xajmli testlash (Volume testing)
• o'rnatishni testlash (Installation testing)
• foydalanish qulayligini testlash (Usability testing)
• rad etish va tiklashni testlash (Failover and Recovery Testing)
• konfigurasiyalashni testlash (Configuration Testing)
O’zgarishlar bilan bog'liq testlash turlari.
Testlash uchun ideal testlash ko'rsatkichlariga bo'lgan talablarni va (xususiy) ko'rsatkichlarni ko'rib chiqish kerak. Ideal ko'rsatkichlarga talablar quyidagichadir;
1. Ko'rsatkich etarli bo'lishi, yaini berilgan dasturni testlash uchun testlar soni etarli ekanligini ko'rsatishi kerak;
2. Ko'rsatkich to'liq bo'lishi kerak, yaini xatolik yuz berganda xatoni testlar ichida ko'rsatuvchi test mavjud bo'lishi kerak;
3. Ko'rsatkich ishonchli bo'lishi, yaini ixtiyoriy ikkita (uni qoniqtiruvchi) testlar majmuasi bir vaqtda dastur xatosini ko'rsatishi yoki ko'rsatmasligi kerak;
4. Ko'rsatkich oson tekshiriladigan bo'lishi kerak, yaini test hisoblari. Shuning uchun xam umumiy ideal ko'rsatkichga real xaqiqiy xususiy ko'rsatkichlar orqali erishiladi.
Ko'rsatkichlar sinflari;
1. Tizimli (struktura) ko'rsatkichlari, dastur tuzilishi haqidagi mailumotdan foydalanadi (“oq quti” ko'rsatkichi)
2. Funksional ko'rsatkichlar dasturiy maxsulotga bo'lgan talablardan kelib chiqadi (“qora quti” tushunchasidan kelib chiqadigan ko'rsatkichlar). U, dasturiy maxsulotda buyurtmachining talablari bajarilishi darajasini nazorat qilishni taiminlaydi. Bu, maxsulotga bo'lgan talablar, testlanadigan dasturiy ilovani tashqi muxit bilan aloqasini belgilaydi. Funksional testlashda, asosan “qora quti” modelidan foydalaniladi. Funksional testlash muammosi – bu eng avvalo uning qiyinligidadir, chunki dasturiy maxsulotga bo'lgan talablarni o'z ichiga olgan xujjatlarga ko'ra (Software requirement, specification, Functional specification va x.k.) qoida bo'yicha etarli darajada qayta xajmga egadir; shunga qaramasdan kerakli tekshirish xamma narsani o'z ichiga olgan bo'lishi kerak.
Quyida funksional ko'rsatkichlarning xususiy ko'riniishlari keltirilgan.
- Spesifikasiya bo'limlarini testlash (xar bir bo'lim)
- Kirish mailumotlari sinflarini tustlash Qoidalarni testlash (xar bir qoidani tekshirish)
- Chiqish mailumotlar sinflarini testlash
- Funksiyalarni testlash
3. Stoxastik testlash krsatkichlari, stoxastik gipotezani tekshirish vositalari yordamida, testlanayotgan ilova berilgan xossalarga ega ekanligi aniqlanadi.
4. Mutasiya ko'rsatkichlari, Monte Karlo yondashuvi asosida dasturiy maxsulot xossalarini tekshirishga asoslanadi. Strukurali ko'rsatkichlar. Strukturali ko'rsatkichlar, dastur “model”ning “oq quti” ko'rinishidan foydalanadi, bu esa o'z navbatida dastur kodini yoki dastur spesifikasiyasini (oqimli boshqaruv grafi ko'rinishida) bo'lishini talab qiladi. Strukturali mailumot dastur ilovasi moduli va tizimlarini ishlab chiquvchilar uchun tushunarlidir, shuning uchun xam, bu sinf ko'rsatkichlari ko'pincha modulli va integrasiyali testlash bosqichlarida foydalaniladi (unit testing, integration testing).
Strukturali ko'rsatkichlar asosiy element operator, shoxobchalar va yo'llarga asoslanadi:
• komandalarni testlash ko'rsatkichi sharti
• shoxobchalarni testlash ko'rsatkichi sharti
• yo'llarni testlash ko'rsatkichi sharti funksional ko'rsatkich – dasturiy industriya uchun eng muxim testlash ko'rsatkichidir.
- dastur va spesifikasiyalar uchun kambinasiyalangan ko'rsatkichlar.
Stoxasik ko'rsatkichlar. Stoxastik testlash murakkab dasturiy majmualarni, testlashda qo'llaniladi.
Mutasiyali ko'satkich. Bu yondashish dasturdagi kichik xatolar asosida, dasturda kolgan xatolar aniqlashga asoslangan. Bu yondashish quyidagi tushunchalarga asoslangan:
- mutasiyalar – dasturdagi kichik xatolar;
- mutantlar – bir-biridan mutasiyalari bilan farqlanuvchi dasturlar.
Mutasiyali testlash usuli – bu ishlab chiqilayotgan dasturga, suniiy ishlab chiqilgan mutant – dasturlar kiritiladi, so'ngra dastur va mutantlar bitta testlar majmuasida tekshiriladi.
Dasturlash-fan va texnikani nisbatan yosh va tez taraqqiy etuvchi sohalaridan biridir. Real ishlab chiqarishni olib borish va mavjud bo’lgan dasturli va texnikaviy jihozlarning yangilanib turish tajribalari doimo o’rganib chiqilmoqda va buning natijasida eng zamonaviy bo’lgan dasturiy ta’minotni ishlab chiqishda xizmat qiladigan yangi uslublar , metodologiyalar va texnologiyalar paydo bo’lishiga olib keladi.Yangi texnologiyalar yaratish jarayonlarini o’rganish va ularni asosiy yo’nalishlarini belgilash shu texnologiyalarni dasturlash taraqqiyotining dara-jasi dasturlovchilar hukmida bo’lgan dasturlash va mashina jihozlari xususiyatlari bilan taqqoslash orqali amalga oshirish maqsadga muvofiqdir.
Dasturlash tillari paydo bo`lishidan oldin dasturlar mashina kodlarida (mashina kodi - processor tomonidan bajariladigan xotiradagi instrukciyalar ketma-ketligidir) tuzilar edi. Katta-katta dasturlarni tuzishda juda ko`p vaqt talab qilinar, ularni xatolarini tuzatish juda qiyin, modifikaciyalash esa ko`p hollarda ilojsiz edi. Shularni hisobga olib, inson uchun tushunarli bo`lgan dasturlash tillarini tashkil qilish muammosi paydo bo`ldi. Dasturlash tillari inson uchun tushunarli bo`lgan dasturlarni tuzish imkonini beradi. Bunday dasturlarning matnini mashinalarda bajarish uchun, ularni mashina kodiga aylantirish zarur. Buning uchun translyator deb ataluvchi maxsus dasturlardan foydalaniladi.
Do'stlaringiz bilan baham: |