State Transition Diagrams
Rex Black · 2016
This chapter presents a powerful technique for black-box testing, with the correct behavior of the system depending not only on what is happening right now. A system that has some awareness of what has happened in the past has state-dependent behavior. State transition diagrams and state tables are powerful tools for analyzing and testing such systems. Event is an occurrence that can trigger a change in state. It can be something the cashier does, something the customer does, something the system does, or even something external to all the actors. State transition diagrams will usually show only transitions for events that are legal in a given state. State transition tables allow user as a tester to overcome this limitation by combining every known state with every event or condition. The reality is that exception events like system crashes and shutdowns can take a print server offline. The complexity might indicate bad design, or that users do not really understand the set of states and transitions. The main bug is that the system seems to force the shift end to occur only in the midst of charging the customer, which is nonsensical.