ГОСТ Р 56920—2016
регрессивных дефектов, оставшихся в поставленном продукте. Однако в этом случае можно приме
нить исследовательское тестирование как способ разрешения этого риска регрессии.
Целесообразность применения основанного на требованиях тестирования зависит от контекста.
Если требования не полны или не согласованы, то и результирующее тестирование может иметь те же
недостатки. Даже если требования хорошо определены, естьопасностьтого, что бюджетныеограниче
ния и ограничения времени могут не позволить проворить все требования. В случае если
требования определены с дополнительной информацией об их относительных приоритетах, эта
информация может быть использована для определения приоритетов тестирования (в этом случае
основанный на рисках подход может быть использован для назначения более высокого приоритета
высокоприори тетному требованию). На практике тестеры при выполненииоснованного на
требованиях тестирования часто используют дополнительную информацию таким образом, чтобы
самые важные (соответствую щие самым высоким рискам) требования были протестированы
наиболее тщательнои раньшедругих.
5.6.3 Модельное тестирование
В тестировании широко используется понятие модели, представляющей ожидаемое поведение
элемента тестирования, которое является базисом тестирования. Эта модель можетбыть представле на
в форме требований на естественном языке, ментальных образов, математических уравнений, гра
фических нотаций (например, диаграммы изменения состояний, диаграммы UML) или матрицы
(например, таблицы решений), или совокупностью этихформ. Традиционно тестер использует модель,
чтобы вручную получить входы и ожидаемые результаты тестирования при выполнении тестирования
на основе спецификации, а также ожидаемые результаты при выполнении тестирования на основе
структуры (входы тестирования в этом случае получаются в результате анализа структуры элемента
тестирования). Далее тестирование выполняется либо вручную, либо с использованием инструментов
тестирования.
Модельное тестирование использует принципиально иную практику, хотя в ее основании лежит
модель ожидаемого поведения. Особенность модельного тестирования заключается в требовании от
модели формальности и подробности, достаточныхдля получения из модели необходимой для тести
рования информации. Подобная информация может включать в себя планы тестирования, проект, про
цедуры. входы, риски и/или прогнозы. Преимущества использования модельного тестирования
заключаются в генерации информации тестирования, повышенном уровне автоматизации в жизнен
ном цикле тестирования (от планирования до документирования) и ранней идентификации некоторых
видов ошибок. Следствием повышенного уровня автоматизации является факт того, что за относи
тельно короткое время могут быть автоматически сгенерированы, выполнены и проверены миллионы
контрольных примеров.
Типичными для использования модельного тестирования условиями являются важные приложе
ния. отказ от которых может привести к большому ущербу и требуемое поведение которых поддается
моделированию в форме, позволяющей использовать инструменты модельного тестирования (нужно
также наличие необходимогодля создания и поддержки модели квалифицированного персонала). Гра-
фическая нотация UML часто используется в качестве базы этих моделей, хотя используются и
другие нотации. Другим соображением в пользу использования модельного тестирования является то.
что при эксплуатации предполагается сопровождение приложения на регулярной основе, а изменение
модели проще, чем обновление автоматизированных сценариев тестирования (каждый раз после
обновления модели инструмент модельного тестирования может далее генерировать и запускать
множество тестов при относительно низкой стоимости).
Использование модели может обеспечить преимущества ив других областях. Например, автома
тическая генерация исходного кода на основе модели может уменьшить количество дефектов опреде
ленных типов, создаваемых во время разработки (например, опечаток в коде и дефектов, которые
могут быть обнаружены модельной проверкой). Это облегчает процесс тестирования за счетсокраще
ния числадефектов в элементах тестирования, попадающих втестирование из процесса разработки.
5.6.4 Математическое тестирование
Математические методики тестирования могут использоваться для планирования, проектирова
ния, выбора данных и установки входных условий в случае, если возможно достаточно детальное
определение пространства входа или выхода элемента тестирования. В своем подходе математичес
кие методы используют различные области математики. Эти методы могут уменьшить величину субъ
ективной систематической ошибки выбора контрольного примера и назначения приоритетов.
На практике в математическом тестировании используется множество методик, однако наиболее
часто используют методики проектирования тестирования, описанные в ИСО/МЭЮ’ИИЭР 29119-4:
- комбинаторное тестирование:
- случайный выбор контрольного примера.
27