Skip to main content

A tool for managing requirements with related tests and test results.

Project description

Commit Activity GitHub Issues License Build Static Badge GitHub Discussions

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

Project details


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)

Uploaded Source

Built Distribution

reqstool-0.4.8-py3-none-any.whl (71.0 kB view details)

Uploaded Python 3

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

Hashes for reqstool-0.4.8.tar.gz
Algorithm Hash digest
SHA256 352abc820b0f366bfd3d7e24fbd9ad7982d5bf294982e4ea83627cb7a3dcc451
MD5 fd4227d4bf17a39dda2da98df273d2c9
BLAKE2b-256 6d2d9a553e2ba2a471cbfcf2e9918a4ba3a40a17d23ef438e3857b87d8877e5b

See more details on using hashes here.

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

Hashes for reqstool-0.4.8-py3-none-any.whl
Algorithm Hash digest
SHA256 58ebefc4cc93f9e1814a076157fd9edad004cac1f66497af3b3eceb797ca0768
MD5 dd6ad92a65ee96083120cc8729cde5e5
BLAKE2b-256 4ba02a4e938e385f6116f06ad0a86433c0921023880313d8268f39dd502f83f3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page