High-level requirements are available with the Squash TM Premium license and the Squash TM premium plugin.
High-level requirements describe macro features or blocks of features that can be cut into classic requirements.
In Squash TM, they are a new type of requirement that enables you to organize and manage your repository by adding a level on top of your classic requirements.
Thus, high-level requirements enable you to track the coverage and validation of larger features.
Create a High-Level Requirement
To create a high-level requirement, click on the new option available in the menu of the Requirements workspace. You can create high-level requirements in a project or folder, but not in a classic requirement.
You can easily spot high-level requirements in the requirement tree. They are displayed in blue, whereas classic requirements are displayed in black.
High-level requirement attributes are identical to those of classic requirements, except that the "Nature" field, contains the "High level" value.
To learn more about a requirement's attributes, please visit the page Requirement Attributes
Links with Classic Requirements and Organization
The main specificity of high-level requirements is their links with classic requirements. You can link multiple classic requirements with a high-level requirement. However, you can link only one high-level requirement with a classic requirement.
Even if there is a hierarchy between high-level requirements and classic requirements, the links between these two types of requirements are not restricted by the requirement tree. These links enable you to have more flexibility in the organization of your projects:
- You can create these links via the requirement tree. In that case, all the classic requirements that are below a high-level requirement will automatically be linked to it.
- You can create links betwween requirements that are in different locations of the requirement tree. In that case, you can for example organize your repository by putting your high-level requirements in a specific folder or project.
Regardless of the organization you choose, high-level-requirement coverage and validation indicators take into account all the classic requirements, whether they were manually or automatically associated with the high-level requirement.
Link Classic Requirements to a High-Level Requirement
On a high-level requirement's consultation page, you can find the classic requirements that are linked to it in the "Classic requirements linked to this high-level requirement" block, which is symbolized by the anchor .
There are multiple ways to link classic requirements with a high-level requirement:
- Select a requirement or requirement folder and drag and drop it from the library to the high-level requirement's table "Classic requirements linked to this high-level requirement".
- Click on the button on the top right of the block to select the requirements you want to link from the "Requirement repository" panel, then drag and drop them.
- Create or move classic requirements under a high-level requirement in the requirement tree.
Once you have linked your classic requirements, they appear in the table. If you linked them via the requirement tree, you will not be able to delete the link as long as the classic requirement is under the high-level requirement in the requirement tree. If you linked them manually, you can dissociate them by clicking on the button .
Link a High-Level Requirement with a Classic Requirement
You can also link a high-level requirement with a classic requirement from a classic requirement's consultation page.
For this, a "High-level requirement" field is displayed in the "Information" block of a classic requirement. This field enables you to add, modify, and delete a link between the classic requirement you are viewing and a high-level requirement.
To link your high-level requirement with a classic requirement, click on the button , then select a high-level requirement in the requirement tree.
If the classic requirement was already linked to a high-level requirement, that high-level requirement will be replaced with the high-level requirement you just selected.
If the classic requirement is linked to a high-level requirement via the tree, or if its status is "Obsolete", then you can neither modify nor delete this link.
The "Coverage indicator" block of a high-level requirement gives you the coverage, redaction, verification, and validation rates for:
- the high-level requirement and all the classic requirements it is linked with
- the high-level requirement itself
- only the classic requirements linked to the high-level requirement
These rates take into account classic requirements regardless of how they were linked to the high-level requirement (via the requirement tree or directly)
To learn more about coverage indicators, please visit this page Track the Coverage and Validation of Requirements
Associated Test Cases
The block "Test cases verifying this requirement" of a high level requirement contains:
- the test cases directly linked to the high-level requirement
- the test cases linked to the classic requirements linked to the high-level requirement. These test cases are grayed out and the link with the high-level requirement can't be deleted.
The block "Known issues of a high-level requirement" contains:
- the issues associated with the test cases that directly verify the high-level requirement
- the issues associated with the test cases that verify the classic requirements linked with the high-level requirement
In the requirement search, an option enables you to extend your search perimeter for high-level requirements. This enables you to take into account the linked classic requirements, even if they do not fit in the initial search perimeter.
Thus, if the search perimeter you have defined is a high-level requirement or a project containing high-level requirements, this option enables you to display all the linked classic requirements, even if they are located elsewhere or in another project.
This option is also available in the Campaigns workspace, when creating execution plans, by searching for test cases by associated requirements. Thus, this feature enables you to easily identify all the test cases you must execute to validate the high-level requirement, whether they verify that high-level requirement directly or indirectly.
Search criteria specific to high-level requirements are also available. They especially enable you to search for links between classic and high-level requirements.
In the default requirements dashboard, the following charts take into account test cases linked directly and indirectly to the high-level requireements:
- Coverage by test cases
- Coverage by criticality
- Test cases validation by criticality
In the default and custom dashboards, an option enables you to extend the high-level requirements' scope. This way, the linked standard requirements are included in the dashboard, even if they do not fit in the initial perimeter.
Option enabled :
Option disabled :
Turn a Classic Requirement into a High-Level Requirement and vice versa
To integrate high-level requirements to existing assets, you can transform a classic requirement into a high-level requirement. To do this, on a classic requirement's consultation page, click on the option "Convert to high-level requirement", which is available at the level of the button .
If the classic requirement has children requirements, this link is turned into a link between a high level requirement and a classic requirement.
It is also possible to turn a high-level requirement into a standard requirement with the "Convert to standard requirement" option on a high-level requirement's consultation page.
If the classic requirement has several versions, all the versions of that classic requirement will be turned into a high-level requirement. Thus, the previous version of the requirement will be considered as high-level requirement.
Import and export files take into account high-level requirements and their links with standard requirements (in a specific tab).
Importing enables to create requirements, modify requirements and turn standard requirements into high-level requirements and vice versa.
To learn more about importing high-level requirements, visit the page Importing requirements