Test Management extension for Azure DevOps
The Test Management extension for Azure DevOps provides Azure DevOps users with test coverage and status information directly on native Azure DevOps epics, issues, tasks, or custom work item types.
In this topic:
- Overview
- Prerequisite: enable CORS
- Install
- Configure
- Synchronize
- Test Coverage widget summary
- Troubleshooting
Overview
The extension allows Azure DevOps users to continue planning and working in Azure DevOps with immediate visibility into the quality processes being managed in OpenText Application Quality Management. This extension helps Azure DevOps users understand test coverage and pass/fail status, while providing QA with full visibility and alignment to the development process being managed in Azure DevOps.
Note: You cannot use this extension in private browsing mode (in Incognito mode or private window.)
Prerequisite: enable CORS
By default, the server doesn’t support Cross-Origin Resource Sharing (CORS). To use this extension, you should enable CORS.
To enable CORS:
-
Prerequisite: Make sure the server is accessed via a secure protocol.
-
Stop the OpenText Application Quality Management service.
-
Edit the {Deployment Path}\webapps\qcbin\WEB-INF\web.xml file.
{Deployment Path} is the location of the repository directory which is specified during the installation.
-
Add the following content by the end of the filter sections and before filter-mapping:
If you work with Azure DevOps Server, replace the value of the allowedOrigins parameter with an asterisk (*).
Copy code<filter>
<filter-name>cross-origin</filter-name>
<filter-class>org.eclipse.jetty.ee10.servlets.CrossOriginFilter</filter-class>
<init-param>
<param-name>allowedOrigins</param-name>
<param-value>https://microfocus-alm.gallery.vsassets.io, https://microfocus-alm.gallerycdn.vsassets.io</param-value>
</init-param>
<init-param>
<param-name>allowedMethods</param-name>
<param-value>POST, GET, OPTIONS</param-value>
</init-param>
<init-param>
<param-name>exposedHeaders</param-name>
<param-value>Set-Cookie</param-value>
</init-param>
</filter> -
Add the following content after the filter-mapping whose filter-name is OSPCookieFilter:
Copy code<filter-mapping>
<filter-name>cross-origin</filter-name>
<url-pattern>/rest/*</url-pattern>
<url-pattern>/api/*</url-pattern>
<url-pattern>/authentication-point/*</url-pattern>
</filter-mapping>
-
-
In the {Deployment Path}\webapps\qcbin\WEB-INF\jetty-web.xml file, uncomment the following content.
Copy code<Call name="setAttribute">
<Arg>org.eclipse.jetty.cookie.sameSiteDefault</Arg>
<Arg>None</Arg>
</Call> -
In the {Deployment Path}\wrapper\Wrapper.conf file, add the following content in the # SSO Configuration section:
Copy codewrapper.java.additional.49=-Dcom.hp.alm.platform.web.filters.allowedHttpVerbs=GET,POST,PUT,OPTIONS
Note:
wrapper.java.additional.49
in the line above is an example. Ifwrapper.java.additional.49
is already used, use another available one instead. -
Start the service.
Set X-Forwarded-Proto header
If a web server is used in front of the server, you should set the X-Forwarded-Proto header in the web server. This header identifies the protocol that is used to connect with the web server.
For example, if you use Nginx, to set the X-Forwarded-Proto header, you add the following line directly after any proxy_pass line:
proxy_set_header X-Forwarded-Proto $scheme;
For instructions about setting the header in other web servers, see the web server documentation.
Install
To install the Test Management extension for Azure DevOps:
-
Prerequisite: Add test coverages for your requirements.
For details, see Create test coverage.
-
If you work with Azure DevOps Services:
-
Log in to the Azure DevOps Marketplace.
-
In the Test Management Extension page, click Get it free.
-
Select your Azure DevOps organization, and click Install.
-
-
If you work with Azure DevOps Server (2019, 2020, or 2022):
-
Log in to the Azure DevOps Marketplace.
-
Click Download to download the Test Management extension for Azure DevOps.
-
Log in to your Azure DevOps organization. In the left pane of the page, at the bottom, click Collection Settings.
-
In the left pane of the Collection Settings page, under General, click Extensions.
-
In the right top corner of the Extensions page, click Browse local extensions.
-
Scroll down to the bottom of the page, click Manage Extensions.
-
In the Manage Extensions page, click Upload extension to upload the Test Management extension for Azure DevOps you downloaded.
-
Go back to the marketplace page, select your Azure DevOps organization, and click Install.
-
Configure
Complete the following tasks to set up the extension.
Add a custom field to store requirement ID
Add a custom field to an Azure DevOps work item. This custom field is used to store the ID of the requirement that is mapped to the Azure DevOps work item.
-
Log in to your Azure DevOps organization.
-
In the left pane of the page, at the bottom, click Organization settings (or Collection Settings if you work with Azure DevOps Server).
-
In the left pane of the page, under Boards, click Process.
-
From the All process list, select an inherited process, and select the work item type you want to add the custom field to.
-
Click New field.
-
Give the custom field a name and select Integer as the type. Click Add field.
Add an server configuration
You can add multiple server configurations in the Test Management extension for Azure DevOps.
To add a server configuration:
-
Log in to your Azure DevOps organization. In the left pane of the page, at the bottom, click Organization settings (or Collection Settings if you work with Azure DevOps Server).
-
Under Extensions, click ALM Settings.
-
In the ALM Settings page, under the ALM Servers section, click Add an ALM server.
-
Configure the attributes of your server, and click Create.
Field Description Name Enter the name for the server configuration. ALM Server Enter the address for the server.
Only servers that use secure protocols are supported. For example, https://<server>:<port_number>/qcbin.
Client ID
API Key Secret
Enter the Client ID and API key secret of your API key.
For information about managing API keys, see API key management.
-
Click Test connection to test the connection with your server.
-
Click Create.
Add entity mappings
After adding a server configuration, you can add entity mappings between requirements and Azure DevOps work items.
To add an entity mapping:
-
Log in to your Azure DevOps organization. In the left pane of the page, at the bottom, click Organization settings (or Collection Settings if you work with Azure DevOps Server).
-
Under Extensions, click ALM Settings.
-
In the ALM Settings page, under the Entity Mappings section, click Add a mapping.
-
Enter the following information, and click Create.
Field Description ALM Server Select the server configuration you added. ALM Domain Select the domain where the project you want to map is located. ALM Project Select the project to map. Azure DevOps Custom Field Select the custom field you created in Add a custom field to store requirement ID.
Azure DevOps Projects Select the Azure DevOps projects where the Aure DevOps work item types you want to map are located. Azure DevOps Work Item Types Select the Azure DevOps work item types to map.
Note: The work item types of the selected Azure DevOps projects that have been mapped to projects are not available for selection.
Synchronize
Data between Azure DevOps and OpenText Application Quality Management can be synchronized using Connect or manually.
Synchronize with Connect |
If you use Connect to synchronize with Azure DevOps, the value of the custom filed that stores the mapped requirement ID can be set automatically. To synchronize using Connect, add a mapping between the Req ID field and the custom field you added in Azure DevOps. |
Synchronize manually |
You can manually enter the value for the custom field to synchronize with Azure DevOps. To edit the value for the custom field:
|
Test Coverage widget summary
After you complete configuring the extension, the Test Coverage widget is added to work item details.
-
The widget shows the number of tests related to the entity, and the test status of the last runs of these tests.
-
Click the requirement ID to drill down to the requirement and the details of its related tests.
-
Click the number of a specific test status to view the details of tests of the specific test status in a new widget. Click a test ID to drill down to the related test plan.
-
Click View <number> linked ALM tests detail to view the details of all the tests in a new widget. Click a test ID to drill down to the related test plan.
Troubleshooting
The following table lists the issues you may encounter when using this plugin and instructs you how to solve the issues:
Issue | Solution |
---|---|
The following error occurs when you click an Azure DevOps entity: No corresponding requirement in ALM. Make sure that the ID is correct. |
Check the configuration of the {Deployment Path}\webapps\qcbin\WEB-INF\web.xml file. Make sure the value of the allowedOrigins parameter is set to the following: https://microfocus-alm.gallery.vsassets.io, https://microfocus-alm.gallerycdn.vsassets.io For details, see Prerequisite: enable CORS. |