Modul testining maqsadi – bu ma’lumotlarning xato turlarini qo‘llash asosida xatolar topishdan iborat. Bundan tashqari, modul testida xato qidirish shartlari asosida algoritmlari va xatolarga ishlov berishning o‘zida ham yuz beradi. Qisqacha aytganda, modul testi kodlashning tipik xatolarini topishi kerak.
Qoida bo‘yicha dasturchi tomonidan dasturlash jarayonida o‘tkaziladi. Shu bilan birga u testlanuvchi ma’lumotlariga javob beradi. Bundan tashqari, dasturchi test variantlari haqida o‘ylaydi va o‘zi testlar o‘tkazadi.
Modulli testlash uchun uni boshqa modullar aloqasini simulyatsiya qilish imkoniyatiga ega bo‘lishni kafolatlovchi va to‘ldirish joyi ko‘rsatkichi sifatida turgan Stub deb nomlangan test kerak bo‘ladi.
Modul testiga kelganda, gap Black-Box-test va White-Box-testdagi kombinatsiyalar haqida ketadi. Shu bilan birga Black-Box-testi modul bajaradigan interfeysni testlash uchun o‘tkaziladi. So‘ngra White-Box-test o‘tkaziladi. Ushbu test koddagi xatolarni aniqlashidan iborat. Bu xatolar esa faqat bevosita dasturning boshlang‘ich kodi ishlab chiqilayotganda va iloji boricha barcha nazorat yo‘nalishlari kamida bir marta bajarilgandagina topilishi mumkin.
Umumiy test nihoyat, dasturiy ta’minot tizimining yakuniy testiga olib boradi. Bu erdagi shart modul testlarining muvafaqqiyatli o‘tkazilishidan iborat. Umumiy testda uch xil testlar farq qilinadi:
Birlashtiruvchi test;
Tizimli test;
Qabul qilish testi.
Birlashtiruvchi test barcha qismlarning birgalikdagi ishlashini sinaydi. Modullar interfeyslari boshqa modullar bilan bog‘liqlikda testlanishi kerak. Bu o‘rinda topiladigan xatolar odatda, dizayn xatolari bo‘ladi.
Buning ustiga katta miqdordagi mumkin bo‘lgan turli xil usullar mavjud. Birinchidan Top-Down yoki Bottom-Up-testi bor. Shu bilan birga modullar yoki pastdan yuqoriga qarab tayyor dasturga to‘planadi va har qadamda testdan o‘tkaziladi yoki aksincha. Buning ustiga, masalan, ma’lumotlar bazasi darajasiga «quyi» sifatida, foydalanuvchi interfeysiga esa «yuqori» sifatida qarash mumkin.
Amalga oshirishning keyingi moduli funksional mo‘ljalli test nazoratidir. Bunda modullar ularning vazifalariga muvofiq ravishda dastur negiziga birlashadi va testdan o‘tkaziladi. Bu usulning afzalligi shundaki, ko‘zda tutilmagan vazifalarni texnik bajarish mumkinligi tezroq tekshiriladi. Bundan tashqari, foydalanuvchi loyihaning o’zgarmas taraqqiyotini ko‘radi. So‘nggi mulohaza, albatta foydalanuvchi testlashga kirishgandagina yoki foydalanuvchi va mijozga kamida test natijalari ko‘rsatilgan hollardagina to‘g‘ridir.
Keyingi imkoniyat esa darajaga mo‘ljallangan usuldir. Bunda modullar alohida darajalar bo‘yicha joylashadi. Bu holda darajalar alohida darajalar uchun vakil qilingan komanda tomonidan testlanadi. Bu o‘rinda, masalan, klassik uch darajali model qo‘llanilishi mumkin. Darajalar bo‘yicha alohida sinovlarning afzalligi shundaki, testlar yonma-yon o‘tkazilishi mumkin. Biroq bunda ko‘p test darajalari (Kuchaytiruvchi-shakllantiruvchilar) va Stubs kerak. Bundan tashqari, oxirida darajalar birlashtirilishi undan keyin esa ularning birgalikidagi harakati tekshirilishi kerak bo‘ladi.
Integratsion test shunday holda tugallangan hisoblanadiki, agar test paytida jiddiy xatolar topilmasa. Bunday xatolarga dasturning inqirozli buzilishi, dasturlarni siklda tushib qolishi, resurslarni avariyli saqlanishi, yoki kritik funktsional xatolar.