---
title: "Test Case Coverage Explained"
slug: "test-case-coverage-explained"
description: "In this documentation article, learn all about test case coverage and negative testing in Test Modeller."
tags: ["Test Case Generation", "Get Started", "Test Modeller"]
updated: 2024-09-27T15:01:04Z
published: 2024-09-27T15:01:04Z
canonical: "knowledge.curiositysoftware.ie/test-case-coverage-explained"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://knowledge.curiositysoftware.ie/llms.txt
> Use this file to discover all available pages before exploring further.

# Applying Test Case Coverage

In this documentation article, learn all about test case coverage and negative testing in Quality Modeller.

[Embedded content](https://www.youtube.com/embed/hYkMKmiNBcA?&amp;wmode=opaque&amp;rel=0)

Test Case generation can focus on certain parts of a system's functionality, optimising testing based on time and risk. This uses the notion of "coverage", where tests exercise or "cover" areas of a system's logic to a required level, from being ignored to tested exhaustive.

Quality Modeller offers a granular approach to test coverage, controlling the level of testing rigour for sets of blocks or subprocesses in a given Model. Testing can then focus on new or critical functionality, without having to exhaustively test surrounding logic to the same degree. Testing confidence can increase as a result, while keeping run times low.

---

## Profiles

The required level of coverage is set by feature within a given Coverage Profile. Several Profiles can be created for one model, in order to re-use Profiles and quickly regenerate tests that focus on certain features in future.

To create a new Profile, navigate to the "Test Generation" tab of the menu, and click "New" in the "Profiles" section of the menu: ![](https://cdn.document360.io/77f722a6-2d0a-49fa-8074-572515a6c4b8/Images/Documentation/image-1679053223166.png)Enter a name for the New Profile and click "Save": ![](https://cdn.document360.io/77f722a6-2d0a-49fa-8074-572515a6c4b8/Images/Documentation/image-1679053228300.png)Previously created profiles can be toggled between using the drop-down menu in the "Profiles" section of the menu, and their name can be edited by clicking "Edit". You can Delete the selected profile by clicking "Delete".

---

## Feature Tags

In a given Model, blocks and Subprocesses can be tagged as "Features". This enables coverage levels to be set within a given Coverage Profile for each Feature, generating Test Case to exercise the tagged logic with varying degrees of rigour.

To tag blocks or subprocesses as a given Feature, navigate to the Test Generation tab of the menu and click "Features". This will open the Feature Tags sidebar. Click a block or Subprocess, enter a name for the Feature, and click "Apply": ![](https://cdn.document360.io/77f722a6-2d0a-49fa-8074-572515a6c4b8/Images/Documentation/image-1679053255557.png)Blocks assigned the same Feature Tag within a given Model will be treated as one Feature during test case generation.

Features assigned to a block can be browsed and editing by right-clicking a block, and navigating to "Features".

---

## Setting the Coverage for Features within a Profile

Coverage is set for Features by Profile. To set the level of test coverage for tagged Features, navigate to the Test Generation tab of the menu and click "Coverage". This will open the Coverage Profile Window: ![](https://cdn.document360.io/77f722a6-2d0a-49fa-8074-572515a6c4b8/Images/Documentation/image-1679053298546.png)Click "Reference" in the "Features" box and select the relevant Feature Tag: ![](https://cdn.document360.io/77f722a6-2d0a-49fa-8074-572515a6c4b8/Images/Documentation/image-1679053306691.png)Use the drop-down menu to assign a measure of coverage from "Ignore" to "Exhaustive" for each feature: ![](https://cdn.document360.io/77f722a6-2d0a-49fa-8074-572515a6c4b8/Images/Documentation/image-1679053310987.png)The "Default Coverage" drop-down sets the level of coverage for every block without a Feature Tag assigned. This is useful for focusing on new or critical functionality, while testing the surrounding logic as much as possible based on time.

Test cases can be generated to exercise the broader model only insofar as it is required to reach the tagged features, or the broader model can be tested more rigorously if there is time.

Once Features and a Coverage Profile have been created, navigate to the Home tab of the menu and save the model. Test Case generation will now be performed based on the Coverage Profile assigned to the model.

**Note:** *The "Ignore" Coverage metric will exclude any paths through a model that do not contain a tagged Feature. To use "Ignore", a Start block for each path to be generated must be tagged as a Feature with a Coverage measure assigned to it.*

Quality Modeller is Curiosity's flow-driven model-based tool which provides a range of accelerators and connectors for building flowcharts rapidly. Align all stakeholders to quality outcomes and create critical assets early, delivering superior software at speed.

Test cases are equivalent to paths through the model of a system under test. They are generated automatically from a model, with or without test data and test automation associated with them. Test Modeller has coverage techniques using advanced algorithms to generate the smallest set of test cases needed to test given features with a required level of rigour.

A Model is a canvas and the Flow that is built onto it. There are several types of Model, some of which display different tabs and tools on the toolbar in Quality Modeller.

Coverage Profiles are a wrapper for Coverage settings and options. Any number of Coverage Profiles can be created as required, each with its own Coverage settings. The Coverage button is on the Test Generation tab of a Model. Quality Modeller Models come with Default Profile, User Stories and Test Cases Profiles built in.

## Related

- [Quality Modeller 101](/test-modeller-101.md)
- [Quality Modeller](/get-started-with-test-modeller.md)
- [Test Case Generation](/test-case-generation-in-test-modeller.md)
- [How to Generate Test Cases](/how-to-generate-test-cases.md)
- [Browsing Test Cases](/browsing-test-cases.md)
