Crafting Effective Test Cases Using Azure DevOps
Writing effective test cases in Azure DevOps involves defining how to test a system, software, or application, and creating and managing these test cases using the Test Plans module.
Software Testing
- Software testing is the process used to identify the correctness, completeness and quality of developed computer software
- It is an activity to check whether the actual results match the expected results and to ensure that the software system is defect free
- It helps to identify errors, gaps or missing requirements in contrary to the actual requirements. It can be either done manually or using automated tools
- In other words, it means verification of Application Under Test (AUT)
Test Documentation
- Test documentation is documentation of artifacts created before or during the testing of software
- Examples - Test Policy, Test Strategy, Test Plan, Test Scenario, Test Case, Defect Report, Test Summary Report
Test Case
- Test case defines how to test a system, software or an application
- A test case is a set of actions or instructions for a tester to perform that validates a particular feature or functionality of the software application
- It contains test steps, test data, precondition, postcondition developed for specific test scenario to verify any requirement
- If the test fails, the result might be a software defect that the organization can triage
Test Plans module in DevOps
Azure DevOps provides a comprehensive set of tools and features for creating and managing test cases. Test Plans module shows all existing test plans and allows you to create new test plans
Within each test plan are test suites, which are collections of test cases (and optionally other test suites) designed to validate a work item.
Each test case is designed to confirm a specific behavior and may belong to one or more test suites.
Steps to create a test case in Azure DevOps:
- Navigate to the Test Plans section: Go to the Test Plans tab and select the desired test plan or create a new one.
-
Create a Test Suite: Right click on Test Plan and create a test suite by choosing one out of three options - Static suite, Requirement based suite and Query based suite
Static suite - It can be used to group any test cases e.g. Login TestSuite can contain both Login & Logout TestCases. The only disadvantage is static test cases can’t be directly linked with the requirement. Mostly used in Regression Test Plans.
Requirement based suite - It is a type of test suite where the test cases added to a suite are directly linked with the corresponding requirement (User Story/Feature/Epic). This type of test suite is useful for tracking test cases that are linked to specific requirements. Mostly used in Functional/Regression Test Plans.
Linking test cases to user stories allows for better traceability and ensures that all requirements are adequately tested. This integration helps in maintaining alignment between development and testing efforts.
To create a requirement based suite, add appropriate filters and click on Run query as shown in screenshot below. It will show you a list of all requirements/stories based on filters selected (e.g. all stories from Sprint 112). Select the requirement and click to Create suites CTA to create a suite.
Query based suite - This suite is created on basis of query. The query can contain any filter like test title contains a particular word or created after a particular date. Mostly used in Smoke or New Functionality Test Plans.
-
Create a new Test case: Within the selected test suite, click on the New Test Case button to start creating a new test case. You can create test case from scratch or can add existing test cases or add test cases using grid.
-
Fill in the test case details: Provide a title, description, and other information such as test steps and expected results. Be thorough and precise in documenting the test scenario.
-
Save: Once the test case is created, save it.
Executing and Tracking Test Cases in Azure DevOps
After test cases are defined and organized, following steps are needed for effective test case execution and tracking:
-
Assign test cases to testers: Assign test cases to the appropriate testers for execution. This ensures accountability and allows for better workload distribution.
-
Execute test cases: Testers can execute the assigned test cases within Azure DevOps. Test results can be recorded, including any observed defects or bugs.
-
Track test case progress: Keep track of the test case execution progress within Azure DevOps. This provides real-time visibility into the testing efforts and helps in identifying areas that require more attention.
-
Defect management: When defects are identified during test case execution, they should be promptly captured and managed within Azure DevOps. This ensures that all issues are properly documented and addressed.
Start Writing Effectivve Test Cases
Writing effective test cases in Azure DevOps is a critical aspect of ensuring the quality and reliability of the software. If we follow best practices and make best use of the features offered by Azure DevOps, we can streamline the testing process. It also promotes collaboration and communication within the development team. This ultimately saves valuable time and resources, enabling us to deliver high-quality software.