Спецификация и тестирование систем с асинхронным интерфейсом

       

Унифицированная архитектура теста


В предыдущих разделах мы определили математические модели, используемые в технологии UniTesK. Также мы рассмотрели, как эти модели отражаются в унифицированной архитектуре теста. А теперь мы взглянем на унифицированную архитектуру в целом, соединив все разрозненные описания в единое целое.

Унифицированная архитектура теста в целом представлена на . Она определяет набор компонентов теста, составляющих ядро тестовой системы. Помимо тестовой системы, на диаграмме представлены:

  • целевая система - программная система, которую необходимо протестировать,
  • трасса - набор информации о ходе тестирования, собираемой тестовой системой во время работы теста,
  • отчеты - набор отчетов о различных аспектах процесса тестирования, генерируемый инструментами семейства UniTesK, на основе трассы теста.

Тестовая система содержит четыре компонента.

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

Все воздействия на целевую систему генерируемые тестовым сценарием осуществляется через оракул. Оракул

  • проверяет допустимость данного воздействия в текущем модельном состоянии,
  • выполняет это воздействие посредством обращения к медиатору,
  • проверяет корректность поведения целевой системы в рамках данного взаимодействия,
  • вычисляет покрытые элементы для всех заданных метрик покрытия и помещает эту информацию в трассу теста.

Медиатор получает от оракула указание осуществить тестовое воздействие, заданное стимулом x

X.
Для решения этой задачи медиатор


  • преобразует стимул x в вызов интерфейсной функции целевой системы со значениями входных параметров, соответствующих данному стимулу, и осуществляет этот вызов,
  • получает ответную реакцию целевой системы,
  • преобразует ее в модельное представление - некоторую реакцию y
    Y,
  • синхронизирует модельное состояние с внутренним состоянием тестируемой системы после оказания тестового воздействия,
  • возвращает модельное представление ответной реакции y
    Y оракулу.


Единственный пассивный компонент тестовой системы - это модельное состояние. Основная задача модельного состояния заключается в хранении текущих значений переменных состояния, определенных в спецификации целевой системы. Эти значения составляют модельное представление внутреннего состояния целевой системы. Поэтому только медиатор, который непосредственно работает с целевой системой, может изменять модельное состояние. Все остальные компоненты могут только читать модельное состояние.


Содержание раздела