Унифицированная архитектура теста
В предыдущих разделах мы определили математические модели, используемые в технологии UniTesK. Также мы рассмотрели, как эти модели отражаются в унифицированной архитектуре теста. А теперь мы взглянем на унифицированную архитектуру в целом, соединив все разрозненные описания в единое целое.
Унифицированная архитектура теста в целом представлена на . Она определяет набор компонентов теста, составляющих ядро тестовой системы. Помимо тестовой системы, на диаграмме представлены:
- целевая система - программная система, которую необходимо протестировать,
- трасса - набор информации о ходе тестирования, собираемой тестовой системой во время работы теста,
- отчеты - набор отчетов о различных аспектах процесса тестирования, генерируемый инструментами семейства UniTesK, на основе трассы теста.
Тестовая система содержит четыре компонента.
Тестовый сценарий управляет всем процессом тестирования. Он интерактивно, в ходе взаимодействия с целевой системой, генерирует последовательность воздействий на целевую систему. Для этого автоматный механизм осуществляет обход графа, заданного в описании сценария. Прохождение по дуге этого графа сопровождается выполнением сценарного воздействия, приписанного данной дуге. Сценарное воздействие, которое является "компактным" тестовым сценарием, управляет последовательностью взаимодействий с целевой системой. По завершению работы сценарного воздействия автоматный механизм либо принимает решение о завершении тестирования, либо выбирает следующую дугу и инициирует следующее сценарное воздействие.
Все воздействия на целевую систему генерируемые тестовым сценарием осуществляется через оракул. Оракул
- проверяет допустимость данного воздействия в текущем модельном состоянии,
- выполняет это воздействие посредством обращения к медиатору,
- проверяет корректность поведения целевой системы в рамках данного взаимодействия,
- вычисляет покрытые элементы для всех заданных метрик покрытия и помещает эту информацию в трассу теста.
Медиатор получает от оракула указание осуществить тестовое воздействие, заданное стимулом x
X.Для решения этой задачи медиатор
- преобразует стимул x в вызов интерфейсной функции целевой системы со значениями входных параметров, соответствующих данному стимулу, и осуществляет этот вызов,
- получает ответную реакцию целевой системы,
- преобразует ее в модельное представление - некоторую реакцию y Y,
- синхронизирует модельное состояние с внутренним состоянием тестируемой системы после оказания тестового воздействия,
- возвращает модельное представление ответной реакции y Y оракулу.
Единственный пассивный компонент тестовой системы - это модельное состояние. Основная задача модельного состояния заключается в хранении текущих значений переменных состояния, определенных в спецификации целевой системы. Эти значения составляют модельное представление внутреннего состояния целевой системы. Поэтому только медиатор, который непосредственно работает с целевой системой, может изменять модельное состояние. Все остальные компоненты могут только читать модельное состояние.