Measuring test coverage

Building reliable and comprehensive automated test coverage helps ensure your application is working as expected. In mabl, you can review an application's test coverage and determine which pages need more coverage on the page coverage dashboard: Coverage > Page.

The page coverage dashboard

The page coverage dashboard

This article explains how mabl measures test coverage. For more information on interpreting page coverage metrics, see the article on understanding coverage by page.

Crawling the app

When you create a new application, mabl runs a link crawler test to check for potentially broken links in your application. The output of the link crawler tests serves as the basis for calculating test coverage in your application.

Calculating total coverage

The page coverage dashboard automatically filters test coverage metrics by application. To calculate total coverage, mabl divides the number of pages in the application that are covered by mabl tests by the total number of pages in the application.

Mabl updates page coverage metrics roughly every 12 hours. If you aren't seeing any test coverage metrics, or the metrics look incorrect, check out the article on how to troubleshoot test coverage.

URL clustering

A web application can have thousands of distinct URLs with very small differences in content displayed for each URL. For this reason, mabl uses a process called "URL clustering" to calculate and report coverage in terms of common pages in your application.

Mabl clusters URLs that share the same page template into one group to represent one page of an application.
For example, in the mabl application, the Insights page has a different URL for each workspace:

  • app.mabl.com/workspaces/83hd632h9a-w/insights
  • app.mabl.com/workspaces/uvg9eh2n56-w/insights
  • dev.mabl.com/workspaces/qn243lf97h-w/insights
  • qa.mabl.com/workspaces/bv82bfnv75-w/insights
  • preview-env-445.mabl.com/workspaces/cd64lhaj32-w/insights

The URLs in this group all display different insights, but they share the same page template. To calculate page coverage, mabl clusters these URLs into one group to represent one page of an application.

The distinct URL variations that are grouped together are represented with a wildcard [*] where the variations occurred. For example, the URL for the insights page takes the following form: /workspaces/*/insights

URLs that are very unique are contained in their own clusters. For example, since the mabl login page is the same for all users, URL clustering represents it as one page: /login

Manually configuring page groups

URL clustering automatically groups together similar pages in your application. However, if you find that URL clustering is not grouping pages together correctly, you can manually group and ungroup pages. See the article on troubleshooting test coverage metrics for more information on manually configuring page groups.

Configuring page groups

Configuring page groups

Excluding pages

You may exclude pages from test coverage metrics in the exclusions list. Click on Exclusions in the top right corner of the dashboard to open the Configure exclusion list modal. The exclusions list defines the URL path(s) that you do not want to see.

Adding paths to the exclusion list

Adding paths to the exclusion list

Refer to the following table for more details on how excluded paths work:

PathExample
Exclusions apply to all applications in a workspace./workspacesDoes exclude:
https://app.mabl.com/workspaces
https://app-fake.mab.com/workspaces
Exclusions can contain wildcards to match anything in one directory/workspaces/*/settingsDoes exclude:
https://app.mabl.com/workspaces/abc/settings
https://app.mabl.com/workspaces/xyz/settings
Does not exclude:
https://app.mabl.com/workspaces/abc/configuration
https://app.mabl.com/workspaces/xyz/123/settings
Exclusions are inclusive of subdirectories/workspacesDoes exclude:
https://app.mabl.com/workspaces
https://app.mabl.com/workspaces/xyz/settings
Does not exclude:
https://app.mabl.com/workspaces-preview
https://app.mabl.com/preview/workspaces

📘

Note

Excluding pages on the page coverage dashboard does not stop the link crawler test from visiting these pages.