GraphWalker
GraphWalker is a model-based testing tool. It reads models in the shape of directed graphs and generates test paths from them.
Tests are modeled as graphs where vertices represent states and edges represent transitions. GraphWalker traverses these graphs using configurable path generators and stop conditions, producing sequences of steps that drive automated test execution.
Features
- Multiple path generators — random, quick random, weighted random, A*, shortest all paths, predefined path, and New York Street Sweeper (Chinese Postman)
- Flexible stop conditions — edge/vertex coverage, reached element, time duration, length, requirement coverage, and combinations with AND/OR
- Guards and actions — edges can have boolean guards and script actions that modify execution state
- Multi-model support — coordinate across models using shared states
- Requirements tracking — tag elements with requirement IDs and track coverage
- Multiple interfaces — CLI (offline batch), REST API, WebSocket API, and a visual Studio editor
- Deterministic replay — seed-based random generation for reproducible test paths
Getting started
See the Getting Started guide for a walkthrough of creating a model and generating your first test path.
Contents
| Page | Description |
|---|---|
| Model-Based Testing | What MBT is and how GraphWalker implements it |
| Getting Started | Tutorial: install, create a model, run it |
| CLI Reference | All CLI subcommands, flags, and options |
| Generators | Path generation algorithms |
| Stop Conditions | When to stop generating |
| JSON Model Format | Complete specification of the model file format |
| REST API | HTTP API for online test execution |
| WebSocket API | WebSocket protocol for real-time interaction |
| GraphWalker Studio | Visual model editor and test runner |