Testing
State Machine Testing: FSM-Based Test Design
Every non-trivial software system has state. A shopping cart is empty, then has items, then is checked out. A door is locked, unlocked, or open. A connection is connecting, connected, or disconnected. Finite state machines (FSMs) are a precise way to model that state — and state machine testing is