# Requirements

Would you be happy if your car was quality certified, without someone looking at whether it actually passes the quality requirements? When testing, we are ultimately testing against some form of requirements, whether they are explicitly defined upfront, or implicitly through the implementation, or even through our human intuition.

You can manage and maintain your software requirements directly in Virtuoso. This can be done using the Requirements tab of the project dashboard. You can create requirements either manually or by importing from a file, and each requirement can be covered by one or more journeys.

When you already have your requirements specified in Gherkin syntax, you can generate journey skeletons automatically to help guide you during test authoring.

You can check how well the journeys that cover your requirements are performing using the requirement traceability tab or the overall coverage & traceability report.

# Listing, creating, and updating requirements

The requirement tab shows you the list of requirements you have on your project.

To create a new one manually, click on the New requirement button.

Requirements list

A requirement contains a name and criteria:

  • Name: A unique name that allows you to identify the requirement in the project.
  • Criteria (optional): A text using any syntax to specify the requirement.

Click on a requirement from the list to show its details or to update it.

Requirement panel - Updating a requirement

# Importing a requirement from a file

You can also import requirements from files into your project by clicking on the Import requirements button. Each file represents a requirement: the file name without extension becomes the requirement's name, and it contains the requirement's criteria.

Import requirement modal

# Coverage

A requirement is considered as covered if it has at least one journey associated to it. You can manage the association between the requirement and journeys through the Coverage tab.

Requirement panel - Linked journeys tab

To create a new association, first select a goal and pick one of its journeys, then press the Link journey button. You can also add all journeys from a goal at once by pressing the button without picking a journey. An association can be removed by clicking on the icon.

# Generating journeys

If your requirement is specified using the Gherkin syntax, Virtuoso can help you to create tests for it.

As an example, suppose our target system is Virtuoso itself, and we have a requirement named Generate journey from requirement, with the following criteria:

Feature: Generate journey from an existing requirement whose criteria uses the Gherkin syntax

  Scenario: Open the "Generate journeys" modal
    Given the user has opened the requirement in the side panel
    When user clicks on the "Generate journeys from criteria" button
    Then the "Generate journeys" modal is shown

  Scenario: Generate journey
    Given the "Generate journeys" modal is open
    When user chooses an existing goal
    And clicks on the "Generate" button
    Then a success message with a link to the generated journey is shown
    And the "Linked journeys" tab is selected

  Scenario: Navigate to generated journey
    Given the success message with a link to the generated journey is visible
    When user clicks on the link
    Then the user is taken to the recently generated journey
    And the user can see one checkpoint for each scenario
    And the user can see a comment for each step of the scenario

By clicking on the Generate journeys from criteria button the Generate journeys modal is shown. Pick an existing goal, and press the Generate button.

Generate journeys modal

A draft journey will be created in the selected goal, and it will be automatically linked to your requirement. The feature name is used as the journey title, each scenario becomes a checkpoint, and each Gherkin step becomes a comment in the checkpoint.

Generated journey

# Checking requirement traceability

The last tab in the requirement panel gives you information about your requirement traceability. It shows the linked journeys last execution outcome (passed, failed, or never executed) and the percentage of the linked journeys that passed, which helps you better understand how far you are from covering your requirements and having all the associated journeys passing.

Requirement panel - Requirement traceability tab

# Overall coverage & traceability report

Above the requirement list you find two metrics related to the whole project: the overall coverage and the overall traceability. The first is the percentage of requirements that are covered. The latter shows the average traceability over all the requirements (uncovered requirements count as 0%). By clicking on the Overall coverage & traceability report link, you can see both metrics along with each individual traceability and the status for each of the linked journeys.

Overall coverage panel

Last Updated: 6/10/2022, 9:25:34 AM