Skip to main content

rtm_doorstop

PyPI Version PyPI - Python Version PyPI - License Sonarcloud Code style: black

A tool to generate Requirement Traceability Matrices (RTMs) from Doorstop documents.


Table of Contents


Features

The rtm_doorstop tool can be used to quickly build an Requirements Traceability Matrix (RTM) from a Doorstop tree. RTMs map product requirements to test cases, which verify that said requirements are met. They are particularly useful to quickly understand the requirement coverage and any areas deficient in quality checks.

This tool can generate RTMs that are in Markdown-compliant format, or write to a CSV file.

| UID     | Has Test | Need Test | Tests                   |
|---------|----------|-----------|-------------------------|
| REQ0001 |     True |      True | TST0001                 |
| REQ0002 |    False |     False |                         |
| REQ0003 |     True |      True | TST0003 TST0004 TST0005 |
UID,Has Test,Need Test,Tests
REQ0001,True,True,TST0001
REQ0002,False,False,
REQ0003,True,True,TST0003 TST0004 TST0005

Usage

The tool can be invoked via command line, and has one required argument: PREFIX

rtm_doorstop --prefix=PREFIX

or simply

rtm_doorstop PREFIX

Optional arguments are --root, --sort_key, and --csv_path.

Argument Description
root If Doorstop cannot build a valid tree from the current working directory, you can specify the path to the tree root here
sort_key If the RTM should be sorted, you can specify the key to sort by here. Valid options are 'UID', 'Has Test', or 'Tests' When ommitted, no ordering is guaranteed.
csv_path The filepath where the tool should save the RTM to. When omitted, the RTM is printed to console in Markdown format.

Tests are assumed to be linked to the requirements as as child links. Doorstop specifies these links in the "links" yaml key. For instance, the following test would be linked to requirement REQ046.

active: true
custom: 1
derived: false
header: ''
level: 4
links:
- REQ046: m9tMd0JM8O8idHTViqyYy1OL3dLiVY69bT63jNAGxPs=
normative: true
ref: test_yaml_encoding
reviewed: TIwopA6cvyjBMF17bB6p_RUNA7clNMaaEhXGYlAdpdk=
test_commit_last_passed: d670460b4b4aece5915caf5c68d12f560a9fe3e4
test_commit_latest: d670460b4b4aece5915caf5c68d12f560a9fe3e4
test_result_latest: passed
text: |
  Test that inputs can be loaded from a UTF-8 encoded YAML file.

Installation

You can install "rtm_doorstop" via pip from PyPI:

pip install rtm_doorstop

Dependencies


Contributing

Contributions are very welcome, both in Issues and in Pull Requests. Tests can be run with tox.

$ tox

If you encounter any problems, please file an issue along with a detailed description.


License

Distributed under the terms of the GNU GPL v3.0 license, "rtm_doorstop" is free and open source software

Metadata

Release files for rtm-doorstop 1.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rtm-doorstop 1.1.1
File Size Uploaded Provenance Actions
rtm_doorstop-1.1.1.tar.gz 4.1 kB Without provenance Details for rtm_doorstop-1.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for rtm-doorstop 1.1.1
File Interpreter ABI Platform Actions
rtm_doorstop-1.1.1-py3-none-any.whl Python 3 none any Details for rtm_doorstop-1.1.1-py3-none-any.whl

Total release size: 20.9 kB

Release files / rtm_doorstop-1.1.1.tar.gz

Download URL rtm_doorstop-1.1.1.tar.gz
Size 4.1 kB
Tags Source
SHA-256 checksum
How to use checksums
3c9eb084f3ca2151ea6eed068eb1922be0008b89f3c182ea6b7a6e0dff53d45e
BLAKE2b-256 checksum
How to use checksums
ed7e9aa8c9c8a8cf8daf87523d24e2e46028de63a47e581c9b1a37db866c1029
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/2.0.0 pkginfo/1.4.2 requests/2.21.0 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.7.1

Release files / rtm_doorstop-1.1.1-py3-none-any.whl

Download URL rtm_doorstop-1.1.1-py3-none-any.whl
Size 16.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2ce79d6ed9759d33e4a4991714dd18253d632097bb82554290e42235764f2385
BLAKE2b-256 checksum
How to use checksums
a50ea62106070c220e724731a9ecd885f054e7cbf0fc713c79f7bfeb304a991a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/2.0.0 pkginfo/1.4.2 requests/2.21.0 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.7.1

Security for rtm-doorstop 1.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page