State Transition Test Suite Builder
Build reset-to-start source test sequences covering every reachable transition in a declared deterministic state graph.
Loading tool…
How to use State Transition Test Suite Builder
Build reset-to-start source test sequences covering every reachable transition in a declared deterministic state graph. Turn a small authored behavior model into explicit event and expected-state steps. Each reachable transition gets a shortest prefix to its source, while unreachable states and transitions remain visible instead of becoming invented tests.
- Provide optional state-model json file, states, start and transitions as json.
- Choose the supported mode and run the tool. Review its assumptions and any reported errors.
- Copy the result or download a separate output; reset to clear the current form.
Good to know
- UTF-8 JSON up to 100,000 bytes, 10,000 values and 40 levels. Declare 1–100 unique state names, one existing start and 1–400 transitions. Each transition has exactly id, from, to and event; labels are nonblank single-line Unicode up to 80 UTF-8 bytes.
- Transition IDs and each from/event pair must be unique. Endpoints must exist. Parallel equal events from one state are refused rather than silently choosing a nondeterministic outcome. Self-loops and cycles are allowed.
- BFS uses the source transition order to resolve equal-length shortest paths. Each case independently resets to the declared start, follows that shortest prefix, then traverses its target edge. Reset is an authored testing assumption, not a command sent to a real application.
- At most 12,000 aggregate generated steps and 150,000 repeated source-label characters. Unreachable edges are outside the covered denominator and are listed separately. The suite is not globally minimized or combined into an optimized continuous tour.
- Flat graph source only: no guards, actions, data variables, hierarchy, concurrency, timeouts, priorities, invalid-event cases or real hidden side effects. It neither imports nor interprets SCXML, and a covered graph is not proof that application behavior matches it.
- A same-origin module Worker prepares within 10 seconds before ready; the separate computation deadline is 2 seconds. No source is executed, sent to an application or uploaded. The JSON report is capped at 500,000 characters.
- Structured text output is limited to 500,000 characters. Reduce the supplied source when that separate output budget is exceeded.
- Inputs are processed on this device and are not automatically saved or uploaded.
Common questions
Why is an edge marked unreachable even if I know the application can take it?
Reachability is calculated only from the start and edges you supplied. Add the missing setup transition or change the declared start if that reflects your intended model. The tool cannot discover application behavior or execute a reset for you.
Does this change my original input?
No. The tool returns a separate result. Review that output before using it in another application.
Keep going with related tools
All developer →Pairwise Test Case Builder
Generate constrained two-way parameter cases with explicit feasible-pair coverage and selected-case witnesses.
DeveloperStatic Module Dependency Graph
Map supplied JavaScript modules, unresolved imports and dependency cycles locally.
EducationFIRST, FOLLOW and LL(1) Table Workbench
Compute nullable symbols, FIRST/FOLLOW sets and real predictive-table conflicts for your explicit token grammar.
DeveloperSequence Diagram SVG Builder
Turn participant and ordered message CSVs into a local sequence diagram SVG with call, signal, return and self arrows plus exact source evidence.
DataRequirements and Test Traceability Reviewer
Review authored requirement, test-status and link tables with complete gaps, orphan tests, dangling references and status evidence.