GraphWalker Project Documentation

repository·master·Indexed 18 days ago

https://github.com/graphwalker/graphwalker-project

A model-based testing tool for visualizing and executing models. It includes a core engine (graphwalker-core), a graphical Studio (graphwalker-studio v4.3.3), a CLI, and a RESTful API for remote model execution. The project provides a DSL for graph definitions using ANTLR4, a model checker for validating vertices and contexts, and a Maven archetype for project bootstrapping.

Tokens
12.9K
Snippets
50
Records
66
Agent score
60%

What's inside GraphWalker

  1. How GraphWalker Core components work together

    master

    GraphWalker Core is a model-based testing engine that uses the following components to generate and execute test sequences:

    1. Model: A finite state diagram consisting of Vertex (states) and Edge (transitions).
    2. Algorithms: Logic used by generators to traverse the model (e.g., A*, Depth-first Search, Eulerian).
    3. Generators: Use algorithms to decide how to traverse the model (e.g., RandomPath, QuickRandomPath, PredefinedPath).
    4. Stop Conditions: Criteria used by generators to halt (e.g., VertexCoverage, EdgeCoverage, ReachedVertex, Time duration).
    5. Context: An ExecutionContext that binds a Model and a PathGenerator together.
    6. Machine: The execution engine (e.g., SimpleMachine) that takes the Context and produces the actual path steps.
  2. Create a GraphWalker Maven project using the archetype

    master

    Use the graphwalker-maven-archetype to quickly generate a boilerplate Maven project configured for GraphWalker. This archetype sets up the necessary dependencies and structure to start running GraphWalker tests immediately.

    mvn archetype:generate -B \
      -DarchetypeGroupId=org.graphwalker \
      -DarchetypeArtifactId=graphwalker-maven-archetype \
      -DgroupId=com.company \
      -DartifactId=myProject \
      -DarchetypeVersion=LATEST