← ClaudeAtlas

state-transition-testinglisted

Apply this skill whenever you need to design test cases using State Transition Testing. Use when given requirements describing a system whose behavior depends on its current state AND its history of events — not just the current input alone. Triggers include: "design test cases", "test state machine", "test workflow", "test lifecycle", "state transition", "FSM", or any requirement describing: user authentication flows, account lifecycles, order/transaction workflows, session management, multi-step wizards, embedded system controllers, or any feature where the same event produces different outcomes depending on what happened previously.
phatnguyen975/functional-test-design · ★ 0 · Testing & QA · score 70
Install: claude install-skill phatnguyen975/functional-test-design
# State Transition Testing Skill ## Overview **State Transition Testing** is a black-box test design technique for systems where the **output depends not only on the current input but also on the system's prior history** — i.e., its current state. The system is modeled as a **Finite State Machine (FSM)** — a set of states, events that trigger transitions between states, guard conditions that qualify transitions, and actions (observable outputs) produced during transitions. **Core purpose:** Systematically derive test cases that cover all meaningful paths through a system's state space — including paths the system should correctly reject — ensuring no state, transition, or invalid combination is left untested. The technique produces two complementary artifacts before any test cases are written: - **State Transition Diagram (STD):** Visual representation of the FSM — states as nodes, transitions as directed arrows. - **State Transition Table (STT):** Exhaustive grid of all state × event combinations, exposing both valid transitions and invalid transitions that the diagram alone cannot surface. → For full theoretical background, see [`resources/theory.md`](resources/theory.md). ## Invoke Syntax ``` /state-transition-testing [--file="path/to/output.md"] ``` **Modes:** | Mode | Syntax | Behavior