Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_na_voprosy_po_estp.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
421.76 Кб
Скачать

Вопрос 24 Понятие отладки. Отличие между отладкой и тестированием. Средства отладки. Защитное программирование

ОТЛАДКА ПРОГРАММ

Мало в какой области деятельности имеется столько возможностей для ошибок, как в программировании. Искусство локализации таких ошибок, когда факт их существования установлен, носит название отладки. Таким образом, отладка программы предполагает обязательное наличие той или иной ошибки, в противном случае, мы имеем дело с тестированием.

РАЗЛИЧИЕ МЕЖДУ ОТЛАДКОЙ И ТЕСТИРОВАНИЕМ

Многие программисты путают отладку программ с тестированием, предназначенным для проверки их работоспособности. Отладка имеет место тогда, когда программа со всей очевидностью работает неправильно. Поэтому отладка начинается всегда в предвидении отказа программы. Если же оказывается, что программа работает верно, то она тестируется. Часто случается так, что после прогона тестов программа вновь должна быть подвергнута отладке. Таким образом, тестирование устанавливает факт наличия ошибки, а отладка выявляет ее причину, и эти два этапа разработки программы перекрываются.

ЗАЩИТНОЕ ПРОГРАММИРОВАНИЕ

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

необнаруженными.

Встраивание отладочных средств в программу есть не что иное, как защитное программирование.

Существует несколько принципов защитного программирования:

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

2. Немедленное обнаружение. Этот принцип гласит, что лучше всего выявлять ошибку возможно раньше, поскольку при этом упрощается задача установления ее первопричины.

3. Изолирование ошибок. Согласно этому принципу, ошибки в одной из частей программы изолируются посредством, так называемых брандмауэров, чтобы не допустить их губительного влияния на другие части.

СРЕДСТВА ОТЛАДКИ

Разнообразие отладочных средств является залогом успеха при отладке программ. Однако программисту редко удается обойтись, стандартными средствами отладки и избежать создания своих

собственных средств.

Наиболее эффективными представляются такие средства отладки, которые вводятся в программу при ее написании. В этом случае места расположения ошибок могут определяться программистом с большей точностью.

Существует несколько типов отладочных средств, применяемых при программировании:

1. Распечатывание содержимого памяти.

2. Отслеживание хода выполнения алгоритма.

3. Отслеживание обращений к переменным.

4. Отслеживание обращений к подпрограммам.

5. Проверка индексов.

6. Воспроизведение значений переменных.

Вывод содержимого памяти на печать предполагает регистрацию текущего состояния программы в некоторый момент ее выполнения.

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

Средства отслеживания обращений к переменным разрабатываются с таким расчетом, чтобы печатались не все переменные подряд, а только указанные в конкретном списке.

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

Воспроизведение значений переменных осуществляется посредством отладочной команды DfSPLAY.