Azure DevOps servicesAdvanced43 min read

What Is Azure Test Plans in DevOps?

Reviewed byJohnson Ajibi· Senior Network & Security Engineer · MSc IT Security
On This Page

Quick Definition

Azure Test Plans helps software teams plan, run, and track their testing efforts. It lets you create test cases, execute them manually or via automation, and report on results. It’s built into Azure DevOps so developers and testers work together seamlessly. You can also collect feedback from stakeholders without extra tools.

Common Commands & Configuration

az devops test plan list --organization https://dev.azure.com/myorg --project MyProject

Lists all test plans in the specified Azure DevOps project.

Tests ability to retrieve test plans using Azure CLI; common in AZ-400 labs.

az devops test suite create --plan-id 123 --suite-type StaticTestSuite --name 'Login Feature Suite' --organization https://dev.azure.com/myorg --project MyProject

Creates a static test suite under the given test plan.

Exams test understanding of suite types (static, requirement-based, query-based) and their creation.

az devops test case create --plan-id 123 --suite-id 456 --title 'Verify user login with valid credentials' --priority 1 --steps '[{"action":"Enter valid username","expected":"Username field accepts input"},{"action":"Enter valid password","expected":"Password field accepts input"},{"action":"Click Login","expected":"User is redirected to dashboard"}]'

Creates a test case with steps in a specific test suite.

Tests familiarity with creating test cases via CLI, including step definition; relevant for automation scenarios.

az devops test run create --plan-id 123 --suite-id 456 --configuration-ids 789 --point-ids '101,102' --organization https://dev.azure.com/myorg --project MyProject

Initiates a test run for specific test points (combination of test case and configuration).

Exams may ask how to trigger a run for selected configurations; this command is key.

az devops test run update --run-id 999 --state Completed --outcome Passed --organization https://dev.azure.com/myorg --project MyProject

Updates the state and outcome of a test run.

Tests ability to manage test run lifecycle; important for exam scenarios on result tracking.

az devops test suites list --plan-id 123 --organization https://dev.azure.com/myorg --project MyProject --query "[].{Name: name, Id: id}" -o table

Lists all test suites in a plan with name and ID in table format.

Shows how to query and format output; appears in lab exercises for AZ-400.

az devops test results list --run-id 999 --organization https://dev.azure.com/myorg --project MyProject

Lists all test results for a given test run.

Exams test ability to retrieve detailed results for analysis or gating.

az devops test configuration create --name 'Windows-Chrome' --description 'Windows 10 with Chrome' --variables '[{"name":"OS","value":"Windows 10"},{"name":"Browser","value":"Chrome"}]' --organization https://dev.azure.com/myorg --project MyProject

Creates a new test configuration with variables (OS and Browser).

Critical for exams; tests understanding of configuration variables and their role in multi-environment testing.

Must Know for Exams

Azure Test Plans is a specific topic in several Microsoft Azure certification exams, especially those focused on DevOps. It appears most heavily in the AZ-400: Designing and Implementing Microsoft DevOps Solutions exam. This exam has a domain called ‘Develop and implement a quality strategy’ which includes creating and managing test plans, test suites, and test cases. Candidates need to know how to configure test plans, link them to work items, and integrate with pipelines.

The AZ-104: Microsoft Azure Administrator exam may not directly ask about Test Plans in depth, but it could appear in the context of Azure DevOps integration. For example, an administrator might need to configure permissions for testers or set up a build agent that can run automated tests. Understanding the access levels (Basic vs. Basic + Test Plans) is important.

The Azure Fundamentals (AZ-900) exam covers Azure DevOps at a high level. You should know that Azure Test Plans is one of the five services in Azure DevOps (along with Boards, Repos, Pipelines, and Artifacts). You may get a question like ‘Which Azure DevOps service is used for manual and exploratory testing?’ The answer is Azure Test Plans.

For AWS or Google Cloud exams, Azure Test Plans is not a direct topic. However, the concept of test management is universal. Understanding how Azure Test Plans works can help you compare it to AWS Device Farm or Google Cloud Test Lab. The exam objectives for AWS Developer Associate include testing, but with different tools. So, while the term may not appear, the underlying knowledge of CI/CD testing practices is beneficial.

In the exam questions, expect scenario-based items. For example: ‘Your company uses Azure DevOps. The QA team needs to create test cases based on user stories. They want to track test execution results and link defects automatically. Which feature should they use?’ The answer is Azure Test Plans. Another common pattern: ‘You need to automate test execution as part of a release pipeline. Which task should you add?’ The answer could be ‘Publish Test Results’ or ‘Visual Studio Test’ task, depending on the context.

Also note that the exam may test your understanding of access levels. For example: ‘A stakeholder needs to submit feedback using the Test & Feedback extension. What is the minimum access level required?’ The answer is ‘Stakeholder’. Similarly, a tester who needs to create and manage test cases needs ‘Basic + Test Plans’ license.

Finally, the AZ-400 exam specifically asks about Test Impact Analysis (TIA). You should know that TIA uses code coverage data to run only tests that affect changed code. It reduces test execution time.

Simple Meaning

Imagine you are building a new house. You have a blueprint for each room, a schedule for construction, and a list of checks to make sure everything is right before the family moves in. Azure Test Plans is like that checklist, but for software. It lives inside Azure DevOps, which is a whole workshop for building software. With Test Plans, you don’t just hope the software works. You write down exactly what should happen, step by step, like an instruction manual for testing. For example, for a login page, you might write a test case that says: open the app, type a valid username, type a correct password, click login, and then check that you see the dashboard. If the dashboard doesn’t appear, the test fails and you know something is broken.

