Wednesday, 3 October 2012

What is State Transition Testing?

State transition testing uses a model of the states the component may occupy, the transitions between those states, the events which cause those transitions, and the actions which may result from those transitions.

The model shall comprise states, transitions, events, actions and their relationships.  The states of the model shall be disjoint, identifiable and finite in number.  Events cause transitions between states, and transitions can return to the same state where they began.  Events will be caused by inputs to the component, and actions in the state transition model may cause outputs from the component.
The model will typically be represented as a state transition diagram, state transition model, or a state table.
Test cases shall be designed to exercise transitions between states.  A test case may exercise any number of transitions.  For each test case, the following shall be specified:

-  the starting state of the component
         -  the input(s) to the component
         -  the expected outputs from the component
         - the expected final state.
For each expected transition within a test case, the following shall be specified:
-  the starting state;
         -  the event which causes transition to the next state;
         -  the expected action caused by the transition;
         -  the expected next state. 

Test cases are designed to exercise valid transitions between states.  Test cases may also be designed to test that unspecified transitions cannot be induced.


  1. I found some cool exam papers for ISTQB-BCS Certified Tester Foundation Level which has all the questions and answers and full explanation for State Transition Testing @


  2. Good article on State Transition Testing

    1. Transition testing came up in my exam so its a good thing I read this

  3. Can you please cover 0-switch coverage in your next article.