What Is Software Bug Seeding?

What Is Software Bug Seeding?
November 22 10:00 2011 Print This Article

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-seeding-stepsBug 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:seeding-bugs-equationBug Detection Rate and the amount of errors remained are calculated with these equations:
bug-seeding-equationInterpretation 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.

Related Posts:

About Article Author

view more articles
Nataliia Vasylyna
Nataliia Vasylyna

View More Articles
  • PG

    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)