diff options
author | Lars Wirzenius <liw@sequoia-pgp.org> | 2022-01-13 18:00:55 +0200 |
---|---|---|
committer | Lars Wirzenius <liw@sequoia-pgp.org> | 2022-01-14 14:02:45 +0200 |
commit | 372e8ff146a3898f7765835be1af2a748d1f03e1 (patch) | |
tree | f824d5f7f7ba5100df0cbee400468988b5bd5187 | |
parent | a4cfd15805a543a327d2242f9c0f2b653a11ee55 (diff) |
docs: add section on the testing approach for sq
Sponsored-by: NLnet Foundation; NGI Assure; European Commission
-rw-r--r-- | sq/sq-subplot.md | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/sq/sq-subplot.md b/sq/sq-subplot.md index f77649b1..c8989000 100644 --- a/sq/sq-subplot.md +++ b/sq/sq-subplot.md @@ -24,6 +24,35 @@ tool. [Sequoia-PGP]: https://sequoia-pgp.org/ [OpenPGP]: https://en.wikipedia.org/wiki/Pretty_Good_Privacy#OpenPGP + +## Testing approach for sq + +This document explicitly only covers integration and acceptance +testing of the `sq` command line tool. It does not try to verify that +the underlying library implements OpenPGP correctly: the library has +its own test suite for that. Instead, this document concentrates on +making sure the `sq` command line tool behaves as it should from an +end-user's point of view. + +We make the following simplifying assumption: we know the `sq` +developers as competent developers, and assume that they don't +entangle unrelated functionality. By this we mean that we feel we can +assume that the code in `sq` that reads input files is separate from the +code that compresses it, which in turn is independent of the code that +writes output as text or binary data. Thus, we verify each such +functionality independently of each other. This drastically cuts down +the number of feature combinations we need to test. If this assumption +turns out to be incorrect, we will rethink and revise the testing +approach as needed. + +We also know, by inspection, that `sq` uses the well-known, +well-respected Rust library `clap` for parsing the command line. +Because of this we feel it's not necessary to verify that, for +example, `sq` notices that a required argument is missing from the +command line, or that it notices that there are extra arguments +present. We will concentrate on testing that when invoked with valid +arguments results in expected output. + ## Using Subplot and this document The acceptance criteria and requirements are explained in prose and |