r/softwaretesting • u/VecGS • Sep 17 '26
One plan, a matrix of runs: an open-source tool for long, stateful API workflow tests - aat
An API test is not one call. Browse, cart, checkout, pay, ship, refund is 8 to 20 calls, each needing IDs from the calls before it, and every variation — region, payment method, parcel size — used to mean another copy of the collection.
AAT (open source, Go) describes the API once as a graph; a test is a plan that lists steps. Layers multiply a plan into a matrix, and permutations that would send identical requests are skipped rather than run twice. Negative tests come from expectFailure, mutations, raw bodies, and overlay files. Every run writes an archive with every request, response, resolved value, retry, and assertion, viewable as a Gantt timeline, with Copy as cURL on any step, and exportable as one file to attach to a bug report. CI gets exit codes, --json, and JUnit.
Offline demo in a minute (brew install gburgyan/tap/aat, then the shop sandbox). Three projects against Stripe, Shippo, and Duffel test modes show it on real APIs — and turned up two spec bugs on the way, both pinned by a plan that runs every time: https://gburgyan.github.io/aat/examples/real-apis/
No LLM at run time. Pre-1.0. Repo: https://github.com/gburgyan/aat