Modul testi maqsadi – bu ma’lumotlarning xato turlarini qo‘llash asosida xatolar topish. Bundan tashqari, modul testida xato qidirish shartlarda algoritmlarda va xatolarga ishlov berishning o‘zida ham yuz beradi. Qisqacha aytganda, modul testi kodlashning tipik xatolarini topishi kerak.
Qoida bo‘yicha dasturchi tomonidan teskari dasturlash o‘tkaziladi. Shu bilan birga u test ma’lumotlariga javob beradi. Bundan tashqari, dasturchi test variantlari haqida o‘ylaydi va o‘zi testlar o‘tkazadi.
Modul testi uchun ko‘pincha Stubtalab qilinadi, u boshqa modullar aloqasi (tugun)ni kuchaytirish imkoniyatiga ega bo‘lish uchun to‘ldirish joyinnig ko‘rsatkichi sifatida turadi.
Modul testiga kelganda, gap Black-Box-test va White-Box-testdagi kombinatsiyalar haqida ketadi. Shu bilan birga Black-Box-test modul havola qiladigan interfeysni testlash uchun o‘tkaziladi. So‘ngra White-Box-test o‘tkaziladi. Ushbu test koddagi xatolarni aniqlashi kerak, bu xatolar esa faqat bevosita dasturning boshlang‘ch 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. Shart modul testlarining muvafaqqiyatli o‘tkazilishidir. Umumiy testda uch xil testlar farq qilinadi:
Birlashtiruvchi test Tizimli test Qabul qilish testi Birlashtiruvchi test barcha qismlarning birgalikdagi harakatini sinaydi. Modullar interfeyslari boshqa modullar bilan bog‘liqlikda testlanishi kerak. Bu o‘rinda topiladigan xatolar odatda, dizayn xatolari bo‘ladi.
Buning ustiga katta miqdordagi har xil turli usullar mavjud. Birinchidan Top-Down yoki Bottom-Up-test 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.
Harakatning 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 doimiy taraqqiyotini ko‘radi. So‘nggi mulohaza, albatta foydalanuvchi testlashga kirishgandagina yoki foydalanuvchi va mijozga kamida test natijalari ko‘rsatilgan hollardagina t‘’g‘ridir.
Keyingi imkoniyat 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 xarakati tekshirilishi kerak bo‘ladi.
Birlashtiruvchi test shundagina tugallangan hisoblanadiki, agar test paytida dasturning to‘xtab qolishi, dasturning taqalib qolishi manbalarning avariyali sarflanishi yoki funksional xatolar singari jiddiy xatolar topilmasa, qolgan barcha xatolar kelgusida bartaraf qilinishi kerak.