Концепция: Тестирование структуры
Основной принцип тестирования структуры заключается в том, что все результаты принятия решений должны исследоваться независимо друг от друга и при этом количество тестов для каждого отдельно взятого модуля соответствует цикломатической сложности этого модуля.
Взаимосвязи
Связанные элементы
Основное описание

Идея структурного тестирования используется в двух контекстах. Хотя эти контексты различны по природе, в них используется одна и та же ключевая идея тестирования структуры.

Тестирование структуры внутреннего кода

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

Тестирование структуры сайтов

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

  • Общение с многочисленной аудиторией заказчиков, потенциальных клиентов и партнеров по бизнесу без отправки каких бы то ни было программных продуктов и документов на бумаге. Любой человек с браузером и доступом к сети (Internet или Intranet) может открыть страницу с указанным адресом и сразу же получить доступ к приложению.
  • Централизованное управление и обслуживание. Модель "тонкий клиент и тяжелый сервер", характерная для Web-приложений, подразумевает размещение приложений на стороне сервера, что позволяет централизовать и значительно упростить управление и обслуживание. Кроме того, это позволяет разработчикам организовать автоматическое предоставление программного обеспечения пользователям. Как только приложение попадает на сервер, оно становится доступным всем.

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

Как правило, Web-приложения представляют собой совокупность документов (текста в формате HTML и изображений в форматах GIF/JPEG), соединенных большим количеством статических ссылок и небольшим числом активных ссылок (ссылок с программным управлением). В состав приложений могут входить так называемые активные материалы: формы, сценарии Java, встраиваемые модули и приложения Java. Активные материалы зачастую используются только для вывода данных, например, в форме аудио- или видеороликов. Однако они также могут применяться для упрощения работы с сайтом и навигации по нему. Высокая степень свободы Web-приложений (за счет ссылок) - это не только их преимущество, но и большой недостаток, поскольку становится очень легко нарушить структуру приложения.

Тестирование структуры применяется для проверки работоспособности всех статических и активных ссылок. Применяются следующие тесты:

  • Проверка правильности материалов (текста, графики и т.п.) по всем ссылкам. В Web-приложениях применяются различные виды ссылок, включая закладки, гиперссылки на другие страницы того же или другого сайта, и активные области. Необходимо проверить все ссылки и убедиться в том, что каждая из них ведет на ту страницу, которую должен увидеть пользователь.
  • Проверка работоспособности ссылок. Нерабочая ссылка - это ссылка, указывающая на несуществующие материалы. Ссылки могут быть нерабочими по различным причинам, например, из-за перемещения, удаления или переименования файлов с материалами. Кроме того, ссылки могут быть нерабочими из-за ошибок, например, в них могут отсутствовать необходимые символы косой черты, двоеточия или буквы.
  • Проверка отсутствия потерянных материалов. Потерянными называются файлы, на которые в пределах сайта нет ни одной "входящей" ссылки, т.е. таких материалов, которые пользователь не сможет увидеть ни при каких обстоятельствах. Необходимо внимательно изучить все потерянные материалы и выяснить причины, по которым они потеряны:
    • Материалы потеряны потому, что они больше не нужны?
    • Материалы потеряны из-за ошибки в ссылке?
    • Материалы доступны по ссылке извне данного сайта?

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