But it’s more than just writing tests. Azure Test Plans also helps you run those tests on different versions of the software. When a developer fixes a bug, you can run all the tests again to make sure the fix didn’t break something else. That is called regression testing. It also supports exploratory testing, which is like being a detective. Instead of following a script, you try things randomly to see if anything unexpected happens. You can take screenshots, record your voice notes, and share them with the team.

Another big piece is feedback management. You can ask stakeholders like product managers or actual customers to test the software and give feedback. They don’t need a special account. They just click a link, use the app, and answer questions you set up. All that feedback comes back into Azure Test Plans, so you can track issues and suggestions in one place.

Think of it like a giant binder for a science fair project. The project is the software. The binder has a section for the plan (what you will test), a section for each experiment (the test cases), a section for results (pass or fail), and a section for notes from the judges (stakeholder feedback). Without the binder, you would just build the project and hope it works. With the binder, you have proof and a clear way to improve. Azure Test Plans does that for software teams, making sure quality is built into every release.

Full Technical Definition

Azure Test Plans is a component of Azure DevOps, specifically under the ‘Test Plans’ hub. It provides a comprehensive test management solution that integrates with the rest of the DevOps toolchain, including Azure Repos, Azure Pipelines, and Azure Boards. The service is built on a client-server architecture where the Azure DevOps server hosts the test artefacts and orchestration, while the client interface (web portal or Visual Studio Test Explorer) allows users to interact with the plans.

At the core, the data model consists of Test Plans, Test Suites, and Test Cases. A Test Plan is a container that holds one or more Test Suites. Each Test Suite can be static (a manually curated set of tests), requirement-based (linked to user stories or work items in Azure Boards), or query-based (dynamically populated based on a work item query). Test Cases are individual work items that contain a title, description, preconditions, and a list of test steps. Each step has an action and an expected result. Test Cases can be shared across multiple Test Suites and Plans.

Execution is handled through Test Runs. A Test Run is an instance of executing one or more Test Cases against a specific build or release. When a tester runs a test, the outcome is recorded as Passed, Failed, Blocked, or Not Applicable. Failed tests can be linked to bugs directly from the test runner. For automated tests, Azure Test Plans integrates with Azure Pipelines. You can configure a pipeline to run automated tests and publish the results back to a Test Plan. This is done using the ‘Publish Test Results’ task, which supports formats like JUnit, NUnit, and VSTest. The results appear in the ‘Runs’ tab, and you can see which tests passed on which build.

For exploratory testing, Azure Test Plans includes the Test & Feedback extension, available for Chrome and Edge. This extension allows testers to capture screenshots, record steps, and create bugs or tasks directly from the browser. The data is stored as work items in Azure Boards and linked to the Test Plan. Stakeholder feedback is collected via a feedback request that can be sent by email. The stakeholder clicks the link, uses the application, and answers a survey. The responses are stored in Azure Boards as a Feedback Response work item.

Real IT implementation requires proper permissions. Azure Test Plans uses the same security model as Azure DevOps. You need ‘Basic + Test Plans’ access level or higher for full functionality. For stakeholders, ‘Stakeholder’ access level is sufficient for submitting feedback. In terms of reporting, Azure Test Plans provides built-in charts and widgets that show progress, failure rates, and test coverage. You can also use Azure DevOps Analytics with Power BI for advanced reporting.

Key standards and protocols: The service uses REST APIs for integration. All operations can be performed programmatically via the Azure DevOps REST API version 5.0 or later. This allows integration with third-party tools like Selenium, Jenkins, or custom scripts. For automated test results, the standard test result formats (TRX, JUnit) are supported. The service also supports Microsoft’s Test Impact Analysis (TIA) to reduce test execution time by running only tests that cover changed code.

Common implementation patterns: Many organizations use a three-tier Test Plan structure: a single Test Plan per release, Test Suites per feature area, and Test Cases per acceptance criteria. Continuous testing is achieved by linking Test Cases to automated tests in the pipeline. The test results gate the release, meaning if a critical test fails, the release is blocked. This is enforced by setting test pass percentage thresholds in the pipeline.

What often goes wrong: Teams sometimes create too many Test Plans, leading to confusion. A best practice is to keep the hierarchy simple. Another mistake is not linking Test Cases to requirements, which makes traceability difficult. Also, failing to update Test Cases when the software changes leads to false positives or false negatives. Azure Test Plans does not automatically update test steps when the UI changes, so maintenance is crucial.

Real-Life Example

Think of a large cruise ship being built. The ship is like a major software release. The ship has thousands of rooms, safety systems, navigation, and entertainment. You cannot just launch it and hope everything works. You need a detailed testing plan. Azure Test Plans is like the ship’s inspection binder.

First, the ship’s architect creates a master test plan for the entire voyage readiness. That is like the Test Plan in Azure DevOps. Inside that plan, there are sections for the engine room, the bridge, the cabins, and the restaurant. These sections are like Test Suites. Each suite contains a list of checks. For example, in the restaurant suite, a check might be: open the kitchen faucet, wait 10 seconds, confirm water flows and drains. That single check is a Test Case. It has steps and an expected result.

Now imagine the ship has different versions. The first version is the blueprint, the second is a dry dock inspection, and the third is the sea trial. Azure Test Plans allows you to run the same binder against each version. The engine room test might pass in dry dock but fail at sea. You record the failure, write a bug report (like a work item), and the engineers fix it. Then you run that test again on the next sea trial to confirm the fix. That is regression testing.

