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

       

Автоматный механизм построения асинхронного тестового сценария


Асинхронным автоматным тестовым сценарием для целевой системы с асинхронным интерфейсом ( X, Y, Z ) называется пятерка ( DA, Afsm, IG, vg0, α ), где

  • DA - асинхронный тестовый сценарий для целевой системы с асинхронным интерфейсом ( X, Y, Z ),
  • Afsm = ( Sfsm, s0, Xfsm, Yfsm, Efsm, Qfsm ) - выделенный взаимодействующий автомат, входящий в состав DA, и называемый ведущим автоматом асинхронного тестового сценария DA,
  • IG = ( VG, XG, π ) - неизбыточное описание ориентированного графа, называемого графом сценария,
  • vg0
    VG - начальное состояние графа сценария,
  • α - неизбыточный алгоритм движения по графу сценария;

и для которой выполнены следующие ограничения:

  • Sfsm = ( VG x EG* x (XG
    { ε }) )
    { final } - состояние ведущего автомата является либо выделенным состоянием final, либо содержит:

    • текущую вершину графа сценария vg,
    • пройденный маршрут в графе сценария path (здесь множество EG* обозначает множество всех конечных списков элементов из множества дуг EG = VG x XG x VG),
    • последний посланный стимул графа, на который не был получен ответ, либо ε, обозначающее отсутствие такового стимула;

  • s0 = ( vg0,
    , ε ) - начальное состояние ведущего автомата состоит из
    • начальной вершины графа сценария,
    • пройденного пути, равного пустому списку,
    • специального значения ε;

  • Xfsm = { startvg,xg | vg
    VG, xg
    XG }
    { stop } - множество стимулов ведущего автомата состоит из набора стимулов, помеченных вершиной и стимулом графа, и из дополнительного стимула, символизирующего завершение работы, причем все эти стимулы являются внутренними для DA;
  • Yfsm = { finishvg | vg
    VG }
    { abort } - множество реакций ведущего автомата состоит из набора реакций, помеченных вершинами графа, и из дополнительной реакции, символизирующей аварийное завершение работы, причем все эти реакции являются внутренними для DA;
  • Efsm = { ( ( vg, path, ε ), startvg,xg, ( vg, path, xg ) ) | xg = α( IG, vg, path ) }





    { ( ( vg, path, ε ), stop, final ) | α( IG, vg, path ) = τ }



    { ( ( vg, path, xg ), finishvg*, ( vg', path', ε ) |

    vg' = vg*


    path' = path ^ ( vg, xg, vg' )
    }



    { ( ( vg, path, xg ), abort, final ) }

  • Qfsm = { final } - множество заключительных состояний ведущего автомата состоит из единственного состояния final.


Автоматным механизмом построения асинхронного тестового сценария называется функция, которая преобразует асинхронный автоматный тестовый сценарий ( DA, Afsm, IG, vg0, α ) в асинхронный тестовый сценарий DA.

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

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


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