Test your entire app,
not just endpoints

VenomQA explores all paths through your application and catches the bugs that isolated endpoint tests miss.

$ pip install venomqa

Empty

No data

create

Has Data

Items exist

update

Modified

Data changed

VenomQA models your app as a state graph and explores all possible paths

The Problem with Traditional Testing

Every action in your app has cascading effects. Traditional tests miss them.

Cross-Feature Consistency

When a user uploads a file, does the storage usage update? Does quota decrease? Can search find it? VenomQA checks everything.

All Path Combinations

Users don't follow linear paths. They jump between features, abandon flows, come back later. VenomQA tests all combinations.

Invariant Verification

Define rules that must always be true. VenomQA checks them after every action, catching bugs before users do.

Automatic Context Flow

No more manually tracking IDs between requests. Context flows automatically between steps.

How It Works

Three steps to test your entire application.

1

Define Your States

Model your app as states (nodes) and actions (edges).

from venomqa import StateGraph

graph = StateGraph(name="my_app")

# Define states
graph.add_node("empty", initial=True)
graph.add_node("has_data")
graph.add_node("processing")
2

Add Transitions & Invariants

Define how states connect and rules that must always hold.

# Add transitions
graph.add_edge("empty", "has_data", action=create_item)
graph.add_edge("has_data", "empty", action=delete_item)

# Add invariants (checked after EVERY action)
graph.add_invariant(
    "count_matches",
    check=lambda c, db, ctx: api_count == db_count,
    description="API must match database"
)
3

Explore All Paths

VenomQA automatically traverses every path and reports issues.

from venomqa import Client

client = Client(base_url="http://localhost:8000")
result = graph.explore(client)

print(result.summary())
# Paths explored: 18
# Invariant violations: 0
# ALL PATHS PASSED

Features

Everything you need for comprehensive API testing.

State Graph Testing

Model your app as nodes and edges. VenomQA explores all reachable paths automatically.

Invariant Checking

Define rules that must hold after every action. Catch consistency bugs before production.

Journey Testing

Chain steps together with automatic context flow. IDs pass between steps automatically.

Database Checkpoints

Save and restore database state. Test multiple paths from the same starting point.

Rich Reporting

HTML, JSON, JUnit XML reports. Slack and Discord notifications for CI/CD.

PostgreSQL, MySQL, SQLite

Built-in support for major databases. State management that actually works.

Ready to find the bugs you've been missing?

Start testing your entire app in minutes.