- QATestLab Blog >
- QA Basics >
- What Is Software Bug Seeding?
Note: the article was updated in September 2018.
Bug seeding or bebugging is a technique that was developed to evaluate the number of software issues resident in the software product. There are two criteria that explain test and software quality: Bug Detection Rate and Number of Remaining Bugs.
Bug detection rate measures the effectiveness of software testing. Bug detection rate shows the number of faults found by the software tests. Number of remaining bugs is a software metric that reveals how many issues remain after performing the tests.
The key idea of a Bug Seeding is to contaminate a software with artificial errors and run tests. The quantity of real and artificial bugs discovered is calculated after testing.
Bug seeding includes five steps.Bug Modeling is a process of making an artificial bug. Their types vary greatly and here works your creativity.
Bug Injection is the next step of seeding an artificial bug into your software. It is up to you to regulate the number of errors that will be seeded. Remember that the major branch must not be injected. It is better to create the additional one to seed the bugs there.
Test Execution is a stage where you run tests manually or automated test scripts.
Calculation is done after discovering the amount of actual and fake bugs. Three values can be calculated:
- the number of seeded bugs
- the number of discovered seeded bugs
- the number of discovered real bugs
The relationship between real and implemented bugs can be described using the following equation:Bug Detection Rate and the amount of errors remained are calculated with these equations:
Interpretation is the last stage of Bug Seeding. Its major task is to assess the software and the quality of performed tests. The data are then used to improve the revealed defects.
Drawbacks of Bug Seeding & tips to avoid them
The main problem with this type of testing is that testers often forget to remove the seeded errors. Another problem is that bug abolishing can lead to new bugs. The advice is to seed bugs only to additional branches and to check twice if all the faults have been removed before the final testing or product release.
Learn more from QATestLab
Related Posts:
- Definitions and Meaning: Error, Fault, Failure and Defect
- The Secret of NFT Games Popularity: Features and Benefits
- Software Bugs Monthly Digest – July 2021
In the computation step 2, what is “quantity of bugs” and in step 3 what is “total quantity of bugs?”
The values that you have are:
number of (#) injected/seeded bugs
# of seeded bugs discovered
# of unseeded bugs discovered
and computation step 1 gives you the
seed ratio = ( # of seeded bugs discovered)/( # of seeded bugs)