Overview
The built-in requirements reports come in three flavors:
- Requirements summary report - an Excel style table with a row for each requirement, with all the fields in the subsequent columns
- Requirements detailed report - a document style report with headings for each requirement and tables for all of the related elements (test coverage, task list, incidents, associations, etc.)
- Requirements traceability report - an Excel style table with a list of requirement names and columns for the linked test cases and requirements
However sometimes there is a need to create a simpler requirements document with the headings and content only:
1.0 Webpages
_1.1 First Webpage
__1.1.1 Variable Names and database links
__1.1.2 Picture Names
__1.1.3 Reference Format
_1.2 Second Webpage
2.0 Communication Protocols
_2.1 SMTP
2.1.1 Version Support
2.1.2 Email address limitations
etc.
The use of such a requirements report is to create a human readable (usually in Word) document that makes sense to a product manager with headings and indentations.
Custom Report
To create such a report, you need to firstly clone the requirements summary report and then change the format to use MS-Word instead of MS-Excel and then use the following XSLT template instead for the Requirements List standard section:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
<xsl:template match="/RequirementData">
<xsl:for-each select="Requirement">
<div>
<xsl:attribute name="style">
margin-left: <xsl:value-of select="string-length(IndentLevel)*3"/>px;
</xsl:attribute>
<h2>
<xsl:value-of select="RequirementId"/>:
<xsl:value-of select="Name"/>
</h2>
<p>
<xsl:value-of select="Description" disable-output-escaping="yes"/>
</p>
</div>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
When executed it will generate a report that looks something like this: