Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Технология программирования / ИТ / Лекции_Технология_прогр.doc
Скачиваний:
119
Добавлен:
17.05.2015
Размер:
848.38 Кб
Скачать

§16. Тестирование и отладка программ

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

После того, как программа написана и как-то работает, работа над ней не заканчивается. Необходимо еще убедиться, что она работает корректно во всех ситуациях, которые могут возникнуть при ее использовании. Если это не так – следует найти и устранить ошибки. Иными словами, после завершения процесса программирования программный продукт переходит в стадию тестирования и отладки.

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

Отладкой называется процесс поиска и устранения ошибок.

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

Методы тестирования программ

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

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

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

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

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

Средства отладки программ в Delphi

Ошибки, которые могут быть в программе, принято делить на три группы:

  • синтаксические;

  • ошибки времени выполнения;

  • алгоритмические.

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

Ошибки времени выполнения (Run-time error) возникают не при каждом запуске программы, а лишь при определенном наборе входных данных (например, делении на ноль или вводе некорректной даты). Для их выявления требуется тщательно подготовить тестовые примеры. Если причиной являются не программные ошибки, а действия пользователя, то в программе должна быть предусмотрена обработка исключительных ситуаций (см. § 5).

С алгоритмическими ошибками дело обстоит иначе. Компиляция программы, в которой есть алгоритмическая ошибка, завершается успешно. При пробных запусках программа ведет себя нормально, однако при анализе результата выясняется, что он неверный. Для обнаружения такой ошибки нужен тщательно подобранный набор тестовых примеров. Для того чтобы устранить алгоритмическую ошибку, приходится анализировать алгоритм, вручную «прокручивать» его выполнение.

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

Соседние файлы в папке ИТ