Exploratory testing on the ship would be like a quality inspector walking around the ship without a script. They try the emergency alarm, see if the crew responds, taste the food, and check the cleanliness. In Azure Test Plans, the inspector uses the Test & Feedback extension to take photos (screenshots) and record voice notes. Those notes become work items that the team reviews.

Stakeholder feedback is like the ship’s owner and future passengers taking a test voyage. They get a link to fill out a survey: is the cabin comfortable? Is the restaurant menu good? Their answers flow back into Azure Test Plans, and the team can decide to change the menu before the maiden voyage.

Without Azure Test Plans, the ship inspection team would use paper checklists, handwritten notes, and separate email reports. That is messy and slow. With Azure Test Plans, everything is digital, searchable, and linked. You can see exactly which tests passed, which failed, and which bugs were found. It makes the whole process transparent and efficient.

Why This Term Matters

In a real IT environment, software quality is not optional. A bug in production can cost thousands of dollars in lost sales, security breaches, or compliance fines. Azure Test Plans provides a structured way to ensure quality before release. It matters because it brings testing into the DevOps workflow. Developers, testers, and operations people see the same Test Plans and results. There is no handoff of spreadsheets or word documents. This reduces misunderstandings and speeds up the feedback loop.

For teams that follow Agile or Scrum, Azure Test Plans integrates directly with user stories in Azure Boards. Every user story can have acceptance criteria, which become test cases. When a developer completes a story, the tester can immediately run the linked test cases. This alignment ensures that what is built matches what was requested. It also makes it easy for the product owner to see test coverage and progress during sprint reviews.

Another practical reason is compliance. Many industries like healthcare, finance, or government require proof that software was tested before release. Azure Test Plans provides an audit trail. You can see who ran which test, when, and what the result was. That audit trail is critical for certifications like SOC 2, HIPAA, or PCI DSS. Without a tool like Azure Test Plans, compliance audits become painful manual exercises.

Finally, it matters because it supports both manual and automated testing in one place. Many teams start with manual testing and gradually automate. Azure Test Plans allows a hybrid approach. A team can keep manual test cases for exploratory or complex scenarios while automating regression tests. The results all feed into the same reports, making it easy to track overall quality. It also supports continuous testing in CI/CD pipelines. A pipeline can run automated tests, and if a key test fails, the release is automatically blocked. This prevents bad code from reaching production.

How It Appears in Exam Questions

Exam questions about Azure Test Plans typically fall into three categories: scenario-based, configuration, and troubleshooting. In scenario-based questions, you are given a company situation and asked which tool or feature to use. For example: ‘A development team uses Azure DevOps. They want to ensure that every user story has corresponding test cases and that test results are visible in the sprint dashboard. What should they do?’ The answer involves creating Test Plans, linking Test Cases to work items, and adding a test results widget to the dashboard.

Another scenario: ‘The QA team wants to perform exploratory testing and capture screenshots, annotations, and create bugs directly from the browser. Which Azure DevOps extension should they install?’ The answer is the Test & Feedback extension. The question might also ask how to configure the extension for stakeholder feedback.

In configuration questions, you may be asked about the proper setup. For instance: ‘You need to run automated tests in a release pipeline. Which task should you add to the pipeline to run NUnit tests and publish results?’ The answer is the ‘Visual Studio Test’ task or the ‘Publish Test Results’ task, depending on the context. You may also be asked about the file format for test results, such as TRX or JUnit.

Another configuration example: ‘You have a Test Plan with 500 test cases. You want to run only the test cases that cover code changed in the latest build. Which feature should you enable?’ The answer is Test Impact Analysis (TIA). The question might then ask about prerequisites, like enabling code coverage in the build.

Troubleshooting questions are less common but can appear. For example: ‘Test results are not appearing in the Test Plan after the pipeline runs. What could be the cause?’ Possible answers: The ‘Publish Test Results’ task is not configured to map to the correct Test Plan, or the test result file uses an unsupported format. Another issue could be permissions: the build service account may not have permission to create test runs.

There are also questions about licensing. For instance: ‘A user can view Test Plans but cannot create new test cases. What is the most likely reason?’ The answer: The user has ‘Basic’ access level instead of ‘Basic + Test Plans’.

In the AWS or Google exams, you might see analogous concepts. For example, on the AWS Developer exam, you might get a question about using AWS CodeBuild with CodePipeline to run tests. The question could say: ‘How do you publish test results to a dashboard?’ You would need to know that CodeBuild can generate reports, but it is not as integrated as Azure Test Plans. For Google Cloud, the Cloud Build tool has test reporting but again less integrated. So, understanding Azure Test Plans gives you a frame of reference for these comparisons.

Practise Azure Test Plans Questions

Test your understanding with exam-style practice questions.

Practise

Example Scenario

Scenario: Your company is building an e-commerce website for selling books. The development team uses Azure DevOps. The product owner has written user stories in Azure Boards. For the next sprint, you have a user story: ‘As a customer, I want to search for books by title so that I can quickly find a book.’

You are the QA lead. You create a Test Plan named ‘Sprint 23 Search Functionality’. Inside that Test Plan, you create a Test Suite called ‘Basic Search’. You link the suite to the user story. Then you create a Test Case inside the suite. The test case has steps: 1) Navigate to the website. 2) Enter a valid book title ‘The Hobbit’ in the search box. 3) Click the search button. 4) Verify that a book titled ‘The Hobbit’ appears in the search results. The expected result is that exactly one result shows with the correct title.

