-Amaliy ish - Dasturiy injiniring kafedrasi

9-Amaliy ish
DASTURIY TA’MINOTNI TESTLASH
Ishdan maqsad: Dasturiy ta’minotni testlash va testlash bosqichlarini o’rganish.
Testlash, dasturiy ta’minotni foydalanishga qo’yishdan oldin dastur nuqsonlarini topish va ularni to’g’irlashga mo’ljallangan dasturlarni ko’rsatishga mo’ljallangan. Men dasturiy ta’minotni testlagan chog’ingimda, sun’iy ma’lumotlardan foydalanib dasturni ishga tushiradim. Men dasturni testlash natijalarini xatolarga, anomaliya(normal holatdan chetlashish)ga yoki dasturning nofunksional sifatlari haqida ma’lumotga tekshirdim.
Testlash jarayonida ikkita alohida maqsadlar mavjud:
1. Ishlab chiqaruvchi va buyurtmachiga ularning dasturiy ta’minoti talablari bajarilayotganini namoyish etish. Buyurtma qilingan dasturiy ta’minot uchun hujjatdagi talablarning har biri uchun kamida bitta testlash bo’lishi lozim. Umumiy dasturiy ta’minot mahsulotlari uchun esa, tizimning barcha funksiyalari uchun, shuningdek, tayyor mahsulotda ishlatiladigan funksiyalar aralashmasi uchun testlashlar bo’lishi kerak.
2. Dasturiy ta’minot noto’g’ri, ishonarsiz yoki spetsifikatsiyalarga mos kelmagan hollarni aniqlash. Ular dasturiy ta’minotning nuqsonlari hisoblanadi. Nuqsonlarni testlash keraksiz tizimlarning nuqsonlariga barham berish bilan bog’liq, masalan, tizimning to’xtab qolishi, boshqa tizimlar bilan keraksiz bo’g’lanishi, ma’lumotlarning noto’g’ri hisoblanishi va buzilishi.
Online magazine dasturida quyidagi 3 ta test ish olib boradi.
1 Development testing, tizim ishlab chiqarilayotgan paytda testlanadi. Tizim dizaynerlari va dasturchilari tomonidan testlanadi.
2. Release testing, tizim foydalanuvchilarga taqdim etilishidan oldin to’liq tizim testlovchi guruh tomonidan testlanadi.
3. User testing, foydalanuvchilar o’zining muhitida tizimni testlaydi. Amaliyotda testlash ikki usul - avtomatik va qo’lda tekshirishning birgalikda qo’llanishi orqali amalga oshiriladi. Qo’lda tekshirish jarayonida testlovchilar dasturni bir necha testlovchi ma’lumotlarni kiritgan holda ishga tushirib hosil bo’lgan natijalarni kutilgan natijalar bilan solishtiradi. Ular testlash jarayoni mobaynida vujudga kelgan farqlar va xatolarni yozib olib dasturiy ta’minotni ishlab chiqaruvchiga yetkazadilar. Avtomatik testlash jarayoni esa dasturiy ta’minotni ishlab chiqish davomida bir necha marta ma’lum bir testlovchi tizim tomonidan amalga oshirilib boriladi. Teslashning avtomatik uslubi qo’lda olib boriladigan testlashdan tezroq va unumliroqdir, ayniqsa, testlash natijasida vujudga kelgan xatoliklarni tuzatishdan hosil bo’lishi mumkin bo’lgan yangi nosozliklarni tekshirish kerak bo’lganda, ya’ni qayta teslash jarayonida avtomatik testlash usuli foydaliroq hisoblanadi.
Online magazin dasturiy ta’minotlarining testlash bosqichlariga batafsil to’xtalib o’tamiz:
I. Ishlab chiqarishdagi testlash (Development testing). Ishlab chiqarishdagi testlash dasturiy ta’minotni ishlab chiqaruvchilari tomonidan shu jarayonda olib boriladigan barcha testlarni o’z ichifa oladi. Odatda testlovchi dasturiy ta’minotni ishlab chiqarishda ishtirok etgan dasturchi hisoblanadi. Lekin ba’zan dasturiy ta’minotni ishlab chiqaruvchi jamoa alohida testlovchi va dasturchilardan ham tashkil topgan bo’lishi mumkin.
Ishlab chiqarishdagi testlash, odatda quyidagi 3 bosqichni o’z ichiga oladi:
Unit testing – dasturiy ta’minotning alohida olingan bo’limlari(sinflar, usullar)ni testlash.
Online magazin dasturiy ta’minot ishlab chiqarilayotgan bo’lsa unit testing da uning yuqorida ko’rsatilgan ma’lum bir usullarini tekshirish yetarlidir.
Component testing – ma’lum bir umumiy vazifani bajaruvchi bir nechta bo’limlardan tashkil topgan biror bir komponentani testlash
Bunda bitta koponentani tashkil qilgan A, B va C bo’limlar umumlashtirilgan holda testlanadi.
3. System testing – ba’zi yoki barcha komonentalarni o’z ichiga olgan butun bir tizimni yaxlit holda testlash jarayoni. Bunda testlash butun bir tizimga qaratilgan bo’ladi.
O’z nomi bilan ma’lumki bunda barcha komponentalarni o’z ichiga olgan butun bir tizim yakuniy bosqichda teslanadi. Testlashning ishlab chiqarish jarayonidagi bosqichi (development testing)
testlarning professional dasturchilar tomonidan amalga oshirilganligi bilan muhim va aniqdir.
II. Dasturiy ta’minotni amaliyotga tadbiq etish jarayonidagi teslash(release testing) Ushbu testlash jarayoni dasturiy ta’minotni ishlab chiqaruvchilar jamoasidan tashqarida, uni amaliyotga tadbiq etish davridagi testlash jarayoni bo’lib hisoblanadi. Testlashning bu bosqichidan ko’zlangan asosiy maqsad dasturiy ta’minotni amaliyotga qo’llash uchun yetarli darajada tayyor ekanligiga ishonch hosil qilishdan iborat. Bu jarayon nafaqat foydalanuvchi talablari. Balki dasturiy ta’minot qo’llanilayotgan butun bir tizimning talablarini hisobga olgan holda amalga oshirilishi lozim.
Bu jarayon ham o’z navbatida bir necha bosqichlarni o’z ichiga oladi va ular quyidagilar:
Requirements-based testing (talablarga asoslangan testlash) – bunday testlash talablarning qay darajada bajarila olinayotganini tetslashga asoslangan. Shuning uchun dasturiy ta’minot uchun talablar ishlab chiqilayotganda ularni keyinchalik testlash uchun qulay bo’lishini ham inobatga olish kerak.
Senario – testing (ssenariyni testlash) – bunda dasturiy ta’minot qay tarzda ishlashini belgilab beruvchi hujjat – ssenariy talablari bajarilayotgani testlanadi.
Performance testing (ijroni yoki dasturiy ta’minotning ishlash jarayonini testlash) – bu dasturiy ta’minotni amaliyotga tadbiq qilish jarayonidagi testlashning so’nggi bosqichi bo’lib bunda asosiy e’tibor dasturning barcha mayda detallarini ham inobatga olgan holda testlash lozim bo’ladi.
III. Foydalanuvchi tomonidan testlash (user testing) Bunda foydalanuvchi yoki iste’molchi dasturiy mahsulotdan foydalanish davomida yuzaga kelgan muammolar bo’yicha o’z fikr va maslahatlari bergan holda testlash jarayonini amalga oshiradi. Deyarli barcha tizimlar uchun dasturchi va ishga tushirish davomida olib borilgan testlashning o’zi yetarli bo’lib qolmaydi. Chunki murakkab tizimlarda shunday vaziyatlar bo’ladi-ki, faqatgina foydalanuvchi yoki mijoz dasturiy mahsulotdan foydalanayotgan vaqtda muammolar yuzaga keladi. Shu jihati bilan ham testlashning ushbu bosqichi muhim hisoblanadi.
Buning ham bir necha usullari mavjud:
a) Alfa testlash – bunda foydalanuvchi dasuturiy ta’minotni ishlab chiqaruvchi jamoa bilan birga faoliyat olib borgan holda testlashni amalga oshiradi.
b) Beta testlash – dasturiy ta’minotning ma’lum bir funksiyalari foydalanuvchilar testlashlari uchun ochiq bo’ladi va ular testlash jarayonini o’z kasbiy vazifalarini bajara turib amalga oshiradilar.
c) Tasqidlovchi testlash – bunda foydalanuvchi dasturiy ta’minotni izchil o’rganib uni o’zining ish jarayoni uchun tadbiq qilish mumkin yoki mumkin emasligi haqida yakuniy qarorni qabul qiladi.
|