Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум_2семестр.doc
Скачиваний:
59
Добавлен:
15.06.2014
Размер:
983.04 Кб
Скачать

3.3. Отладка программных средств

Отладка программы  обнаружение, локализация и исправление всех ошибок программы. Она включает исправление синтаксических ошибок, которые выявляет компилятор, а также локализацию семантических (или алгоритми- ческих) ошибок, что возможно лишь в процессе тестирования.

Тестирование  проверка работы программы при задании специальным образом подобранных исходных данных, для которых известен результат. Такие данные называются тестовыми. Количество тестовых наборов определяется конкретно для каждой программы.

При возникновении семантических ошибок в одних случаях происходит аварийная остановка в работе программы и на дисплей выдается диагностическое сообщение об ошибке. В других случаях смысловые ошибки не приводят к завершению выполнения программы, но получаются неверные результаты. Такие ошибки называются логическими или алгоритмическими (их поиск более труден). Они могут быть обнаружены (а может, и нет) только при тестировании программы.

Тестирование предполагает:

1. Подготовку тестовых наборов. Подбираются специальным образом наборы входных данных, для которых заранее просчитан результат.

2. Прогон теста  непосредственно тестирование. Полученные в программе результаты сравниваются с эталонными (тестовыми). Число тестовых наборов при тестировании зависит от сложности программы и должно быть достаточным для слежения за ходом ее выполнения по всем ветвям. В первую очередь пропускаются простые тесты, которые охватывают наименьшее количество блоков программы, а далее более сложные.

Среда Turbo (С или Pascal) позволяет при отладке (тестировании) проследить пошаговое исполнение программы (F7(с заходом в подрограмму), F8(без захода)) с контролем промежуточных результатов, или наблюдением параметров в окне Watch, которое открывается через пункт меню Debug (или Windows). Удобно использовать выполнение начальной части программы до курсора (F4). Для повторного запуска незавершенной программы необходимо прервать ее выполнение (Ctrl-F2 или Program Reset). Для занесения переменных (выражений) в окне наблюдений используется сочетание клавиш Ctrl-F7 (Add watch), для удаления  выделяется DEL и стрелками отмечается что удалить, затем нажимается клавиша ENTER.

Для ускорения отладки рекомендуется в программе применять точки останова (контрольные точки) (опция Breakpoints (Debug)  основного меню программы (Ctrl+F8)). Первоначально контрольные точки рекомендуется устанавливать после ввода исходных данных; после входа  в  подпрограмму и выхода из неё для передаваемых параметров; в начале и в конце крупных  ветвей в программе. (Не рекомендуется устанавливать первоначально контрольные точки в циклах. По необходимости в циклах следует использовать остановы на определенных итерациях.)

В случае обнаружения ошибки или пропуска какой-либо из ветвей программы перед контрольной точкой, которая обнаружила отклонение в работе программы, следует ввести дополнительные точки останова, вновь просмотреть переменные и сравнить их с тестовыми. Процесс повторных расстановок контрольных точек продолжается до тех пор, пока не будет обнаружена строка с ошибкой. После исправления локализованной ошибки тестирование возобновляется.

Тестирование, локализация и исправление ошибок производится пока для всех тестовых наборов не совпадут полученные значения с эталонными. В этом случае программа считается отлаженной при условии соблюдения полноты тестов. Далее программа может быть передана в эксплуатацию или использоваться для расчёта реальных значений.

В готовой программе для своевременного выявления сбоев при ее эксплуатации рекомендуется оставлять тупиковые ветви (вставлять дополнительные условия), контролирующие ход выполнения программы (например, контролировать предельное значение промежуточных параметров). Тупиковые ветви должны содержать сообщения.

Приложение 1