Сценарные функции
В данном разделе мы рассмотрим метод описания тестовых сценариев, приписанных к дугам графа сценария. В основе метода лежит понятие сценарной функции, которое представляет собой параметризованное семейство тестовых сценариев.
Сценарной функцией для целевой системы с интерфейсом ( X, Y, V ) называется шестерка ( GS, PS, IS, C, is0, π ), где:
- GS - множество внешних состояний;
- PS - множество параметризующих состояний;
- IS - множество внутренних состояний;
- C = ( CS, A, B, E, Q ) - управляющий автомат, в котором:
- CS = GS x PS x IS - состояние автомата состоит из декартова произведения всех видов состояний сценарной функции,
- A = X V,
- B = (Y x V) { ε },
- E CS x A x B x CS,
- Q CS;
- is0 : V x GS IS - функция инициализации сценарной функции;
- π : V x GS (PS) - функция, определяющая множество параметризующих состояний для данных внешнего состояния и состояния целевой системы. Это множество мы будем называть множеством параметров.
Множество всех сценарных функций для целевой системы с интерфейсом ( X, Y, V ) и имеющее множество внешних состояний GS мы будем обозначать Σ( X, Y, V, GS ).
Автоматным тестовым сценарием со сценарными функциями для целевой системы с интерфейсом ( X, Y, V ) называется шестерка ( GS, gs0, VG, vg, α,

- GS - множество глобальных состояний сценария;
- gs0 : V GS - функция инициализации глобального состояния;
- VG - множество вершин графа автомата;
- vg : V x GS VG - функция вычисления вершины графа сценария;
- α - неизбыточный алгоритм движения по графу сценария,
- - конечный набор сценарных функций ΣiΣ( X, Y, V, GS ).
Множества параметров всех сценарных функций должны быть согласованы с вершинами графа сценария:






vg( v1, gs1 ) = vg( v2, gs2 )

Другими словами, для любой пары значений состояния целевой системы и глобального состояния сценария, отображающейся в одну вершину графа сценария, множества параметров всех сценарных функций должны совпадать.
Исходя из этого ограничения, можно определить множество параметров сценарной функции Σi в данной вершине графа vg как:
- πΣi( v, gs ), если vVgsGS : vg( v, gs ) = vg;
- {}, иначе.
В автоматном тестовом сценарии со сценарными функциями набор сценарных функций используется не только для описания тестовых сценариев приписанных к дугам графа, но и для описания множества стимулов графа. Далее, мы определим семантику автоматных тестовых сценариев со сценарными функциями посредством описания механизма преобразования таких сценариев в тестовый сценарий.
Автоматным механизмом сценарных функций называется функция, преобразующая автоматный тестовый сценарий со сценарными функциями ( GS, gs0, VG, vg, α,

- неизбыточное описание ориентированного графа IG' = ( VG', XG', π' ) состоит из:
- множества вершин, совпадающего с множеством вершин графа автомата VG (VG' = VG),
- множества стимулов, являющегося дизъюнктивным объединением параметризующих состояний всех сценарных функций (XG' = ),
- функции, определяющей множество допустимых стимулов π' = ;
- функция инициализации графа сценария vg0': vg0'(v) ≡ vg( v, gs0(v) );
- неизбыточный алгоритм α' = α;
- множество состояний сценария S' = GS x V x State,
где State ={ε}; - функция рестарта сценария ρ': ρ'( (gs,v,state) ) ≡ ( gs, v, ε );
- сценарное воздействие γ'( vg, psi ) = ( ( S', A', B', E', Q' ), s'0 ) ( X, Y, V, S' ) определяется для каждой пары ( vg, psi ) следующим образом:
- A' = X V,
- B' = (Y x V) { ε },
- E' = { ( ( gs, v, state ), a, b, ( gs', ( ps'i, v', is'i) ) ) :
( ( state = ε )
( ( gs, psi, isi,0( v, gs ) ), a, b, ( gs', ps'i, is'i ) )Ei
)
( (isiISi state = ( psi, isi) )
( ( gs, psi, isi ), a, b, ( gs', ps'i, is'i ) )Ei
)
( aV )v' = a
( b = ( yb, vb )Y x V )v' = vb },
- Q' = { ( gs, v, state ) S' :
( ( state = ε )
( gs, psi, isi,0( v, gs ) )Qi
)
( (isiISi state = ( psi, isi) )( gs, psi, isi )Qi
)
}, - s'0(v0) = ( gs0(v0), v0, ε );
- A' = X
- отображение η'( vg1, psi, v, ( gs, v2, state ) ) = vg( v, gs ).
Таким образом, автоматный тестовый сценарий со сценарными функциями определяет тестовый сценарий, являющийся последовательной композицией тестовых сценариев приписанных к дугам графа сценария. Правила выбора последовательности дуг графа определяются алгоритмом движения, который учитывает при этом поведение целевой системы.