You also create a negative test case: 1) Navigate to the website. 2) Enter an invalid book title ‘xyz123nonexistent’ in the search box. 3) Click search. 4) Verify that a message ‘No results found’ is displayed.

You assign these test cases to a tester. The tester runs them manually on a staging environment. The first test passes, but the second test fails because the site shows an error page instead of the ‘No results found’ message. The tester marks the test as failed and creates a bug work item directly from the test runner. The bug is automatically linked to the test case and the user story.

Meanwhile, the developer fixes the bug. The next day, you run the same test again. This time it passes. The pipeline is configured to run automated regression tests on every build. So, after the fix, the build pipeline triggers, runs all automated tests, and publishes results to the same Test Plan. You see in the dashboard that all tests are passing.

You also want feedback from stakeholders. You send a feedback request to the product owner. They click the link, try the search feature, and fill out a survey saying ‘It works great, but I wish the search was also by author.’ That feedback is saved, and you create a new user story for ‘Author Search’ in the next sprint. This scenario shows the full cycle of planning, executing, tracking, and improving using Azure Test Plans.

Common Mistakes

Not linking test cases to user stories or requirements

Without linking, you lose traceability. You cannot prove that a user story was tested. Audits and reports become useless.

Always link a test case to the work item it validates. Use the ‘Link to work item’ option when creating the test case.

Using too many test plans instead of organizing with test suites

Having dozens of test plans makes it hard to find and manage tests. It also clutters the reporting.

Use a single test plan per major release or sprint. Use test suites to group tests by feature or area.

Forgetting to update test cases when the user interface changes

Old test steps will fail even if the functionality is correct, leading to false failures and wasted time.

Review test cases at the start of each sprint. Update steps and expected results to match the current UI.

Not configuring Test Impact Analysis (TIA) to reduce test execution time

Without TIA, every pipeline run executes all tests, which can take hours. Teams may skip running tests entirely.

Enable TIA in the pipeline by checking the ‘Test Impact Analysis’ option in the Visual Studio Test task. Requires code coverage data.

Assuming all users can create test cases with Basic access level

Basic access does not include Test Plans features. Users see a message that they need the extension.

Assign ‘Basic + Test Plans’ access to testers. For stakeholders, use ‘Stakeholder’ access for feedback only.

Not using the Test & Feedback extension for exploratory testing

Without the extension, exploratory testing results are lost. You have no screenshots, steps, or bugs linked to the test plan.

Install the Test & Feedback extension in Chrome or Edge. Configure it to connect to your Azure DevOps organization.

Ignoring the stakeholder feedback feature

Stakeholder feedback is a key part of validation. Ignoring it means missing real-world input before release.

Send feedback requests to stakeholders before the sprint ends. Use the ‘Request feedback’ option in the Test Plans hub.

Exam Trap — Don't Get Fooled

