A bug-tracking workflow that has four states (NEW, POSTPONED, ASSIGNED and CLOSED) needs to be tested.
The workflow consists of transitions between states, which are made by the following rules:
- A newly submitted ticket is automatically set to the NEW state.
- A ticket in the NEW state can be changed to the POSTPONED, ASSIGNED or CLOSED state.
- A ticket in the POSTPONED state can be changed to the ASSIGNED state.
- A ticket in the ASSIGNED state is processed and after that its state is changed to CLOSED.
- A ticket in the CLOSED state is tested. If the bug has not been fixed, its state is changed back to NEW.
Select test cases (sequences of states a ticket has to be driven through) that form an adequate test suite with a minimum total number of state transitions.