Chapter 11State Machine Properties
If you’ve ever had a system that could do things differently based on context, you probably have an intuitive knowledge of what a finite state machine is. Finite state machines (FSM) are, informally speaking, an abstraction describing certain stateful programs. The program can be in only one of multiple known states at a time (such as a traffic light being red, yellow, or green), and transitions from one state to another based on specific inputs or events. Within each state, the program may behave differently.
Let’s imagine a program that should take special measures—such as forbidding some actions or enabling new features—depending on whether network connectivity is good, bad, or entirely unavailable. Testing ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access