[[!meta title="Subplot"]] [[Download]] — [[Documentation|docs]] — [[Contact]] — [[License]] — [[Blog]] [[!img subplot.svg class=float_right alt="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
[[!inline pages="page(blog/*)" limit=5 template=titlepage archive=yes trail=no feeds=no]]
## 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|conduct]] * [[Architecture]] * [[Definition of success|success]] * [[Contributing]] to the project * [[Contact]] the project Please note that this project is released with a [[Contributor Code of Conduct|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. [documentation]: https://doc.subplot.liw.fi/ Below is a pretty minimal example. ~~~~~{.markdown .numberLines} --- 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](https://doc.subplot.liw.fi/echo.html), [PDF](https://doc.subplot.liw.fi/echo.pdf), [source](https://gitlab.com/subplot/subplot/-/blob/main/echo.md)). * A hypothetical JSON store with access control and a web API ([html](https://doc.subplot.liw.fi/muck.html), [PDF](https://doc.subplot.liw.fi/muck.pdf), [source](https://gitlab.com/subplot/subplot/-/blob/main/muck.md)). * Subplot's own acceptance criteria, a non-trivial example ([html](https://doc.subplot.liw.fi/subplot.html), [PDF](https://doc.subplot.liw.fi/subplot.pdf), [source](https://gitlab.com/subplot/subplot/-/blob/main/subplot.md)). # A bonus kitten Because you scrolled all the way down. [[!img kitten.jpg class=float_right alt="Kitten being adorable. By Ckahler on English Wikipedia"]]