5.18. Тестирование программного обеспечения

Время на тестирование системы и на исправление обнаруженных ошибок следует предусматривать не только на этапе разработки, но и на других этапах ЖЦ ПО. На этапе анализа тестирование проводится, например, для получения сравнительных характеристик предполагаемых к использованию аппаратных платформ, операционных систем, СУБД, иного окружения.

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

На Западе широко применяется проведение тестирования ПО сторонними орга-низациями, особенно в США, где насчитывается несколько десятков тестовых лабора-торий.

Причинами распространения подобного бизнеса стало то, что:

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

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

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

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