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
Has Data
Items exist
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.
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")
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" )
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.