DownloadDocumentation (FAQ) — ContactLicenseBlog

Subplot alpha logo

When all stakeholders really need to understand acceptance criteria

Capture and communicate acceptance criteria for software and systems, and how they are verified, in a way that’s understood by all project stakeholders, including end-users.

Subplot is a set of tools for specifying, documenting, and implementing automated acceptance tests for systems and software. Subplot tools help produce a human-readable document of acceptance criteria and a program that automatically tests a system against those criteria.

Subplot is currently in its ALPHA stage.

Latest from the project


Subplot is a community project: it is developed by some people who want to do it. You could help!

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.


The documentation site has examples that are from the Subplot source repository and typeset and tested by CI, so they’re always up to date. This means the examples always work.

Below is a pretty minimal example.

title: "**echo**(1) acceptance tests"
template: python
bindings: echo.yaml


**echo**(1) is a Unix command line tool, which writes its command line
arguments to the standard output. This is a simple acceptance test
suite for the `/bin/echo` implementation.

No arguments

when user runs echo without arguments
then exit code is 0
then standard output contains a newline
then standard error is empty

Hello, world

when user runs echo with arguments hello, world
then exit code is 0
then standard output contains "hello, world"
then standard error is empty

See actual, working, tested examples:

  • The Unix echo command (html, source).

  • A hypothetical JSON store with access control and a web API (html, source).

  • Subplot’s own acceptance criteria, a non-trivial example (html, source).


A bonus kitten

Because you scrolled all the way down.

Kitten being adorable. By Ckahler on English Wikipedia