Overview

Reqstool is a tool for managing requirements with related software verification cases (aka tests) and verification results (test results).

  • Requirements are defined in yaml files and can reference each other ([depending on the variant different data will be parsed](what-data-can-exist-where)).

  • Annotations is then used in code to specify where a requirement is implemented as well as tested.

With this information and the actual test results (e.g. JUnit) use reqstool to:

  • Generate a report (AsciiDoc, which can be transformed into e.g. pdf) listing all requirements, where that requirement is implemented and tested and whether the tests passed/failed. This report can be used e.g. with auditors ("Yes, we track this requirement, it’s implemented (here) and it has been tested with a pass (here).")

  • Status the software, i.e. get a list of all requirements their status on implementation and tests. reqstool will exit with a status code equal to the number of requirements that has not been implemented and tested with a pass. Hence, it can be used in a pipeline as a gate for deployment to production.