Download — Documentation (FAQ) — Contact — License — Blog
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
Participate
Subplot is a community project: it is developed by some people who want to do it. You could help!
- Governance model
- Code of conduct
- Architecture
- Definition of success
- Contributing to the project
- Contact the project
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.
Examples
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
functions: echo.py
...
Introduction
=============================================================================
**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
=============================================================================
```scenario
when user runs echo without arguments
then exit code is 0
then standard output contains a newline
then standard error is empty
```
Hello, world
=============================================================================
```scenario
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:
A hypothetical JSON store with access control and a web API (html, source).
Subplot’s own acceptance criteria, a non-trivial example (html, source).
Architecture
A bonus kitten
Because you scrolled all the way down.