10.3. Nosozliklarni tuzatish buyruqlari.
Ushbu bo'limda nosozliklarni tuzatishni tashkil qilish bo'yicha umumiy ko'rsatmalar berilgan. Lekin birinchi navbatda, rivojlanishning oldingi bosqichlarida xatolarning oldini olish muhimligini tasdiqlovchi ma'lum bir hodisani ta'kidlash kerak: dasturiy ta'minot tizimida aniqlangan va tuzatilgan xatolar soni ortishi bilan undagi aniqlanmagan xatolarning nisbiy ehtimoli ham ortadi. Buning sababi shundaki, dasturiy ta'minot tizimida aniqlangan xatolar sonining ko'payishi bilan bizning undagi xatolarning umumiy soni va shuning uchun ma'lum darajada hali aniqlanmagan xatolar soni to'g'risida tushunchamiz ham mavjud. tozalangan. Ushbu hodisa xatolarni erta aniqlash muhimligini va dasturiy ta'minotni ishlab chiqishning har bir bosqichida qabul qilingan qarorlarni diqqat bilan nazorat qilish zarurligini tasdiqlaydi.
Amr 1. Dasturiy ta'minotni ishlab chiqishning asosiy vazifasini sinovdan o'tkazishni ko'rib chiqing, uni eng malakali va iqtidorli dasturchilarga topshiring; o'z dasturingizni sinab ko'rish tavsiya etilmaydi.
Buyruq 2. Yaxshi test - bu dasturning to'g'ri ishlashini ko'rsatadigan emas, balki xatoni aniqlash ehtimoli yuqori bo'lgan sinovdir.
Buyruq 3. To'g'ri va noto'g'ri ma'lumotlar uchun testlarni tayyorlang.
Buyruq 4. Qayta tiklanmaydigan testlardan qoching, ularni kompyuter orqali o'tkazing; har bir test natijalarini batafsil o'rganing.
Buyruq 5. Har bir modulni dasturga faqat bir marta ulang; sinovni osonlashtirish uchun dasturni hech qachon o'zgartirmang.
Buyruq 6. Har qanday PS dasturining ishlashini yoki uning boshqa dasturlar bilan o'zaro ta'sirini tekshirish bilan bog'liq barcha testlarni, agar unga o'zgartirishlar kiritilgan bo'lsa (masalan, xatolikni tuzatish natijasida) yana o'tkazib yuboring.
10.4. Modulni oflayn rejimda tuzatish.
Mustaqil disk raskadrovkada, disk raskadrovka qilinayotgan dastur faqat bitta moduldan iborat bo'lmasa, har bir modul aslida ba'zi dasturlash muhitida sinovdan o'tkaziladi. Bu muhit boshqa modullardan iborat bo'lib, ularning ba'zilari disk raskadrovka qilinayotgan dasturning allaqachon tuzatilgan modullari va ba'zilari disk raskadrovkani boshqaruvchi modullardir (disklarni tuzatish modullari, pastga qarang). Shunday qilib, avtonom disk raskadrovka paytida, tuzatilayotgan modulni sinash uchun maxsus qurilgan dastur har doim sinovdan o'tkaziladi. Bu dastur disk raskadrovka qilinayotgan dasturga qisman to'g'ri keladi, tuzatilayotgan dasturning oxirgi moduli tuzatilayotgan hol bundan mustasno. Dasturni disk raskadrovka qilish jarayoni davom etar ekan, keyingi disk raskadrovka modulining muhiti tobora ko'proq ushbu dasturning allaqachon tuzatilgan modullaridan iborat bo'ladi va ushbu dasturning oxirgi modulini disk raskadrovka qilganda, disk raskadrovka qilingan modul muhiti butunlay iborat bo'ladi. disk raskadrovka qilingan dasturning barcha boshqa (allaqachon disk raskadrovka qilingan) modullaridan (hech qanday nosozliksiz) disk raskadrovka modullari, ya'ni. bu holda, disk raskadrovka qilinayotgan dastur sinovdan o'tkaziladi. Nosozliklari tuzatilgan va tuzatilgan modullar bilan tuzatilgan dasturni yaratish jarayoni dastur integratsiyasi deb ataladi.
Nosozliklarni tuzatish moduli muhitiga kiritilgan disk raskadrovka modullari ushbu dasturning modullarini tuzatish tartibiga, qaysi modulda disk raskadrovka qilinayotganiga va, ehtimol, qaysi test o'tkazib yuborilishiga bog'liq.
Pastdan yuqoriga test paytida (7-ma'ruzaga qarang) bu muhit har doim faqat bitta disk raskadrovka blokini o'z ichiga oladi (dasturning so'nggi birligi disk raskadrovka qilingan hol bundan mustasno), u sinovdan o'tayotgan dasturda bosh bo'ladi va u deyiladi. usta (yoki haydovchi). Etakchi disk raskadrovka moduli disk raskadrovka qilinayotgan modulni sinovdan o'tkazish uchun axborot muhitini tayyorlaydi (ya'ni ushbu modulni sinovdan o'tkazish uchun zarur bo'lgan holatini yaratadi, xususan, u ba'zi test ma'lumotlarini kiritishi mumkin), disk raskadrovka qilingan modulga murojaat qiladi va u tugagandan so'ng, kerakli xabarlarni chiqaradi. Bitta modulni disk raskadrovka qilishda turli testlar uchun turli yetakchi disk raskadrovka modullarini kompilyatsiya qilish mumkin.
Yuqoridan pastga test qilishda (7-ma'ruzaga qarang) disk raskadrovka modullari sifatida disk raskadrovka moduli muhiti disk raskadrovka moduli kirishi mumkin bo'lgan barcha modullarning simulyatorlarini, shuningdek, nosozliklarni tuzatish modullari orqali kirish mumkin bo'lgan modullarning simulyatorlarini o'z ichiga oladi. disk raskadrovka qilinayotgan dastur (ushbu muhitga kiritilgan), lekin hali tuzatilmagan. Ushbu simulyatorlarning ba'zilari bitta modulni disk raskadrovka qilishda turli testlar uchun o'zgarishi mumkin.
Aslida, disk raskadrovka qilinayotgan modul muhiti ko'p hollarda quyidagi sabablarga ko'ra disk raskadrovka modullarining ikkala turini ham o'z ichiga olishi mumkin. Pastdan yuqoriga va yuqoridan pastga test o'zlarining afzalliklari va kamchiliklariga ega.
Pastdan yuqoriga sinovning afzalliklari orasida
testlarni tayyorlash qulayligi va
birlik test rejasini to'liq amalga oshirish qobiliyati.
Buning sababi, axborot muhitining sinov holati tuzatilayotgan modulga kirishdan oldin darhol tayyorlanadi (etakchi nosozliklarni tuzatish moduli tomonidan). Pastdan yuqoriga testning kamchiliklari quyidagilardan iborat:
test ma'lumotlari, qoida tariqasida, foydalanuvchi uchun mo'ljallangan shaklda emas (tuzatilgan dasturning oxirgi, boshi, moduli tuzatilayotgan hollar bundan mustasno) tayyorlanadi;
katta hajmdagi disk raskadrovka dasturlari (bitta modulni disk raskadrovka qilishda siz ko'pincha turli testlar uchun ko'plab etakchi nosozliklarni tuzatish modullarini yaratishingiz kerak);
interfeys modullarini maxsus sinovdan o'tkazish zarurati.
Yuqoridan pastga testning afzalliklari quyidagilardan iborat:
testlarning aksariyati foydalanuvchilarga qulay shaklda tayyorlanadi;
ko'p hollarda disk raskadrovka dasturlashning nisbatan kichik miqdori (modul simulyatorlari odatda juda oddiy va ularning har biri ko'p sonli, ko'pincha barcha testlar uchun javob beradi);
modullarning juftligini sinab ko'rishning hojati yo'q.
Yuqoridan pastga testning kamchiliklari shundaki, disk raskadrovka moduliga kirishdan oldin axborot muhitining sinov holati bilvosita tayyorlanadi - bu allaqachon tuzatilgan modullarni sinov ma'lumotlari yoki simulyatorlar tomonidan chiqarilgan ma'lumotlar uchun qo'llash natijasidir. Bu, birinchidan, testlarni tayyorlashni qiyinlashtiradi, sinov muhandisining yuqori malakasini talab qiladi, ikkinchidan, tuzatilayotgan modulning to'liq sinov rejasini amalga oshirishni qiyinlashtiradi yoki hatto imkonsiz qiladi. Ushbu kamchilik ba'zan ishlab chiquvchilarni yuqoridan pastga ishlab chiqishda ham pastdan yuqoriga sinovdan o'tkazishga majbur qiladi. Biroq, yuqoridan pastga testning ba'zi modifikatsiyalari yoki yuqoridan pastga va pastdan yuqoriga testlarning ba'zi bir kombinatsiyasi qo'llaniladi.
Yuqoridan pastga qarab sinovdan o'tkazish afzalroq ekanligidan kelib chiqib, keling, ma'lum darajada ushbu qiyinchiliklarni engib o'tishga imkon beradigan usullarga to'xtalib o'tamiz. Avvalo, dasturni disk raskadrovka qilishni shunday tashkil qilish kerakki, ma'lumotlarni kiritishni amalga oshiruvchi modullar imkon qadar tezroq tuzatiladi - keyin test ma'lumotlari foydalanuvchi uchun mo'ljallangan shaklda tayyorlanishi mumkin, bu juda katta yordam beradi. keyingi testlarni tayyorlashni soddalashtirish. Ushbu kiritish har doim ham bosh modulda amalga oshirilmaydi, shuning uchun birinchi navbatda ko'rsatilgan kirishni amalga oshiradigan modullarga olib keladigan modul zanjirlarini disk raskadrovka qilish kerak (7-ma'ruzadagi maqsadli konstruktiv amalga oshirish usuli bilan solishtiring). . Kirish modullari tuzatilgunga qadar, test ma'lumotlari ba'zi simulyatorlar tomonidan taqdim etiladi: ular simulyatorga uning bir qismi sifatida kiritiladi yoki simulyator tomonidan AOK qilinadi.
Pastki oqim testi paytida nosozliklarni tuzatish modulini sinab ko'rish zarur bo'lgan axborot muhitining ba'zi holatlari har qanday kirish ma'lumotlari uchun disk raskadrovka qilingan dastur bajarilganda sodir bo'lmasligi mumkin. Bunday hollarda, disk raskadrovka qilinayotgan modulni umuman sinab ko'rmaslik mumkin edi, chunki bu holda aniqlangan xatolar har qanday kirish ma'lumotlari uchun disk raskadrovka qilingan dasturni bajarish paytida paydo bo'lmaydi. Biroq, buni qilish tavsiya etilmaydi, chunki disk raskadrovka qilingan dastur o'zgarganda (masalan, dasturiy ta'minot tizimini qo'llab-quvvatlashda), nosozliklarni tuzatish modulini sinab ko'rish uchun foydalanilmagan axborot muhiti allaqachon paydo bo'lishi mumkin, bu esa qo'shimcha sinovni talab qiladi. ushbu modul (va modulning o'zi o'zgarmagan bo'lsa, nosozliklarni tuzatishning oqilona tashkil etilishi bilan buni amalga oshirish mumkin emas edi). Bunday holatlarda disk raskadrovka qilinayotgan modulni sinab ko'rish uchun ba'zida axborot muhitining kerakli holatini yaratish uchun mos simulyatorlar qo'llaniladi. Ko'pincha ular yuqoridan pastga testning o'zgartirilgan versiyasidan foydalanadilar, bunda disk raskadrovka qilingan modullar birlashtirilishidan oldin alohida sinovdan o'tkaziladi (bu holda, disk raskadrovka moduli muhitida modul simulyatorlari bilan bir qatorda etakchi disk raskadrovka moduli paydo bo'ladi. disk raskadrovka moduli kirishi mumkin). Biroq, yuqoridan pastga testning yana bir modifikatsiyasi maqsadga muvofiqroq ko'rinadi: nosozliklarni tuzatish modulining yuqoridan pastga sinovi tugagandan so'ng, axborot muhitining erishish mumkin bo'lgan sinov holatlari uchun uni boshqa talab qilinadigan holatlar uchun alohida sinovdan o'tkazish kerak. axborot muhiti.
Sendvich usuli deb ataladigan yuqoriga va pastga qarab sinovning kombinatsiyasi ham tez-tez ishlatiladi. Ushbu usulning mohiyati pastdan yuqoriga va yuqoridan pastga testlarni bir vaqtning o'zida amalga oshirishdan iborat bo'lib, bu ikki sinov jarayoni disk raskadrovka qilinayotgan dastur tuzilmasi o'rtasida biron bir modulda uchrashguncha. Ushbu usul oqilona yondashuv bilan pastdan yuqoriga va yuqoridan pastga testning afzalliklaridan foydalanishga va ularning kamchiliklarini sezilarli darajada zararsizlantirishga imkon beradi. Bu ta'sir yanada umumiy tamoyilning namoyon bo'lishidir: eng katta texnologik effektga FP dasturlarini ishlab chiqishning yuqoridan pastga va pastdan yuqoriga usullarini birlashtirish orqali erishish mumkin. Aynan shu usulni qo'llab-quvvatlash uchun dasturiy ta'minotni ishlab chiqishga arxitektura yondashuvi ko'zda tutilgan (7-ma'ruzaga qarang): mohirlik bilan ishlab chiqilgan va sinchkovlik bilan sinovdan o'tgan modullar qatlami tegishli fan sohasida dasturlar oilasini amalga oshirishni va ularni keyinchalik modernizatsiya qilishni sezilarli darajada osonlashtiradi.
Modullarning juftligini tekshirish uchun oflayn nosozliklarni tuzatish uchun juda muhimdir. Gap shundaki, har bir dastur modulining spetsifikatsiyasi, bosh moduldan tashqari, ushbu dasturda ikkita holatda qo'llaniladi: birinchidan, ushbu modulning matnini ishlab chiqishda (ba'zan ular: tanasi) va ikkinchidan, matnni yozishda. dasturning boshqa modullarida ushbu modulga qo'ng'iroq qiling. Har qanday holatda ham, xato natijasida, berilgan modul spetsifikatsiyasiga talab qilinadigan muvofiqlik buzilishi mumkin. Bunday xatolarni aniqlash va yo'q qilish kerak. Bu modullarning interfeysini sinab ko'rishdan maqsad. Yuqoridan pastga testda juftlik testi o'tkazib yuborilgan har bir test bilan birga amalga oshiriladi, bu yuqoridan pastga testning eng kuchli afzalligi hisoblanadi. Pastdan yuqoriga sinovdan o'tkazish jarayonida disk raskadrovka moduliga manzil tuzatilayotgan dasturning modullaridan emas, balki asosiy tuzatuvchidan amalga oshiriladi. Shu munosabat bilan, oxirgi modul tuzatilgan modulning ba'zi "xatolari" ga moslashishi xavfi mavjud. Shuning uchun, yangi modulni disk raskadrovka qilishni boshlaganda (dasturni integratsiyalash jarayonida), ushbu qo'ng'iroqning mos keladigan modulning tanasiga mos kelmasligini aniqlash uchun avval tuzatilgan modulga har bir qo'ng'iroqni sinab ko'rishingiz kerak (va ehtimol Buning uchun avval tuzatilgan modul aybdor). Shunday qilib, yangi sharoitlarda oldindan tuzatilgan modulni sinovdan o'tkazishni qisman takrorlash kerak, shu bilan birga yuqoridan pastga testlarda bo'lgani kabi bir xil qiyinchiliklar paydo bo'ladi.
Modulni to'rtta ketma-ket bosqichda oflayn sinovdan o'tkazish tavsiya etiladi.
1-qadam. Nosozliklarni tuzatish modulining spetsifikatsiyasiga asoslanib, har bir imkoniyat va har bir vaziyat uchun, barcha kirishlarning haqiqiy qiymatlari diapazonining har bir chegarasi, maʼlumotlar oʻzgarishining har bir diapazoni, har bir yaroqsiz diapazon uchun test tayyorlang. barcha kirishlarning qiymatlari va har bir yaroqsiz holat.
Qadam 2. Har qanday filialning har bir yo'nalishi kamida bitta sinovdan o'tishiga ishonch hosil qilish uchun modul matnini tekshiring. Yetishmayotgan testlarni qo'shing.
3-qadam. Modul matnidan ishonch hosil qilingki, har bir sikl uchun sikl tanasi bajarilmaydigan test, sikl tanasi bir marta bajariladigan test va sikl tanasi bajariladigan test maksimal soni. marta. Yetishmayotgan testlarni qo'shing.
4-qadam. Modul matnida uning kirish ma'lumotlarining alohida maxsus qiymatlariga sezgirligini tekshiring - barcha bunday qiymatlar testlarga kiritilishi kerak. Yetishmayotgan testlarni qo'shing.
Do'stlaringiz bilan baham: |