Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UMK_konspekt_TP_4_a4_2.doc
Скачиваний:
16
Добавлен:
29.09.2019
Размер:
1.57 Mб
Скачать

24. Основные типы ошибок в программах

В программах обычно различают три типа ошибок:

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

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

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

Большинство синтаксических ошибок фиксируется компиляторами и поэтому достаточно легко устраняется.

  1. Семантические ошибки – это нарушение логики, структуры программы, неправильное использование структур данных.

Пример. Деление на нуль, использование несуществующих номеров элементов массива, исчерпание оперативной памяти, использование одной переменной вместо другой и др.

Семантические ошибки выявляются труднее синтаксических. Для их обнаружения обычно применяются возможности интегрированного отладчика. Значительная часть семантических ошибок может быть обнаружена при выполнении программы, особенно в режиме тестирования и при включенных режимах контроля логики программы.

  1. Прагматические ошибки – это нарушение требований к структуре и назначению программы и ее функций.

Пример. Непригодный дизайн интерфейса: позабыта предусмотренная функция прикладной программы типа предоставления предварительного просмотра отчета о структуре выдаваемого на печать документа.

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

При поиске ошибок можно руководствоваться следующими «законами программиста»:

  1. В любой программе всегда имеется хотя бы одна ошибка.

  2. Последняя из найденных ошибок никогда не является последней.

Основная трудность при этом – установление экономического оптимума: когда дальнейшее тестирование программы станет невыгодным.

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

25. Отладка и тестирование

Отладка – это процесс доводки программы до состояния, в котором она до конца транслируется и затем выполняется.

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

Тестирование – это процесс нахождения ошибок в ПП путем выполнения системы тестов.

Задача тестирования - довести программу до состояния, в котором она:

  1. Работает без остановов

  2. Выдает похожие на правду результаты

  3. Правдоподобно реагирует на заданные ситуации.

Тесты составляются для такого множества исходных данных, которое по возможности обеспечивает:

  1. Апробацию каждой ветви (модуля), оператора программы и каждого из возможных вариантов условий.

  2. Апробацию всех типов и комбинаций исходных данных, особенно их предельных значений.

Все стратегии тестирования нацелены на формирование оптимального с экономической точки зрения набора тестов. При этом основное требование к тестированию – подготовка его плана до начала программирования. Соблюдение этого требования позволяет:

  1. Устранить опасность подгонки тестов к программе.

  2. Уяснить ограничения на входные данные и сформировать правильное представление о завершенной программе.

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

За подготовку тестов должны отвечать опытные и компетентные лица, знакомые с областью применения программы:

  • пользователи;

  • системные аналитики;

  • руководители проекта.

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

  • тест проверки работы без учета ошибочных ситуаций;

  • тест, содержащий нетипичные для программы данные;

  • тест, содержащий неверные данные и т.д.

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

Интегрированные отладчики обладают простотою доступа и единством идеологии работы с компонентами языковой среды разработки.

Автономные отладчики порой могут предоставлять дополнительные, порой весьма специфические возможности.

Пример. Интегрирований отладчик среды Delphi позволяет выполнять следующие отладочные операции:

  • запускать программы на выполнение;

  • контролировать значения её параметров и переменных;

  • модифицировать их значения в ходе выполнения;

  • приостанавливать выполнение программы;

  • выполнять программу по шагам.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]