Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Аттестация - АСУТП 2008г.doc
Скачиваний:
61
Добавлен:
07.11.2018
Размер:
479 Кб
Скачать
☆

16. Основные принципы тестирования программ

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

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

  • отсутствие эталона (программы), которому должна соответствовать тестируемая программа;

  • высокая сложность программ и принципиальная невозможность исчерпывающего тестирования;

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

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

Принцип 1. Процесс тестирования более эффективен, если проводится не автором программы. Тестовый прогон, в результате которого не выявлено ошибок считается неудачным (неэффективным).

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

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

Принцип 4. Тесты для неправильных и непредусмотренных входных данных должны разрабатываться также тщательно, как для правильных, предусмотренных.

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

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