Dasturiy ta’minot uchun umumiy talablar: Funksional talablar. Tizim nima ishni bajarish va qanday shakl almashtirish (kirish qiymatlarini chiqish qiymatlariga) lozimligini aniq tasniflab beradi;
- nofunksional talablar
- unumdorlik (samaradorlik);
- ishonchlilik;
- to’lalik;
- turg’unlik;
- xavfsizlik;
- boshqalar.
Tizimli testlashning asosiy vazifasi – bu tizimning umumiy holda, ishlashi bilan bog’liq bo’lgan nuqsonlarini aniqlashdan iborat. Bunday nuqsonlarga misol sifatida quyidagilarni keltirib o’tish mumkun:
- tizim resurslarini noto’g’ri ishlatilishi;
- foydalanuvchi tomonidan amalga oshiriladigan ma’lumotlarning ko’zda tutilmagan kombinatsiyalari;
tashqi muhit bilan birgalikda ishlay olmasligi;
foydalanishdagi ko’zda tutilmagan senariylar (vaziyatlar);
noto’g’ri yoki mavjut bo’lmagan funksionallik;
foydalanishdagi noqulaylik va boshqalar.
Dasturiy ta’minotni tizimli testlashni kim va qanday amalga oshiradi??? Tizimli testlash yetarlicha ko’p resurs talab qiladigan jarayon bo’lganligi sababli, uni o’tkazish uchun ko’pincha aloxida testlovchilar jamoasi ajratiladi, bundan tashqari ko’pgina holatlarda Dtni ishlab chiqish va shu fazagacha testlash jarayonida ishtirok etgan testlovchilarga bog’liq bo’lmagan tashkilot tomonidan amalga oshiriladi va shunday qilish tavsiya etiladi. Shu narsani eslatib o’tish lozimki, ma’lum bir turdagi dasturiy ta’minotlarniishlab chiqishning xar bir bosqichida testlashni mustaqil testlovchilar o’tkazishimajburiy bo’lib xisoblanadi. Dasturiy ta’minotni tizimli testlash “qora quti” usuli orqali amalga oshiriladi. Bunday testlashda dasturiy ta’minot tuzilmasi xech qanday axamiyatga ega emas.
Tizimli testlash turlari Tizimli testlashning quyidagicha turlari mavjud:
- funksional testlash;
samaradorlikni testlash;
“yuklamali” (nagruzochnoye) yoki stressli testlash;
Tizimli testlash jarayonida, odatda yuqorida keltirib o’tilgan testlashlarning barchasi xam amalga oshirilmaydi, bu narsa testlanayotgan tizimga bog’liq.
Funksional testlash. Bunda tizim foydalanuvchi nuqtai nazaridan kelib chiqqan xolda tekshiriladi. Bunday testlash qora quti usuli orqali amalga oshirilganligi uchun ekvivalentlik sinflaridan foydalanish tavsif etiladi. Funksional testlashning to’lalik mezoni – bu funksional talablarini testlar bilan to’la qoplanganligi va ekvivalentlik sinflarini to’la testlanganligidir, y’ani aynan quyidagilar:
barcha funksional talablar testlangan bo’lishi;
ruxsat etilgan kirish ma’lumotlarining barcha sinflari tizim tomonidan korrekt qayta ishlanishi lozim;
ruxsat etilmagan kirish ma’lumotlarining barcha sinflari tizimini barqaror ishlashiga ta’sir etmagan xolda tizim tomonidan chiqarib tashlashi lozim;
test misollarida tizimning barcha mumkun bo’lgan chiqish ma’lumotlar sinfi ishlab chiqilgan bo’lishi mumkun;
tizimning bo’lishi mumkun bo’lgan barcha ichki xolatlari va bir xolatdan boshqa xolatga o’tishning barcha variantlari testlanishi lozim.
Samaradorlikni testlash. Bunday testlashdan maqsad tizim tomonidan foydalanuvchi so’rovlarini qayta ishlash samaradorlik darajasini tekshirishdan iborat. Samaradorlikni testlash tizimiga turli konfiguratsiyali jixozlarda turlicha yuklamalar berish orqali bajariladi. Tizim samaradorligiga ta’sir etuvchi uchta omilni aloxida keltirib o’tish mumkun: tizim tomonidan xizmat ko’rsatiladigan oqimlar soni (masalan, faol bog’lanishi mumkun bo’lgan foydalanuvchilar soni) tizimli resurslarning bo’shlari soni, apparat resurslarining bo’shlari soni. Bunday testlash orqali ortiqcha nagruzka yoki tizimli resurslar yetishmovchiligi sharoitida tizimning nozik joylari va nuqsonlarni aniqlash mumkun bo’ladi. Testlash natijasiga ko’ra tizimdagi kam – ko’stlar to’ldiriladi, tizim resurslarini ajratish va taqsimlash algoritmlari o’zgartiriladi.
Tizim samaradorligiga tegishli bo’lgan barcha talablar aniq ravshan keltirilishi xamda samaradorlik ko’rsatkichligini sonli baxolarini o’z ichiga olish shart, ya’ni masalan – foydalanuvchi so’roviga tizimni javob qaytarish vaqti maqbul bo’lsin degan talab testlash uchun yaroqsiz hisoblanadi, talab yaroqli bo’lishi uchun aniq vaqt ko’rsatilishi lozim, masalan – foydalanuvchi so’roviga tizimni javob qaytarish vaqti 2 sekunddan ortiq bo’lmasin. Bunday ko’rinishdagi testlash xisobotida apparatli va tizimli dasturiy ta’minotni yuklash ko’rsatkichlar (protsessor sikllarisoni, ajratilgan hotira, tizimli resurslarning bo’shlari soni va boshqalar) xam saqlanadi. Bundan tashqari tizimning ishlash tezligi ko’rsatkichlari xam muhum hisoblanadi. Masalan, vaqt birligi ichida qayta ishlangan so’rovlar soni, xar bir navbatdagi kelgan so’rovlarga xizmat ko’rsatishni boshlash vaqt oralig’i, vaqtning turli momentlarida javob qaytarilishi vaqtining teng taqsimlanganligi va boshqalar.
Samaradorlikni testlashda go’yoki tizim odatiy xolda ishlamoqda degan farazda, tizimni kirish ma’lumotlar oqimi bilan ta’minlab berish uchun so’rovlar generatori mavjud bo’lishi talab etiladi. Test muhiti dasturiy komponentlardan tashqari yana apparat komponentlarni xam o’z ichiga olishi lozim bo’lib, bunday test stendida ruxsat etilganresurslarni turli bosqichlarini modellashtirish imkoniyati bo’lishi lozim.
Stressli testlash. Stressli testlash Stressli testlash samaradorlikni testlash bilan ko‘pgina umumiylikka ega, lekin uning asosiy vazifasi tizimni samaradorligini aniqlash emas, balki tizim uchun ajratilgan resurslar maksimal darajada yetarli ѐki aksi, ya’ni tizim normal ishlashi uchun zarur bo‘ladigan resurslarga o‘ta yetishmovchilik sharoitida tizim samaradorligi va turg‘unligini baholashdan iborat.
Stressli testlashning asosiy maqsadi – tizimni ishdan chiqaruvchi va tizim normal faoliyatini davom ettira olmaydigan shartlarni aniqlash. Bunday turdagi testlashni o‘tkazishda ham samaradorlikni testlashda ishlatiladigan vositalardan foydalaniladi. Biroq, farqi shundan iboratki, stressli testlashda yuklama generatori foydalanuvchi so‘rovlarini mumkin qadar maksimal tezlikda generatsiya qilishi ѐki so‘rov ma’lumotlarini shunday ishlab chiqishi lozimki, ular qayta ishlash xajmi bo‘yicha maksimal bo‘lishi lozim.
Stressli testlashni o‘tkazish ayniqsa web va ochiq murojaatli
tizimlarda muhim ahamiyat kasb etadi, chunki bunday tizimlarda, ko‘pincha,
nagruzka darajasini bashoratlash juda murakkab bo‘lib hisoblanadi.
Konfiguratsion testlash. Hozirgi kunda ishlab chiqilaѐtgan juda
ko‘plab dasturiy tizimlar turli-tuman qurilmalarda ishlatilishga mo‘ljallangan. Lekin, afsuski, ularning dastur va apparat jihatidan bir - biriga mos kelmay qolishligi muammosi haligacha mavjud. Bunda tizimning quyidagi xususiyatlari tekshiriladi:
barcha qo‘llab-quvvatlovchi apparat ta’minotda hamda boshqa tizimlar bilan birgalikda korrekt ishlashi;
ixtiѐriy biror-bir qurilmani boshqa shunga o‘xshashiga
almashtirilganda ham barqaror ishlashda davom etishi, ya’ni tizim
qurilmani almashtirish va yangi qurilma bilan ishni boshlash vaqtida ham to‘xtalishlarni keltirib chiqarmasligi;
qurilmada standart (masalan, printerda qog‘oz tugaganligini
anglatuvchi signal) va nostandart (masalan, energiya ta’minotdagi
uzilish) vaziyatlarda vujudga keladigan muammolarni korrekt qayta
ishlashi.
Xavfsizlikni testlash. Agar dasturiy tizim ma’lumotlarni
saqlash ѐki qayta ishlash uchun mo‘ljallangan bo‘lib, ushbu ma’lumotlar ma’lum bir ko‘rinishdagi sirlarni (shaxsiy, tijorat, davlat va boshqa)namoѐn etadigan bo‘lsa, u holda bunday tizimlarning xavfsizlik jihatlariga katta e’tibor qaratilgan bo‘ladi. Tizim xavfsizligi uchun qo‘yilgan talablar ham shunga mos ravishda qat’iy bo‘ladi. Mazkur talablar tizim xavfsizligini testlashda tekshiriladi.
Bunday testlashni o‘tkazish mobaynida quyidagilar tekshiriladi:
Ma’lumot yo‘qotilmasligi;
ma’lumotga ziyon yetmasligi (buzilmasligi);
ma’lumot almashtirib qo‘yilmasligi (ma’lumotni almashtirib
qo‘yish imkoniyati yo‘qligi);
ruxsatsiz foydalanish huquqini olish imkoniyati yo‘qligi (xattoki,
dasturiy tizimdagi zaiflikdan foydalangan holda).
Tizim ishonchliligi va to‘xtalishlardan keyingi tiklanishni
testlash. Tizim ixtiѐriy vaziyatda korrekt ishlashi uchun ixtiyoriy
muammo bilan bog‘liq bo‘lgan turli hil to‘xtalishlardan so‘ng u o‘z
funksional faoliyatini qayta tiklay olishi va korrekt ishlashda davom etishiga ishonch hosil qilish lozim bo‘ladi.
To‘htalishlardan keyingi tiklanishda testlashni o‘tkazish uchun sun’iy ravishda qurilma yoki tizim bilan birgalikda ishlaydigan dasturiy ta’minot yoki tashqi omillar natijasida dasturiy tizimda to‘htalishlarni keltirib chiqaruvchi vaziyatlar imitatsiya qilinadi. Bunday holatlarda tizim holati (hati-xarakatini) tahlil qilinayotganda ikkita omilga e’tibor qaratish lozim bo‘ladi:
uzilish va to‘htalishlar natijasida ma’lumotlarni yo‘qotilishini minimallashtirish;
to‘xtalishlar bilan normal ishlashni davom ettirish orasidagi
vaqtni minimallashtirish.