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

Participate

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.

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:

  • 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).

Architecture

A bonus kitten

Because you scrolled all the way down.

Kitten being adorable. By Ckahler on English Wikipedia