Defect seeding is the process in which one group of the project inject the defects in the product while other group test the product to remove them. It is also know as bebugging.
It is a reliability measurement for release of the software product.
The purpose of this method is that while finding the known seeded defects, the unseeded defects can also be found. Defects which are seeded are similar to real defects.Therefore they are not very obvious and easy to detect .
Defect seeding act as a method to check the efficiency of the testing process. It serve as a confidence measure to know the percentage of defect removal rates .
The total number of latent defects can be identified in a work product by following formula:
Total Latent Defects = (Total seeded defects / Defects seeded found)* Original defects found
When a group knows that there are seeded defects in the system, it become as a challenge for them to find as many of them as possible.It add as a new energy into their testing process.
In case of manual testing defect are seeded before the start of the testing process. when the tests are automated, defects can be seeded at any time.
In defect seeding we should take care of following points:
All seeded defects should be removed before release of the product
Code for defects should be written in such a way that errors can be easily identified
Number of lines should be minimum to seed defects so that efforts during defect removal becomes less.
We should estimate the effort required for defect clean up and identification.