3.4 Тест-планы
На основании тест-требований составляются тест-планы - программы испытаний (проверки, тестирования) программной реализации системы. В отличие от тест-требований в тест-плане описываются конкретные способы проверки функциональности системы, т.е. то, как должна проверяться функциональность. Тест-план состоит из отдельных тестовых примеров, каждый из которых проверяет некоторую функцию или набор функций системы.
Для каждого тестового примера однозначно определяется критерий успешного прохождения (pass/fail criteria), при помощи которого можно судить - соответствует ли поведение системы заданному в требованиях или нет (рисунок 3.3).
Рисунок 3.3 - Место тест-планов среди проектной документации
Критерием
качества тест-плана является покрытие (выполнение) всех требований к проверке
правильности функционирования программной реализации. Желательной
характеристикой тест-плана является проверка исполнения всех веток схемы
программной реализации. Структура тест-плана
может соответствовать структуре тест-требований или следовать логике внешнего
поведения системы. Каждый
пункт тест-плана описывает, как производится проверка правильности
функционирования программной реализации, и содержит: В
состав
тест-плана рекомендуется дополнительно включать пункты, которые служат для
проверки ветвей программы, не выполнявшихся при проверке удовлетворения
функциональных требований. Такие пункты тест-плана могут иметь указание
"Для полноты покрытия" в поле ссылки. Тест-план может
готовиться в формализованной форме и служить входным документом для тестовой
оснастки, по которому тесты будут выполняться в автоматическом режиме с
автоматической фиксацией результатов. В случае, если тест-план готовится в виде
текстового документа, возможно только ручное тестирование системы по данному
тест-плану. Форма
представления
тест-плана в первую очередь зависит от того, каким образом тест-план будет
использоваться в процессе тестирования. При ручном тестировании удобно
представление тест-планов в виде текстовых документов, в которых отдельные
разделы представляют собой описания тестовых примеров. Каждый тестовый пример в
таком случае включает в себя перечисление последовательности действий, которые
необходимо выполнить тестировщику
для проведения тестирования - сценария теста, а также ожидаемые отклики системы
на эти действия. Такая форма представления тест-плана неудобна для
автоматизации тестирования, поскольку описания на естественном языке
практически не поддаются формализации. Для
автоматизированного тестирования сценарий теста может записываться на
каком-либо формальном языке, в этом случае возможно непосредственное
использование тест-планов как входных данных для среды тестирования. Другой
формой
представления тест-планов является таблица. Эта форма наиболее часто
используется при четко и формально определенных входных потоках данных системы.
Например, каждый столбец таблицы может представлять собой тестовый пример,
каждая строка - описание входного потока данных, а в ячейке таблицы
записывается передаваемое в данном тестовом примере в данный поток значение.
Ожидаемые значения для данного теста записываются в аналогичной таблице, в
которой в строках перечисляются выходные потоки данных. И,
наконец, третьей формой представления тестовых примеров является определение
примеров в виде конечного автомата. Такая форма представления используется при
тестировании протоколов связи или программных модулей, взаимодействие которых с
внешним миром производится при помощи обмена сообщениями по заранее заданному
интерфейсу. Модуль при этом может быть
представлен как конечный автомат с набором состояний, а тест-план будет
состоять из двух частей - описания переходов между состояниями и их параметров
и тестовых примеров, в которых задается маршрут перехода между состояниями, параметры
переходов и ожидаемые значения.