diff options
authorDaniel Silverstone <>2021-07-12 18:01:32 +0100
committerDaniel Silverstone <>2021-07-12 18:01:32 +0100
commit2fc58751541d9044ff4b3a2cbcdbde280e05ddaf (patch)
parentae82393dea2370103f42bc4ad08720dab311f152 (diff)
Subplot first alpha
Signed-off-by: Daniel Silverstone <>
1 files changed, 49 insertions, 0 deletions
diff --git a/posts/subplot_first_public_alpha.mdwn b/posts/subplot_first_public_alpha.mdwn
new file mode 100644
index 0000000..bb186ef
--- /dev/null
+++ b/posts/subplot_first_public_alpha.mdwn
@@ -0,0 +1,49 @@
+[[!meta title="Subplot - First public alpha release"]]
+[[!meta author="Daniel Silverstone"]]
+[[!meta date="2021-06-12 17:50:00 +0100"]]
+[[!tag draft]]
+This weekend we ([Lars][] and I) finished our [first public alpha release][rel]
+of [Subplot][]. Subplot is a tool for helping you to document your acceptance
+criteria for a project in such a way that you can also produce a programmatic
+test suite for the verification criteria. We centre this around the concept
+of writing a Markdown document about your project, with the option to write
+Gherkin-like _given/when/then_ scenarios inside which detail the automated
+verification of the acceptance criteria.
+This may sound very similar to [Yarn][], a similar concept which Lars, Richard,
+and I came up with in 2013. Critically back then we were very 'software
+engineer' focussed and so Yarn was a testing tool which happened to also produce
+reasonable documentation outputs if you squinted sideways and tried not to think
+too critically about them. Subplot on the other hand considers the documentation
+output to be just as important, if not more important, than the test suite
+output. Yarn was a tool which ran tests embedded in Markdown files, where
+Subplot is a documentation tool capable of extracting tests from an acceptance
+document for use in testing your project.
+The release we made is the first time we're actively asking other people to try
+Subplot and see whether the concept is useful to them. Obviously we expect there
+to be plenty of sharp corners and there's a good amount of functionality yet to
+implement to make Subplot as useful as we want it to be, but if you find
+yourself looking at a project and thinking "How do I make sure this is
+acceptable to the stakeholders without first teaching them how to read my unit
+tests?" then Subplot may be the tool for you.
+While Subplot can be used to produce test suites with functions written in Bash,
+Python, or Rust, the only language we're supporting as first-class in this
+release is Python. **However** I am personally most interested in the Rust
+opportunity as I see a lot of Rust programs very badly tested from the
+perspective of 'acceptance' as there is a tendency in Rust projects to focus on
+unit-type tests. If you are writing something in Rust and want to look at
+producing some high level acceptance criteria and yet still test in Rust, then
+please take a look at Subplot, particularly how we test [subplotlib][] itself.
+Issues, feature requests, and perhaps most relevantly, code patches, gratefully
+received. A desire to be actively involved in shaping the [second goal][goal] of
+Subplot even more so.