In today’s fast growing world schedules of software delivery are getting more rapidly and company is doing delivery with high quality products. In such situation one simple question comes in mind that “How does we as testers maintain our testing standards in this chaotic environment?” Simple answer to simple question is removing the defects before they get added into the system or before actual testing is started. Such technique of prevention for introducing defects into system will not only help to test products faster but also reduce the high cost of poor quality.
In Software Testing Life Cycle, the Defect Prevention & Defect Detection are the key attributes which play an important role. But generally beginners get confused about the “Role of a tester/QA in defect prevention and defect detection”. In this article we are concentrating on what all phases of SDLC are come under the defect preventions, how prevent the introducing the defects into application and how tester tackle with the defect in the detection phases and how to calculate “Defect Detection Efficiency” in every testing phase.
What is Defect Prevention?
Defect prevention is one of the important activity in any software project. It is QA process to identify the root causes of defects and improve the process to avoid introducing defects, which help to improve the quality of the software product.
In Defect prevention phase testers are involved in the studying and reviewing requirement specification document. Basically this is an art to review the requirement documents. While studying these documents testers run into different queries or misleading or unclear requirements. Tester & other team member’s needs to come up with such type of queries and get resolved from stakeholders. So based on queries raised by team, stakeholder provide inputs & provide changed/updated requirement specification document.
Along with testers, developers play an important role in this phase. In this phase developer involved in some activities like reviewing requirement, code review, static code analysis, unit testing etc. Generally in order to complete the project on time developer often ignores the uncertainty in specification documents or developer fail to understand the requirement. Such ambiguities are implemented in the code makes more bugs for tester to identify. If tester finds these ambiguities upfront in the requirement specification review phases then it catches upfront. While cost of such defects are smallest and benefit of fixing defects in defect prevention stage is significantly lower than the fixing in later stages. As a result it reduces cost overall time, cost & resources required big time. Such a way testers are help team in the defect prevention phase.
The knowledge of defect injecting methods and processes enable the defect prevention. Therefore it is advisable to make measures that prevent the defect from being introduced in the product right from early stages of the project.
Following diagram shows phase involved in Design Prevention Phase and Detection phase:
What is Defect Detection?
The testing process or strategy for defect detection should be defined well in advance, so that testing activity can be carried out very smoothly like functional testing, System testing, Regression testing, Exploratory testing etc.
Tester should have complete understanding/knowledge of application under test, so it will help to increase the defect detection rate. Along with normal functional testing the Ad hoc or exploratory testing should be carried out in parallel which help to find the lot of defects.
Defect Detection Efficiency:
Defect Detection Efficiency (DDE) is the number of defects injected and detected in a phase by the total number of defects injected in that phase.
Defect Detection Efficiency Formula:
Defect Detection Efficiency (DDE) = (Number of Defects Injected AND Detected in a Phase / Total Number of Defects Injected in that Phase) x 100 %
Over to you:
Defect prevention is a valuable investment which helps to maintain the quality of the product with faster schedules. Defect prevention not only get improved quality product but also saves the time & cost of the product, reduce the rework effort, reduce the development time, increase the customer satisfaction. As a result the it enhances the total productivity.
Have you find prevented any bug introducing into system in your testing carrier? Please share your experience in the below comments.
Happy Testing!!!
Don’t Miss Another Article
Join over 10,000 people who get FREE and fresh content from this Blog. We Respect Privacy, You’re Safe! No Spam!