June 08, 2013

Defect Management



        Once the testing activity is over we will record all the discrepancies and errors identified during the test run. These observations are documented and sent for corrections or fixes. The errors identified are called as defects or bugs. The testing team will log those errors after completing the test cycle and they will categorise the Priority and Criticality of the defects. After this the defects are monitored till it is being fixed by the development team. This process of checking the defect till it gets closed is called defect management.
        The Key aspect of the defect management process is that to keep track on the bugs identified and ensure they are closed before the software is released. The defects logged are allocated with a specific time period to fix it called as Defect Life Time or it can be cut off time for the development team. The defects reported are closely monitored by the testing team and updates on them will be shared to the management team regarding the status. A typical Defect Life cycle in the image.


Test Management

       We have studied various testing concepts in the previous posts but the post is particularly about how an entire testing activity is being managed. Here the various activities from Requirement gathering till Release all the activities are monitored and the various changes or improvisations are documented. The test management is shown in the picture below.


User Acceptance Test



After all the levels of testing is completed, the last and final testing level is User Acceptance Testing(UAT). It is done by the user or the client who is going to use the system as the end user. User acceptance testing process helps to identify the practical defects which were not identified during other phases of testing. Here the testing is carried out in terms of the practical approach without considering the technical specification of the software. 
Lets assume a mobile based application is under UAT here the end user will be asked to test the app. The end user may not be a technical expert about the app but he has some need to use that app. So he will test the app as per his needs without considering technical specifications of it. He will use the app in a manner to help him in resolving his problem or satisfying his needs. Testing team can help him to understand how to operate the system or with the basic operations of the system. 
UAT can be done in two ways first being Alpha Testing, inviting the customer to our location and asking to test the software in a simulated environment which resembles the actual environment. Guidelines will be given to the customer about handling the software and it will be tested. Second is providing an evaluation copy of the software to the customer and asking him to test it in his own location, i.e, a beta version will be released and then the software will be used by the end users and the defects identified will be notified to the corresponding development team and it will rectified. This method is called beta testing.