A tool to generate Requirement Traceability Matrices (RTMs) from Doorstop documents.
Project description
rtm_doorstop
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
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
Built Distribution
Hashes for rtm_doorstop-1.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ce79d6ed9759d33e4a4991714dd18253d632097bb82554290e42235764f2385 |
|
MD5 | 2378ce4bc2ef231d8967c8cbb12b695f |
|
BLAKE2b-256 | a50ea62106070c220e724731a9ecd885f054e7cbf0fc713c79f7bfeb304a991a |