A tool for managing requirements with related tests and test results.
Project description
Reqstool Client
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).
- Annotations are 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 have not been implemented and tested with a pass. Hence, it can be used in a pipeline as a gate for deployment to production.
Installation
You need to have the following installed in order to use the tool:
- Python, 3.10 or later
- pip
To use the tool, you need to install the PyPI package reqstool.
pip install -U reqstool
reqstool -h # to confirm installation
Usage
reqstool [-h] {command: report-asciidoc,generate-json,status} {location: local,git,maven} ...
Use -h/--help
for more information about each command and location.
Documentation
For full documentation cane be found here.
Contributing
- We adhere to the latest version of Contributor Covenant.
- Fork repo
- Before submitting a PR
- Perform formatting (black):
hatch run lint:black src tests
- Run linter (flake8):
hatch run lint:flake8
- Run tests:
- all:
hatch run test:pytest --cov=reqstool
- unit only:
hatch run test:pytest --cov=reqstool tests/unit
- integration only:
hatch run test:pytest --cov=reqstool tests/integration
- all:
- Perform formatting (black):
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
reqstool-0.4.8.tar.gz
(96.0 kB
view details)
Built Distribution
reqstool-0.4.8-py3-none-any.whl
(71.0 kB
view details)
File details
Details for the file reqstool-0.4.8.tar.gz
.
File metadata
- Download URL: reqstool-0.4.8.tar.gz
- Upload date:
- Size: 96.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 352abc820b0f366bfd3d7e24fbd9ad7982d5bf294982e4ea83627cb7a3dcc451 |
|
MD5 | fd4227d4bf17a39dda2da98df273d2c9 |
|
BLAKE2b-256 | 6d2d9a553e2ba2a471cbfcf2e9918a4ba3a40a17d23ef438e3857b87d8877e5b |
File details
Details for the file reqstool-0.4.8-py3-none-any.whl
.
File metadata
- Download URL: reqstool-0.4.8-py3-none-any.whl
- Upload date:
- Size: 71.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58ebefc4cc93f9e1814a076157fd9edad004cac1f66497af3b3eceb797ca0768 |
|
MD5 | dd6ad92a65ee96083120cc8729cde5e5 |
|
BLAKE2b-256 | 4ba02a4e938e385f6116f06ad0a86433c0921023880313d8268f39dd502f83f3 |