[[!meta title="Subplot"]] [[Download]] — [[Documentation|docs]] — [[Contact]] — [[License]] — [[Blog]] [[!img subplot.svg class=float_right alt="Subplot alpha logo"]] ## Latest from the project
[[!inline pages="page(blog/*)" limit=5 template=titlepage archive=yes trail=no feeds=no]]
## 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. 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. ## 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]] * [[Road map|roadmap]] * [[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 This is a pretty minimal example. ~~~~~{.markdown .numberLines} --- title: "**echo**(1) acceptance tests" ... 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://examples.subplot.liw.fi/echo.html), [PDF](https://examples.subplot.liw.fi/echo.pdf), [source](https://gitlab.com/larswirzenius/subplot/-/blob/main/echo.md)). * A hypothetical JSON store with access control and a web API ([html](https://examples.subplot.liw.fi/muck.html), [PDF](https://examples.subplot.liw.fi/muck.pdf), [source](https://gitlab.com/larswirzenius/subplot/-/blob/main/muck.md)). * Subplot's own acceptance criteria, a non-trivial example ([html](https://examples.subplot.liw.fi/subplot.html), [PDF](https://examples.subplot.liw.fi/subplot.pdf), [source](https://gitlab.com/larswirzenius/subplot/-/blob/main/subplot.md)). The [examples][] site may have more examples, if we forget to list them here. These are generated automatically from the Subplot source repository by CI, so they're always up to date, and tested as part of Subplot's CI build, so they always work. [examples]: https://examples.subplot.liw.fi/ # 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"]]