149
онда оның көзіне анықтау үшін бүкіл жүйенің кодына талдау жасаудың
қажеті жоқ. Егер қате екі тестіленген модельдердің бірлескен
жұмысында
байқалатын болса, онда қате олардың интерфейстерінде
болуы мүмкін. Өрлеу тестілеуін орындау кезінде бағдарламашы жалғыз
модульге, екі модуль арасындағы параметрлердің берілуіне назарын
қояды, яғни аз ғана бөлігіне, оның көмегімен тестілеу қатенің
анықтаудың үлкен ықтималдылығымен мұқият жүргізіледі.
Төмендеуші
әзірлеуде
кезекпен
бағдарлама
модульдері
бағдарланады, жоғарғы (бас)
деңгейдің модулінен бастап, жүгінетін
модуль бағдарламаланған болса ғана қандай да бір басқа модульді
бағдарламалауға
өтеді.
Бағдарламаның
барлық
модульдері
бағдарламаланып болғанша оларды кезекпен тестілеу жүргізіледі және
ретке келтіру төмендеу тәртібімен де жүргізіледі. Бағдарламаның бас
модулі ақпараттық аяның «табиғи» күйінде тестіленеді. Ол жүгіне
алатын модульдер имитаторлармен ауыстырылады. Модуль имитаторы
қарапайым бағдарламалық үзіндіні білдіреді, және ол өз кезегінде
қажетті нәтижені береді.
Осыған ұқсас басқа модульдердің тестіленуі де өтеді. Бұл ретте әрбір
модуль осы модульге жүгінген сәттегі ақпараттық аяның «табиғи»
жағдайларында тестіленеді. Мұндай тәртіпте бағдарламаның әзірленуі,
барлық қажетті өзекті ақпарат уақытылы қалыптасады.
Әрбір тәсілдің артықшылықтары мен кемшіліктері бар.
Мамандардың пікірлері жоғарыда сипатталған
екеуінің жоғарғысы
біршама тиімді және қандай әзірлеу әдісі тиімді екендігі туралы
пікірлері де айырмашылықтарымен болады. Кейбір мамандардың
пікірінше, ең жақсы өрлеу әзірлемесі мен тестілеу; ал басқалары жалпы
төмендеуші тестілеу жақсы дейді.
Әрбір практикада стратегияны таңдау мәселесі келесі түрде
шешіледі. Әрбір модуль мүмкіндігіне қарай оны жазғаннан кейін
тестіленеді, нәтижесінже бағдарлама бөліктерінің кейбіреуін тестілеу
бірізділігі өрлеуші, ал басқаларынікі - төмендеуші болуы мүмкін.