By this algorithm, we can obtain the original run we used to define this FSM (from
Chapter 5, Section 5.5).We can also obtain many other runs from this same FSM by
choosing other transitions (other enabled actions), traversing different paths around
the links in the diagram (possibly repeating each cycle many times). For example,
the diagram in Figure 6.1 describes many runs that begin
ShowTitles(); SortByFirst(); SortByMostRecent(); ShowText(); ...
There are many more runs that begin
ShowTitles(); ShowText(); ShowTitles(); SortByFirst(); ...
And so on. A run obtained by traversing a graph is sometimes called a traversal or
an unwinding. A collection of related runs is called a scenario. The entire collection
of runs that can be generated from an FSM is called the scenario defined by that
FSM.
Traversing an FSM generated by exploration from a model program is our of-
fline test generation technique. Different traversal algorithms can achieve different
measures of behavioral coverage (Chapter 8).
6.1.2 Scenario FSMs and the true FSM
An FSM whose purpose is to define a scenario is called a scenario FSM. It is
possible to define many different scenario FSMs for any model program; each
different scenario FSM defines a different collection of runs. There is one FSM that
can generate all of the runs of a model program: its true FSM.
When the model program has a small number of states and actions, it is possible to
write down its true FSM.
Pages:
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148