Requirements Coverage
The Dashboard is able to track requirements and create requirements coverage graphs. You can test requirements in different ways.
Adding Requirements using HILSTER Testing Framework
Requirements can be added to tests using HILSTER Testing Framework’s htf.requirements()
decorator.
@htf.requirements('REQ-1', 'REQ-2', 'REQ-3')
def test_with_requirements(step):
with step("This is the first test step"):
pass
Adding Requirements with other Tools
Alternatively requirements can be printed to stdout and stderr so that requirements can be extracted from all types of test reports, i.e. JUnit-XML, etc. Thus the Dashboard allows requirements coverage with any kind of testing framework that supports JUnit-XML reports.
Printed requirements must fulfill the following rules:
Each requirement is printed on a single line.
Each line containing a requirement contains
REQUIREMENT
,
REQ
or
FULFILLS
, followed by a colon (:
) and
at least one space followed by the requirement name itself.
Each requirement name consists of at least one characters out of
A-Z
,0-9
,-
,_
and.
.Requirements are case-insensitive.
def test_with_printed_requirementsref():
print("REQ: REQ-1")
print("REQUIREMENT: REQ-2")
print("FULLFILLS: REQ-3")
Submitting Requirements
Requirements can be submitted to the dashboard using the command line interface.
Requirement files need to be csv
-files with an arbitrary header line and
the requirement IDs located in the leftmost column. The first line, the header line, is ignored. E.g.:
ID, ...
REQ-0, ...
REQ-1, ...
.
.
The included requirements in this case would be REQ-0
, REQ-1
, ...
.
Multi-line values are supported using "
as quotechar:
ID,Content,Last-Modified
REQ-0,Content for REQ-0,2100-01-01
REQ-1,Content for REQ-1,2100-01-01
REQ-2,"Content for
REQ-2",2100-01-01
REQ-3,Content for REQ-2,2100-01-01
.
.
In the user-interface the column with the longest entry will be used as the content.
Learn how to upload requirements via the command line interface.