ГОСТ Р 56921-2016/ISO/IEC/IEEE 29119-2:2013. Национальный стандарт Российской Федерации. Системная и программная инженерия. Тестирование программного обеспечения. Часть 2. Процессы тестирования
8.2. Процесс Разработки и Реализации Тестирования
8.2.1 Общие сведения
Процесс Разработки и Реализации Тестирования используется для получения контрольных примеров и процедур тестирования, которые обычно записываются в спецификацию тестирования, однако в некоторых случаях, например, при исследовательском тестировании, при котором они вряд ли будут предварительно документированы, они могут быть сразу выполнены. На рисунке 10 действия показаны в логической последовательности, но на практике между некоторыми действиями будет иметь место итерация, зачастую между действиями от TD3 до TD5, выполняемыми по большей части параллельно.
Рисунок 10 - Процесс Разработки и Реализации Тестирования
Этот процесс используется для получения контрольных примеров и процедур тестирования, но необходимо отметить, что в некоторых случаях может иметься возможность повторного использования ранее разработанных активов тестирования, особенно в случаях разработки регрессионных тестов.
Кроме того, Процесс Разработки и Реализации Тестирования может быть прерван и начат повторно по многим причинам, например, если после выполнения процедуры тестирования или создания отчетов об инциденте стало понятно, что для достижения требуемых критериев завершения тестирования необходимы дополнительные контрольные примеры. Таким образом, вполне возможно, что единственное требуемое для элемента тестирования подмножество всех контрольных примеров может быть получено в ходе любой реализации этого процесса.
Для получения контрольных примеров и процедур тестирования, конечной целью которых является достижение критериев завершения тестирования, определенных, обычно, с точки зрения показателей тестового покрытия, этот процесс требует от тестеров применения одной или нескольких методик проектирования тестирования. Используемые методики проектирования тестирования и критерии завершения тестирования определены в Плане Тестирования. Методы проектирования тестирования и показатели определены в ИСО/МЭК/ИИЭР 29119-4 "Методики тестирования".
Ряд ситуаций может привести к итерации действий в этом процессе. Среди таких ситуаций может быть, например, несогласие заинтересованных сторон с результатами такого действия, как определение тестовых условий. Точно так же может возникнуть ситуация, когда в результате действий становится понятно, что решения по планированию тестирования, такие, как выбор критериев завершения тестирования, несовместимы с ограничениями по срокам проекта, что потребует пересмотра процессов менеджмента тестирования.
Примечание - Пример действий от TD2 до TD5 представлен в приложении A.
8.2.2 Цель
Цель Процесса Разработки и Реализации Тестирования состоит в получении процедур тестирования, которые будут выполняться в ходе Процесса Выполнения Теста. В рамках этого процесса анализируется базис тестирования, функции объединяются в наборы функций, получаются тестовые условия, элементы тестового покрытия, контрольные примеры, процедуры тестирования и собираются наборы тестов.
8.2.3 Результаты
В результате успешной реализации Процесса Разработки и Реализации Тестирования:
a) проанализированы базисы тестирования для каждого элемента тестирования;
b) функции, подлежащие проверке, объединены в наборы функций;
c) получены тестовые условия;
d) получены элементы тестового покрытия;
e) получены контрольные примеры;
f) собраны наборы тестов;
g) получены процедуры тестирования.
8.2.4 Действия и задачи
Лица, ответственные за разработку и реализацию тестирования, должны реализовать следующие действия и задачи в соответствии с применимыми организационными политиками и процедурами для Процесса Разработки и Реализации Тестирования.
8.2.4.1 Определить наборы функций (TD1)
Эта деятельность состоит из следующих задач:
a) Для выявления требований для элемента тестирования необходимо проанализировать базис тестирования.
Примечание - Если при анализе будут выявлены дефекты, то о них необходимо сообщить, используя соответствующую систему управления инцидентами.
b) Функции, подлежащие проверке, нужно объединить в наборы функций.
Примечания
1 Набор функций может быть проверен независимо от других наборов функций.
2 Для тестирования компонента/блока может быть только один набор функций; для более высоких уровней тестирования (например, тестирование системы) может быть множество наборов функций, которое, обычно, зеркально отражает архитектуру элемента тестирования.
3 Если не идентифицировано множество наборов функций, то совокупность функций будет обрабатываться как единственный набор функций.
c) Необходимо установить приоритеты тестирования наборов функций, используя уровни воздействия рисков, документированные в задаче "Определить и изучить риски" (TP3).
d) Состав и приоритеты наборов функций должны быть согласованы с заинтересованными сторонами.
Примечание - По мере необходимости выполнение задач a), b) и c) повторяется.
e) Набор(ы) функций должен быть задокументирован в спецификацию проекта тестирования.
f) Необходимо документировать прослеживаемость между базисом тестирования и набором (наборами) функций.
Примечание - Задачи от c) до f) применимы, если в задаче b) были определены наборы функций.
8.2.4.2 Получить тестовые условия (TD2)
Эта деятельность состоит из следующих задач:
a) необходимо определить тестовые условия для каждой функции на основе критериев завершения тестирования, определенных в Плане Тестирования.
Примечание - Тестовое условие - это тестируемый аспект компонента или системы, такой, как функция, транзакция, функциональность, атрибут качества или структурный элемент, идентифицированный как основание для тестирования. Определение тестовых условий может быть реализовано простой договоренностью об атрибутах особого интереса заинтересованных сторон, которые должны быть проверены с применением одной или более систематических методик (методики получения тестовых условий зачастую определены в составе моделирования или анализа методов проектирования тестирования, которые определены в ИСО/МЭК/ИИЭР 29119-4 "Методики тестирования"). Например, если был определен критерий завершения тестирования, связанный с покрытием состояния, то тестовыми условиями будут состояния, в которых может быть элемент тестирования. Другими примерами тестовых условий могут быть классы эквивалентности (и границы между ними) и программные решения.
b) Необходимо установить приоритеты тестовых условий, используя уровни воздействия рисков, документированные в задаче "Определить и изучить риски" (TP3).
c) Тестовые условия должны быть документированы в спецификации проекта тестирования.
Примечание - При выполнении исследовательского тестирования спецификация проекта тестирования может быть в различных формах, включая и концепцию тестирования.
d) Должна быть документирована прослеживаемость между базисом тестирования, наборами функций и тестовыми условиями.
e) Спецификация проекта тестирования должна быть утверждена заинтересованными сторонами.
Примечание - Это может потребовать повторения задач a), b) и c) или сначала повторения действия "Определить наборы функций" (TD1).
8.2.4.3 Получить элементы тестового покрытия (TD3)
Эта деятельность состоит из следующих задач:
a) Применив методику проектирования тестирования к тестовым условиям для достижения критериев покрытия завершения тестирования, определенных в Плане Тестирования, необходимо получить элементы тестового покрытия для реализации тестирования.
Примечания
1 Элементы тестового покрытия - это атрибуты каждого тестового условия. Например, если граница идентифицирована как тестовое условие, то соответствующие элементы тестового покрытия могут быть как самой границей, так и любой стороной границы; таким образом, отдельное тестовое условие может быть базой одного или более элементов тестового покрытия.
2 Если критерий завершения тестирования элемента тестирования определен меньшим, чем 100% показателя тестового покрытия, то для реализации тестирования должно быть выбрано подмножество элементов тестового покрытия, необходимое для достижения стопроцентного покрытия.
3 В Плане Тестирования или Организационной Стратегии Тестирования могут быть представлены критерии, которые помогут в этом выборе (например, отбросить элементы тестового покрытия, связанные с более низким воздействием рисков). Этот выбор возможно потребует пересмотра на основании результатов более поздних действий.
4 Совокупность элементов тестового покрытия может быть оптимизирована путем объединения покрытий множества тестовых условий в один элемент тестового покрытия. Таким образом, один элемент тестового покрытия может представлять больше одного тестового условия.
b) Необходимо установить приоритеты элементов тестового покрытия, используя уровни воздействия рисков, документированные в задаче "Определить и изучить риски" (TP3).
c) Элементы тестового покрытия должны быть документированы в спецификации контрольного примера.
d) Необходимо документировать прослеживаемость между базисом тестирования, наборами функций, тестовыми условиями и элементами тестового покрытия.
8.2.4.4 Получить контрольные примеры (TD4)
Эта деятельность состоит из следующих задач:
a) Необходимо получить один или более контрольных примеров, определив исходные условия, выбрав входные значения и, в случае необходимости, действия для реализации выбранных элементов тестового покрытия, и определив соответствующие ожидаемые результаты.
Примечание - Один контрольный пример может быть использован для более одного элемента тестового покрытия. Таким образом при получении контрольного примера есть возможность объединить в одном контрольном примере покрытие нескольких элементов тестового покрытия. Это может уменьшить время выполнения теста, но также может увеличить время отладки.
b) Необходимо установить приоритеты контрольных примеров, используя уровни воздействия рисков, документированные в задаче "Определить и изучить риски" (TP3).
c) Контрольные примеры должны быть документированы в спецификации контрольных примеров.
d) Должна быть документирована прослеживаемость между базисом тестирования, наборами функций, тестовыми условиями, элементами тестового покрытия и контрольными примерами.
e) Спецификация контрольных примеров должна быть утверждена заинтересованными сторонами.
Примечание - Это может потребовать повторения выполнения задач a) и b), а в некоторых случаях, сначала повторения действий "Получить тестовые условия" (TD2) и/или "Получить элементы тестового покрытия" (TD3).
8.2.4.5 Собрать наборы тестов (TD5)
Эта деятельность состоит из следующих задач:
a) Контрольные примеры могут быть объединены в один или несколько наборов тестов на основе ограничений на их выполнение.
Примечание - Если не определено множество наборов тестов, то совокупность контрольных примеров рассматривается как один набор тестов.
Пример - Например, некоторые наборы тестов могут потребовать определенной установки тестовой среды, некоторые из них могут подходить для ручного выполнения теста, а другие - больше подходить для автоматизированного выполнения теста или могут требовать конкретных знаний проблемной области.
b) Наборы тестов должны быть документированы в спецификации процедуры тестирования.
c) Должна быть документирована прослеживаемость между базисом тестирования, наборами функций, тестовыми условиями, элементами тестового покрытия, контрольными примерами и наборами тестов.
8.2.4.6 Получить процедуры тестирования (TD6)
Эта деятельность состоит из следующих задач:
a) Необходимо получить процедуры тестирования путем упорядочивания контрольных примеров в наборе тестов в соответствии с зависимостями, описанными предварительными условиями, постусловиями и другими требованиями тестирования.
Пример - Риски, которые будут обработаны.
Примечания
1 В процедуру тестирования могут быть включены любые другие требуемые действия, необходимые для создания предварительных условий для контрольного примера.
2 Если процедуры тестирования должны выполняться с использованием инструментов, то может потребоваться их доработка посредством добавления дополнительного модуля для создания автоматизированных сценариев тестирования.
b) Должны быть идентифицированы все тестовые данные и требования к тестовой среде, которые не были включены в План Тестирования.
Примечание - Несмотря на то, что это действие не может быть завершено до полного завершения получения процедур тестирования, эта задача в процессе зачастую может запускаться намного ранее, в отдельных случаях сразу после того, как согласованы тестовые условия.
c) Необходимо установить приоритеты процедур тестирования, используя уровни воздействия рисков, документированные в задаче "Определить и изучить риски" (TP3).
d) Процедуры тестирования должны быть документированы в спецификации процедур тестирования.
e) Должна быть документирована прослеживаемость между базисом тестирования, наборами функций, тестовыми условиями, элементами тестового покрытия, контрольными примерами, наборами тестов и процедурами тестирования (и/или автоматизированными сценариями тестирования).
f) Спецификация процедуры тестирования должна быть утверждена заинтересованными сторонами.
Примечание - Это может потребовать повторения выполнения задач, приведенных в перечислении a) - e).
8.2.5 Информационные элементы
В результате выполнения этого процесса должны быть произведены следующие информационные элементы:
a) спецификации тестирования (спецификации проекта тестирования, спецификации контрольного примера и спецификации процедуры тестирования) и соответствующая информация по прослеживаемости;
b) требования к тестовым данным;
c) требования к тестовой среде.