Confirmation Testing in Software Testing
Last Updated :
07 Oct, 2022
This article describes Confirmation testing, one of the software testing techniques that is used to assure the quality of the software and covers the concepts of Confirmation testing that help testers in confirming that the software is bug-free by retesting the software till all bugs are fixed. Confirmation testing is a sub-part of change-based testing techniques. There are several testing techniques to ensure software quality by developing bug-free software.
A 100% bug-free application is not possible but the testing team tries their best to identify as many possible defects and cover all possible test scenarios to enhance the working of the application.
What is Confirmation Testing?
Confirmation testing is one of the software testing techniques that assure bug-free software and increase the application’s success rate. In confirmation testing, the tester retests the earlier detected bug to assure that the bug is fixed by the concerned development team. It is a planned and changed testing type.
Consider an example to better understand the concept of Confirmation testing.
- The testing team tests the application and when they find a bug, report it to the development team, but then go through the bug life cycle to decide what to do with the bug:
- Fixed the bug.
- Ignore the bug.
- Hold the bug.
- The development team responds to the testing team by redesigning the software and the testing team retests the bug to check if it is fixed or not. This whole process is called Confirmation testing.
- After the completion of confirmation testing, the application goes through regression testing. To check that the changes in the software while fixing the bug does not affect the working of other related modules of the software.
Confirmation testing or retesting is the same with different names. The purpose of confirmation testing is to confirm that the detected bug is retested and it is fixed by the development team, which means there are no live bugs in the software.
Features of Confirmation Testing
- Planned testing technique: It is planned to test and requires extra effort from both the testing team and the development team.
- Repetitive test cases: Same test cases are used to test the reported bug. Testers need not write test cases again and again to retest the same bug. decreases the workload of the testing team.
- More successful application: It increases the success rate of the application by confirming or retesting the application as a bug-free application and ready to perform successfully in the market with serving all requirements of the user.
- Before Regression testing: It is always performed before Regression testing because regression testing validates that the working of other related modules is not affected by fixing the bug of the respective module.
- Confirm Bug status: It confirms whether the bug is fixed or not.
When to do Confirmation Testing?
Confirmation testing is performed when:
- A bug is fixed: During testing the software, if the tester detects a bug, he informs the respective development team to fix the bug and after fixing the bug, it is tested by the tester to confirm its status.
- Before Regression Testing: Confirmation testing is always performed before regression testing because Confirmation testing identifies the bug and confirms its fixing. Regression testing tests that the change after bug fixing does not affect the connected functionalities of the software.
- Need highly successful software: When a customer demands a high success rate of the software and is ready to spend a good amount on testing.
- Bug has been Rejected: The detected bug goes through the bug life cycle and in the case, it is rejected by the development team then confirmation testing is performed to reproduce and fix the bug so that software functionality does not affect it.
Confirmation Testing vs Regression Testing
Basis |
Confirmation testing
|
Regression Testing
|
Purpose |
Confirmation testing is carried out to check whether the earlier detected bug is fixed or not. |
Regression testing is carried out to make sure the software is working as usual. |
Timing |
Confirmation testing is performed before regression testing. |
Regression testing is performed after Confirmation testing. |
Impact on software |
Confirmation testing ensures the quality of the software |
Regression testing ensures the performance of the software. |
Testing mode. |
Confirmation testing is a manual testing process. |
Regression testing is an automated testing process. |
Testing type |
Confirmation testing is a planned testing technique. |
Regression testing is a generic testing technique that can be performed in parallel to retesting. |
Test cases |
No need to write test cases again and again. When a test case fails then only confirmation testing is performed. |
Testers need to write test cases by considering the functionality of an application. When a test case passes, then testers perform regression testing. |
What to do after Confirmation Testing?
- Confirmation Testing helps in confirming the owner that there are no live bugs in the application. Confirmation testing increases the accuracy and success rate of the software thus making it more reliable, trustworthy, and revenue-generator.
- After completing the confirmation testing, the tester moves forward with the regression testing.
- Regression testing is a type of software testing technique that validates that the functionality of the interconnected modules is not affected by the new build as whenever a developing team fixes a bug, they redesign the build or make some changes in the build. So, here regression testing is a must to do after completing confirmation testing.
Confirmation Testing Techniques
- There is no special testing technique used for the confirmation testing.
- Confirmation testing is simply done by planning the testing process to retest the earlier detected bugs. Confirmation testing is all about confirming the fixing of a bug by retesting it.
- In Confirmation testing, testers need not write test cases again and again to confirm the status of the bug but it is carried out by running the same test cases as written when the bug was initially identified.
- Confirmation testing is a planned and change-oriented testing technique.
Is Confirmation Testing the same as Retesting?
The answer is YES. Confirmation testing is also known as retesting. It is a change-oriented software testing technique.
- When the development team redesigns a defective build, then the role of confirmation testing starts to retest the re-developed module to confirm detected bug is fixed or not.
- Confirmation testing or retesting helps in making defect-free software by testing the bug again and again till it is fixed or rejected by the developer.
- In confirmation testing, the testing team need not write test cases again to retest the same defective module as the same test cases are used to confirm the status of the detected bug.
Advantages of Confirmation Testing
- Increased performance: The performance of the application increases as there are fewer chances of a live bug in the application. Confirmation testing retests the bug to confirm whether it is fixed or not. It results in enhancing the quality and functionality of an application.
- Bug-free software: The software will be bug-free or have the least number of bugs due to testing the software again and again until all bugs are fixed.
- Scope of testing: The purpose of confirmation testing is unchangeable and remains fixed.
- Defect identification: The only purpose of confirmation testing is to retest the earlier detected bugs to confirm the quality of the software.
- Same test cases: No need to write test cases whenever a bug is a retest. During confirmation testing, the same test cases are used to retest the bug.
Disadvantages of Confirmation Testing
- More time and budget: Confirmation testing takes extra time, resources, and budget, which is not possible for everyone.
- Rebuilding of build: To fix the bug, the developing team develops the build again and again till the bug is fixed. This takes extra effort and sometimes becomes irritating.
- Effects behavior of application: Due to a change in the build for fixing the bug, other related functions start behaving in an unusual manner which as a result takes time to resolve and fix. Confirmation testing is a change-oriented testing technique.
- Manual testing technique: Confirmation testing or retesting cannot be automated due to the uncertainty of defect resolution. Only manual testing is used to perform confirmation testing which is time and effort-consuming.
- Regression Testing: It is a must to perform regression testing after completing confirmation testing because there may be changes in the working of other related modules due to the redesign of the bug. This consumes more resources and adds one more testing technique to test the software.
Challenges in Confirmation Testing
- Change-oriented: Confirmation testing mostly finishes with changes in the design of the bug-detected module which results in doing regression testing to confirm the working o software as per user requirement.
- Pre-existing Bugs: Confirmation testing is performed only when there is an already detected bug, it does not work on identifying a new bug which is an additional workload on the testing team to first identify the bug and report it to the respective development team and then only confirmation testing starts.
- Manual Testing: Confirmation testing cannot be automated. Every time to retest a bug, testing teams have to manually conduct the testing process with all the test cases one by one. This is frustrating and time-consuming for the testing team because sometimes there is a large number of defects to retest.
Similar Reads
Configuration Testing -Software Testing
Configuration Testing is the type of Software Testing that verifies the performance of the system under development against various combinations of software and hardware to find out the best configuration under which the system can work without any flaws or issues while matching its functional requi
4 min read
Automation Testing - Software Testing
Automated Testing means using special software for tasks that people usually do when checking and testing a software product. Nowadays, many software projects use automation testing from start to end, especially in agile and DevOps methods. This means the engineering team runs tests automatically wi
15+ min read
Mutation Testing - Software Testing
Mutation Testing is a type of Software Testing that is performed to design new software tests and also evaluate the quality of already existing software tests. Mutation testing is related to modification a program in small ways. It focuses to help the tester develop effective tests or locate weaknes
3 min read
Failover Testing in Software Testing
Software products are tested multiple times before they are released to ensure they work as expected. However, testing before delivery doesn't guarantee that issues wonât arise in the future. Sometimes, software can fail due to unexpected events like network problems or server failures. Failover tes
6 min read
Feature Testing in Software Testing
A critical stage of software testing is feature testing, which assesses each functional component of a program to make sure it functions as intended. The purpose of this kind of testing is to confirm that certain features fulfil the specified needs and operate as intended under a variety of conditio
6 min read
Testing Documentation - Software Testing
Testing documents are prepared at different stages. These documents are discussed as follows. 1. Before Testing: Since testing begins with the generation of the test cases. The following documents are required for reference â SRS document - Functional Requirements document. Test Policy document - It
2 min read
Scenario Testing - Software Testing
Scenario testing helps testers to know how the software will exactly work when end user will use it. As the scenario testing tests the business process flow of the software so it helps in figure out a lot of defects which cannot be found with the help of other testing. Scenario testing is carried ou
4 min read
PEN Testing in Software Testing
Pen testing, a series of activities taken out in order to identify the various potential vulnerabilities present in the system which any attack can use to exploit the organization. It enables the organization to modify its security strategies and plans after knowing the currently present vulnerabili
3 min read
Data Driven Testing in Software Testing
Prerequisite: Software Testing Data-Driven Testing is a type of software testing methodology or more exactly approach to the architecture of automated tests by creating test scripts and reading data from data files. In this type, the data files involved are Data pools, CSV files, Excel files, ADO o
4 min read
Functional Testing - Software Testing
Functional Testing is a type of Software Testing in which the system is tested against the functional requirements and specifications. Functional testing ensures that the application properly satisfies the requirements or specifications. This type of testing is particularly concerned with the result
11 min read