Open In App

Confirmation Testing in Software Testing

Last Updated : 07 Oct, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

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.

  1. 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.
  2. 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.
  3. 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.                                                  


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads