122
барлық баламалы (альтернатива) жолдар комбинациясымен анықталады. Ол
нақты шектеулі сан, бірақ ол өте үлкен болуы мүмкін, сондықтан програм-
ма үзінділерге бөлінеді, солардың əрқайсысын толық тесттен өткізгеннен
кейін əрбір фрагмент көлемді тармақтардың элементар түйіндері ретінде
қарастырылады. Операторлардың талап етілген реттілікпен орындалуын
қадағалайтын мəліметтерден басқа, тесттерде
шекаралық шарттарды тексе-
ру (мысалы, х>10 шарты бойынша көшу 10 санына тең, одан үлкен жəне кіші
мəндер үшін де тексерілуі керек) де қамтылуы тиіс.
Бастапқы мəліметтердің
соларға сəйкес келмейтін қате мəндерін тексеру жəне оған программаның
жауап қайтаруы жеке тексеріледі.
Төмен қарай бағытталған тестілеу идеясы бойынша программаны жобалау
аяқталмай тұрып, оны тесттен өткізу қарастырылады. Бұл негізгі модуларалық
интерфейстерді ертерек тексеруге, сонымен қатар программа қолданушының
талаптарын қанағаттандыратынына көз жеткізуге мүмкіндік береді. Логикалық
ядро негізгі интерфейстердің жүзеге асырылуының дұрыстығына күмəн бол-
майтындай дəрежеде сыналғаннан кейін ғана программаның келесі деңгейін
кодтау мен тестілеуге кірісу керек.
Əрине, программа қаңқа түрінде көрсетілетін кезде оны толық тест-
тен өткізу мүмкін емес, алайда əрбір келесі деңгейді қосу тестілеу аймағын
біртіндеп кеңейтуге мүмкіндік береді.
Төмен қарай бағытталған жобалауда жүйе деңгейіндегі кешенді түзету
кезеңі жоғары қарай бағытталған тəсілмен салыстырғанда, аз уақыт ала-
ды жəне мұнда тосын жағдайлар да аз болады, себебі жүйенің көлемді
бөлігіне əсер ететін үлкен қателердің пайда болу ықтималдығы едəуір
аз болады. Сонымен қатар, жүйеге қосылатын əрбір модуль үшін оның
қоршаған ортасы қалыптасқан, түзетілген модульдердің нəтижелік
(шығыс) мəліметтерін басқа модульдерді тестілеуде кіріс мəліметтер
ретінде қолдануға болады, бұл тестілеу үрдісін жеңілдетеді. Бұл жүйеге
модульді «шикілей» қосуға болады деген сөз емес – тестілеудің бір бөлігін
жеке, яғни автономды түрде өткізу ыңғайлы болып табылады, себебі жүйе
кірісінде жеке модульді тестілеу үшін барлық қажетті нұсқаларды генера-
циялау қиын болады.
Программаларды жөндеп түзету əдістерін қарастыру бұл кітаптың
құрамына енгізілмеген, себебі түзету кезінде нақты программалау қоршауы
құралдары (мысалы, компиляторлар) оларды түзетуге екпінді түрде əсер етеді.
Достарыңызбен бөлісу: