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.10.tar.gz
(96.1 kB
view details)
Built Distribution
reqstool-0.4.10-py3-none-any.whl
(71.0 kB
view details)
File details
Details for the file reqstool-0.4.10.tar.gz
.
File metadata
- Download URL: reqstool-0.4.10.tar.gz
- Upload date:
- Size: 96.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a748781bc850c666595462491f96f038c9439cdbf7e5587189517fb875c145d |
|
MD5 | 2e18e76abb4283c2e51e72874335f6ce |
|
BLAKE2b-256 | 5a26d5cdf1c97d3cb0ffbc2cd11119fa547953cb1f2472852d530dac41561786 |
File details
Details for the file reqstool-0.4.10-py3-none-any.whl
.
File metadata
- Download URL: reqstool-0.4.10-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 | 17e852692dc89a38ecdea95553557ebe1cfa3627f62ffb0325acf0af5daa7443 |
|
MD5 | 0cf603271d4d06ca71b2aeee3c9ac5f0 |
|
BLAKE2b-256 | a16bdce714bdd5915c080cce8d27c9a13c489bb9b582bc3588d1383272e37a0d |