{"trap":"The exam may present a scenario where a user cannot create test cases even though they are a member of the Contributors group. Many candidates think that Contributor role is sufficient.","why_learners_choose_it":"Learners often confuse role-based permissions (Contributor, Reader, Administrator) with access levels (Basic, Basic + Test Plans).

They think that being a Contributor automatically gives full rights to all Azure DevOps features.","how_to_avoid_it":"Remember that Azure DevOps has two security layers: access level (license) and permissions (project-level roles). To create and manage test cases, a user needs the ‘Basic + Test Plans’ access level.

The Contributor role alone is not enough. Check the access level of the user in the Organization settings."

Commonly Confused With

Azure Test PlansvsAzure Pipelines

Azure Pipelines is for building and deploying code. Azure Test Plans is for testing. Pipelines can run automated tests, but the test management and reporting happen in Test Plans. Test Plans is the planning and tracking layer, while Pipelines is the execution engine.

You use Azure Pipelines to compile your code and run unit tests. You use Azure Test Plans to create test cases for the login page and track whether they passed on the last build.

Azure Test PlansvsAzure Boards

Azure Boards manages work items like user stories, tasks, and bugs. Test Plans uses work items for test cases, but it also adds a separate layer of test plans, suites, and runs. Boards is about ‘what to build’, while Test Plans is about ‘how to test what was built’.

In Azure Boards, you create a user story for the login feature. In Azure Test Plans, you create a test case to test that feature and link it to the user story.

Azure Test PlansvsAzure Repos

Azure Repos is a source control system (Git or TFVC). It stores code. Test Plans stores test artifacts. While test automation code is in Repos, the test management data (plan, suites, cases) is in Test Plans.

Your Selenium test script is stored in Azure Repos. The Test Plan that uses that script to verify the login page is in Azure Test Plans.

Azure Test PlansvsAzure Artifacts

Azure Artifacts is a package management system for storing NuGet, npm, or Maven packages. It has nothing to do with testing. Test Plans is about testing the application, not storing packages.

You store a third-party library for PDF generation in Azure Artifacts. You test that the PDF generation works using a test case in Azure Test Plans.

Azure Test PlansvsUnit Testing Frameworks (NUnit, xUnit)

Unit testing frameworks are used to write and run automated tests. Azure Test Plans is a test management tool that can import results from these frameworks. The frameworks are the engines, Test Plans is the dashboard and organizer.

You write an NUnit test for a math function. You run it in Azure Pipelines. The result (pass/fail) is published to Azure Test Plans, where you see it alongside manual test results.

Step-by-Step Breakdown

1

Create a Test Plan

A Test Plan is the top-level container. You name it, set an area path, and optionally map it to a build or release pipeline. This defines what you are testing and when.

2

Add Test Suites

Inside the Test Plan, you create Test Suites to organize tests. You can choose static (manual selection), requirement-based (linked to user stories), or query-based (dynamic based on work item query). This helps group tests logically.

3

Create Test Cases

Each Test Suite contains Test Cases. A Test Case is a work item with steps. Each step has an action and an expected result. You can add shared steps (used across multiple test cases) for common operations like login.

4

Assign Testers

You assign each Test Case to a tester. This shows who is responsible for running it. The tester sees the assigned tests in their own test run queue.

5

Configure the pipeline for automated tests

In Azure Pipelines, you add a task to run automated tests (e.g., Visual Studio Test, VSTest). You also add a ‘Publish Test Results’ task to send results back to your Test Plan. This requires mapping the test results file to the correct test plan.

6

Run Tests

Testers run manual tests via the Test Runner in the web interface. Automated tests run as part of the pipeline. Both create Test Runs, which are records of execution with pass/fail outcomes.

7

Record results and create bugs

When a test fails, the tester can mark it as failed and create a bug directly from the test runner. The bug is linked to the test case and the user story. Automated test failures also link to any associated work items.

8

Analyze reports and dashboards

Azure Test Plans provides charts like test results trend, pass rate, and failure analysis. You can add these to a dashboard. This helps the team track quality over time and decide if a release is ready.

9

Collect stakeholder feedback

You send a feedback request to stakeholders. They use the Test & Feedback extension or a web link to explore the app and answer questions. Responses are stored as work items linked to the test plan.

10

Iterate

Based on results and feedback, you update test cases, fix bugs, and create new test cases for new features. The cycle repeats each sprint or release.

Practical Mini-Lesson

To use Azure Test Plans effectively in a real DevOps environment, you need to understand how it fits into the larger workflow. The most common approach is to have a single Test Plan per release. Inside that, you have requirement-based suites linked to user stories in Azure Boards. This ensures every user story has test coverage. When a developer completes a story, the linked test cases appear in the tester’s queue.

One important practice is to use shared steps. If many test cases start with ‘Login as a standard user’, create a shared step for that and reference it. This makes maintenance easier. If the login process changes, update just one place.

For automated testing, you need to structure your test code to output results in a standard format. For .NET projects, use TRX format. For Java or JavaScript, use JUnit format. In the pipeline, use the ‘Publish Test Results’ task and point to the results file. You need to ensure the task is configured with the correct test run title and, optionally, the Test Plan ID. If you omit the Test Plan ID, the results are published to the default test run location, but they may not appear in your specific Test Plan.

Another practical point is handling flaky tests. Flaky tests pass sometimes and fail other times without code changes. They waste time and reduce trust in the test results. Use the built-in ‘Mark as flaky’ feature in Test Plans to flag such tests. You can also configure the pipeline to automatically retry failed tests a defined number of times before marking them as failed. This is done in the ‘Visual Studio Test’ task options.

What can go wrong? A frequent issue is that test results do not appear in the Test Plan after a pipeline run. This is usually because the test results file is not published to the correct test plan or the file format is not recognized. Check the task logs for errors. Another issue is permission problems. The build service account must have ‘Edit’ permissions for the Test Plan. If not, the pipeline cannot publish results.

Professionals also use Azure Test Plans for compliance. They generate a ‘Test Traceability Matrix’ by using query-based suites. For example, you can create a query that selects all test cases linked to a specific requirement area. This gives you traceability for audits.

Finally, remember that Azure Test Plans is not a replacement for code review or static analysis. It is a tool for dynamic testing. The best results come when you use it alongside tools like SonarQube for code quality and Azure Monitor for production monitoring.

Core Concepts of Azure Test Plans

Azure Test Plans is a comprehensive test management solution integrated into Azure DevOps. It provides a rich, browser-based test management experience that enables teams to plan, track, and execute manual and exploratory tests. At its core, Azure Test Plans revolves around two primary test types: manual testing and exploratory testing. Manual testing involves creating test cases with detailed steps and expected results, which testers execute step by step. Exploratory testing, on the other hand, allows testers to freely explore the application without predefined scripts, capturing their actions, screenshots, and notes in real time.

A fundamental concept in Azure Test Plans is the test plan itself. A test plan is a container that holds a collection of test suites and test cases. Test plans are typically aligned with a specific iteration or release, ensuring that testing efforts are organized and traceable to project milestones. Test suites group test cases logically, such as by feature, risk level, or test type. Within a test plan, you can create static test suites (manually curated lists), requirement-based test suites (automatically populated from linked work items), or query-based test suites (built using work item queries).

Test cases are individual work items that define a specific test scenario. Each test case can have multiple test steps, each with an action and expected result. Test cases can be parameterized to support data-driven testing, where the same test steps are executed with different input data. Azure Test Plans also supports shared steps, allowing common sequences to be reused across multiple test cases, reducing duplication and maintenance.

Execution of tests is tracked through test runs. A test run is an occurrence of executing one or more test cases against a specific build or release. For manual tests, testers mark each step as passed, failed, or blocked, and can add comments and attachments. For exploratory tests, the session is recorded, and any bugs found are automatically linked to the test session. The test results are stored and aggregated, providing real-time insights into test progress and quality metrics.

Integration with other Azure DevOps services is seamless. Azure Test Plans connects with Azure Boards for linking test cases to user stories and bugs, with Azure Pipelines for automated test execution and reporting, and with Azure Repos for version controlling test artifacts. This integration supports continuous testing practices, where tests are triggered automatically as part of build or release pipelines.

Understanding these core concepts is essential for anyone preparing for Azure DevOps certifications such as AZ-400 (Designing and Implementing Microsoft DevOps Solutions) or AZ-104 (Microsoft Azure Administrator). Exam questions often focus on the differences between test plan types, how to organize test cases, and how to interpret test results. For example, candidates may be asked to identify when to use a requirement-based suite versus a static suite, or how to link a test case to a user story for traceability.

Configuration and Parameter Management in Azure Test Plans

Azure Test Plans offers sophisticated configuration and parameter management capabilities that allow teams to run the same tests across multiple environments, operating systems, or browsers without duplicating test cases. Configurations in Azure Test Plans represent distinct test environments. Common configurations include browser types (Chrome, Firefox, Edge), operating systems (Windows 10, Ubuntu 20.04), or device types (iOS, Android). By assigning configurations to test plans, test suites, or individual test cases, testers can run the same set of steps across different setups, and the results are tracked per configuration.

To create and manage configurations, users navigate to the Test Plans section in Azure DevOps, then to the Configuration area. Here, they can define configuration variables such as Operating System, Browser, and Application Version. Each configuration variable can have multiple values, and a configuration is a combination of one value from each variable. For example, a configuration named “Windows-Chrome” might combine OS=Windows 10 with Browser=Chrome. Test plans can then be assigned one or more configurations. When executing tests, testers select which configuration they are testing against, and results are recorded separately for each configuration.

Parameters further enhance test efficiency by enabling data-driven testing. Parameters are placeholders in test steps that are replaced with actual values during execution. For instance, a login test step might use parameters for username and password. Testers can define a set of parameter values (e.g., different user roles) and execute the test case once for each set. This eliminates the need to create multiple similar test cases. Parameters can be added directly in the test step editor, and their values are managed through a parameter grid. Azure Test Plans supports local parameters (within a test case) and shared parameters (across multiple test cases).

Shared parameter sets are work items that contain parameter names and a table of values. Once created, they can be referenced from any test case in the same project. This not only reduces duplication but also centralizes changes. For example, if a test data set for “Valid Users” changes, updating the shared parameter set automatically updates all test cases that reference it. This is a critical feature for maintaining test data consistency across large test suites.

Understanding configuration and parameter management is highly relevant for exam scenarios. In the AZ-400 exam, questions may ask how to set up a test plan to run on multiple browsers or how to parameterize test steps to reduce test case count. Candidates might also be tested on the difference between local and shared parameters, and when to use each. In the AZ-104 exam, configuration management may appear in the context of testing Azure resource deployments. The ability to efficiently manage test environments and data is a key skill for DevOps professionals, and Azure Test Plans provides the tools to do so in a structured, traceable manner.

Test Runs and Analytics in Azure Test Plans

Test runs are the execution backbone of Azure Test Plans. When a tester executes a set of test cases, a test run is created to capture the results. Test runs can be initiated manually from the Test Plans hub or triggered automatically through Azure Pipelines as part of a continuous integration/continuous delivery (CI/CD) workflow. Each test run corresponds to a specific test point, which is the combination of a test case, a test suite, and a configuration. This granular detail ensures that every test execution is fully traceable.

When executing a manual test, the tester works through the test steps one by one. For each step, they can mark the outcome as Passed, Failed, Blocked, or Not Applicable. If a step fails, the tester can optionally create a bug directly from the test run, which automatically links the bug to the failed test case. The tester can also add comments, screenshots, or other attachments to provide context. Multiple testers can work on the same test run simultaneously, but each test point is assigned to one tester at a time to avoid conflicts. Once all test runs for a test plan are complete, the overall test results are aggregated.

Exploratory testing sessions function similarly but are more freeform. When a tester starts an exploratory session, Azure Test Plans records all actions taken within the application (via the Test & Feedback extension), including mouse clicks, keystrokes, and screen captures. The tester can create bugs, tasks, or test cases directly from the session. At the end of the session, a detailed recording is saved, including timeline data and notes, enabling developers to reproduce issues. Exploratory testing results are stored as work items, linked to the session, and can be reviewed in the Test Plans hub.

Analytics in Azure Test Plans provides dashboards and reports for monitoring test quality over time. Out-of-the-box widgets include test results trending, test duration, failed tests analysis, and configuration-specific pass rates. These widgets can be added to Azure DevOps dashboards for real-time visibility. Azure Test Plans also integrates with Azure Analytics Service, allowing users to run custom queries using Kusto Query Language (KQL) for deeper insights. For example, a team might query for all test failures in the last 30 days grouped by configuration to identify which environment has the most issues.

Key metrics tracked include pass rate, test count by outcome, and test execution time. Over multiple builds or releases, these metrics show trends that help teams assess the stability of their application. For compliance, Azure Test Plans supports retention policies for test runs, ensuring that historical data is kept for auditing purposes. The analytics data can also be exported via REST APIs for integration with external reporting tools.

In certification exams, test runs and analytics are frequent topics. The AZ-400 exam may include questions about setting up automated test runs in pipelines, interpreting test result charts, or configuring test failure analysis. The AZ-104 exam might ask about using test analytics to validate Azure resource deployments. Understanding how to create, execute, and analyze test runs is crucial for demonstrating proficiency in quality assurance within Azure DevOps. Candidates should be familiar with the difference between manual and exploratory test runs, how to link bugs from test failures, and how to use analytics to drive continuous improvement.

Integrating Azure Test Plans with Azure Pipelines for Continuous Testing

Integration between Azure Test Plans and Azure Pipelines enables continuous testing, a cornerstone of modern DevOps practices. By incorporating test execution into build and release pipelines, teams can automatically run tests against every code change or deployment, providing fast feedback on quality. Azure Test Plans supports this integration through multiple mechanisms, including the Visual Studio Test task, the Publish Test Results task, and the Azure Test Plans REST API.

The most common approach is to use the Visual Studio Test task in a pipeline to run automated tests (such as unit tests, integration tests, or Selenium-based UI tests). However, for manual tests managed in Azure Test Plans, the integration works differently. The Run Functional Tests task can be used to trigger automated test cases that are defined as automated tests in Azure Test Plans. These automated test cases are linked to test methods in a test assembly. When the pipeline runs, it executes the linked automated tests and reports results back to Azure Test Plans, which updates the corresponding test points automatically.

For manual test execution in pipelines, the approach often involves using the Azure Test Plans API to create test runs programmatically, or using the Test Plans hub to trigger runs manually from a build artifact. The Publish Test Results task can ingest test results from various formats (e.g., JUnit, NUnit, xUnit) and associate them with test cases in Azure Test Plans if the test case IDs are embedded in the result files. This ensures that all test results, whether from automated or manual execution, are centralized in Azure Test Plans for reporting and traceability.

Another powerful feature is the ability to configure quality gates in release pipelines. Using the “Test” phase conditions, release managers can specify that a deployment should proceed only if certain test criteria are met, such as a minimum pass rate (e.g., 95%) or zero critical failures. If the test results from Azure Test Plans fall below the threshold, the pipeline can be set to fail automatically, preventing a faulty build or release from reaching production. This gating mechanism is essential for maintaining high standards in continuous delivery.

Azure Test Plans also supports test environments and test agents. For automated tests that require specific configurations, test agents can be deployed to target machines, and the environment configuration from Azure Test Plans can be used to parameterize the test run. This ensures that tests are executed in the correct environment and that results are recorded per configuration.

In the context of exams, integration with Azure Pipelines appears prominently in the AZ-400 (Designing and Implementing Microsoft DevOps Solutions) and AZ-104 (Microsoft Azure Administrator) exams. Questions may cover how to configure test tasks in a pipeline, how to set up test gating, or how to interpret pipeline logs that show test results. A common scenario asks candidates to design a pipeline that runs automated tests on multiple configurations and reports results back to Azure Test Plans. Understanding the interplay between these two services is vital for any DevOps role. Candidates should practice creating test plans that include both manual and automated test cases, and configuring pipelines to execute them seamlessly.

Troubleshooting Clues

Test plan not visible to team members

Symptom: Team members cannot see the test plan in Azure DevOps, though they have access to the project.

Test plans inherit permissions from the project, but specific area path permissions can restrict visibility. Also, the test plan may be created under a different area path than the user's assigned scope. Another cause is that the test plan is in a different iteration (sprint) that is not selected in the team's settings.

Exam clue: Exams test permission inheritance and area/iteration path scoping for test plans.

Test case steps not saving

Symptom: When editing a test case, the modified steps disappear after refresh or closing the editor.

This often happens due to browser caching issues or concurrent editing conflicts. Azure Test Plans uses work item revisioning; if two users open the same test case simultaneously, one may overwrite changes. The browser extension (Test & Feedback) may interfere with the web interface. Clearing browser cache or using an incognito window can resolve it. Also, check if the project is using inherited process; a custom process might have field rules that block updates.

Exam clue: Exam questions might present a scenario where test case edits are lost, testing understanding of work item revisioning and concurrency.

Exploratory testing recording not capturing screenshots

Symptom: During exploratory test session, screenshots are not saved even though the tester clicks the camera icon.

This issue typically occurs when the Test & Feedback extension does not have permission to capture the screen. The extension requires the 'Allow access to screen capture' permission in the browser. In some enterprise environments, group policies may block screen capture. Also, if the application under test runs inside a virtual machine or remote desktop, capturing may be restricted by the remote session policy. Ensure the extension is updated and permissions are granted.

Exam clue: Exams test knowledge of exploratory testing tool requirements and common configuration pitfalls.

Test results not publishing to Azure Test Plans from pipeline

Symptom: Automated test cases executed in a pipeline show 'no results' or are not linked to test cases in Azure Test Plans.

This is often because the test result files (e.g., .trx, .junit) do not contain the automatic test case IDs that match Azure Test Plans. The Publish Test Results task can map results to test cases only if the test case ID is included in the test metadata. Another cause is that the test run's build/artifact number does not match any test plan's build requirement. Ensure that the test cases in Azure Test Plans have the 'AutomatedTestType' and 'AutomatedTestName' fields populated correctly. Also, verify the pipeline's 'TestPlan' input is correctly configured.

Exam clue: Scenario-based exam questions often involve automated test results not syncing; candidates must identify the missing ID mapping.

Test run fails with 'No test points found'

Symptom: When attempting to create or run a test run, the system returns an error that no test points are available for the given criteria.

This error occurs if the test plan does not have any test points that match the specified configuration IDs or test suite IDs. Test points are only created when test cases are added to a test suite and that suite is assigned a configuration. If the configuration is not assigned to the suite, or the test cases are not in the suite, no test points exist. Test points can be filtered by tester assignment; if no tester is assigned, the run may fail. Check the test plan configuration assignments and suite membership.

Exam clue: Exams test the concept of test points and how configurations are assigned to suites; this error is a common distractor.

Unable to delete a test plan that has test runs

Symptom: When trying to delete a test plan, the system says it cannot be deleted because it contains test runs.

Azure Test Plans does not allow deletion of a test plan that has any test runs associated with it, even if the runs are completed. This is to maintain data integrity and audit trails. The solution is to delete all test runs first (using REST API or CLI), then delete the test plan. Alternatively, consider closing the test plan instead of deleting it, which retains the history but marks it as inactive.

Exam clue: Exam questions may ask about the lifecycle of test artifacts, including deletion restrictions.

Test plan not appearing in release pipeline gates

Symptom: When configuring a release pipeline gate, the dropdown for test plans does not show any values.

Release pipeline gates query Azure Test Plans for test plans that are associated with the given build artifact. If the test plan has not been linked to any build definition via 'Build to test plan mapping', the gate will not list it. The mapping must be set up in Azure Test Plans under 'Configure test plans' by selecting the build pipeline. Also, ensure the test plan's iteration path matches the release pipeline's current iteration.

Exam clue: Exams test understanding of test plan to build pipeline mapping for gates; a frequent topic in AZ-400.

Historical test results show incorrect pass rate

Symptom: The test results analytics dashboard shows a pass rate that seems too high or too low compared to the actual test runs.

This can happen if test points have been modified or deleted after being executed. If a test case is removed from a suite, its results may no longer be included in the aggregated statistics. Also, if test configurations are changed retroactively (e.g., adding a new configuration), the existing test runs may not map correctly, causing the analytics to mis-count. Another cause is data aggregation delay; real-time data may take up to 15 minutes to update. For accurate reporting, avoid deleting test points and use test plan closure instead.

Exam clue: Exam questions may present a scenario with inconsistent analytics, testing knowledge of test point lifecycle and data freshness.

Memory Tip

Think of Azure Test Plans as the ‘recipe book’ for quality. It tells you exactly what to test, how to test it, and what the result should be.

Learn This Topic Fully

This glossary page explains what Azure Test Plans means. For a complete lesson with labs and practice, see the topic guide.

Covered in These Exams

Current Exam Context

Current exam versions that test this topic — use these objectives when studying.

Related Glossary Terms

Quick Knowledge Check

1.Which test suite type in Azure Test Plans automatically populates test cases based on a work item query?

2.What is a test point in Azure Test Plans?

3.You need to ensure that only builds with a test pass rate of at least 95% are deployed to production. Which Azure Test Plans feature should you integrate into your release pipeline?

4.In Azure Test Plans, what is the purpose of a shared parameter set?

5.A tester reports that during exploratory testing, their actions and screenshots are not being recorded. What is the most likely cause?

Frequently Asked Questions

What is the difference between a Test Plan and a Test Suite in Azure Test Plans?

A Test Plan is a top-level container for your testing effort, often aligned with a sprint or release. A Test Suite is a grouping of test cases inside a Test Plan. You can have multiple suites (by feature, priority, etc.) inside one plan.

Do I need a separate license to use Azure Test Plans?

Yes. Azure DevOps offers four access levels: Stakeholder, Basic, Basic + Test Plans, and Visual Studio Enterprise. To create and run manual tests, you need Basic + Test Plans. Stakeholders can only submit feedback.

Can I reuse the same test case in multiple test plans?

Yes. Test cases are work items that can be linked to multiple test suites across different test plans. Changes to a test case propagate everywhere it is used.

Does Azure Test Plans support automated tests?

Absolutely. You can run automated tests as part of a pipeline and publish results to a Test Plan. The results appear alongside manual test runs, giving a unified view of test execution.

What is the Test & Feedback extension?

It is a browser extension that enables exploratory testing. Testers can capture screenshots, record voice notes, and create bugs directly from the browser. The data is stored in Azure DevOps.

How do I get stakeholder feedback in Azure Test Plans?

You can send a feedback request via email from the Test Plans hub. The stakeholder clicks the link, uses the application, and answers survey questions. Their responses are captured as work items.

What happens to test results when I delete a Test Plan?

Deleting a Test Plan is a soft delete. It can be restored from the recycle bin within 30 days. All associated test suites, test cases, and runs are also removed, but the work items (test cases) themselves are not permanently deleted.

Summary

Azure Test Plans is much more than a simple test case manager. It is a full-featured quality hub within Azure DevOps that unifies manual testing, exploratory testing, automated testing, and stakeholder feedback into a single, integrated workflow. For IT professionals preparing for Azure certification exams, especially AZ-400, understanding how to create and manage test plans, link them to user stories, and integrate them into CI/CD pipelines is essential.

The tool solves real-world problems like lack of traceability, difficult audit trails, and disconnected feedback loops. By using Azure Test Plans, teams can demonstrate that every requirement has been tested, that bugs are tracked back to their source, and that releases are gated on quality metrics. This aligns with modern DevOps practices of continuous testing and feedback.

For exams, focus on the licensing model, the difference between test plans, suites, and cases, and how automated test results are published. Be aware of test traps like confusing access levels with project roles. In practice, start simple: create one test plan per sprint, link test cases to user stories, and gradually introduce automation. The time invested in learning Azure Test Plans pays off in both exam success and real-world software quality.