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