In software engineering, what is meant by injected defects? And if such type of defect arises during software testing, then how are injected defects handled? Also how can the rate of occurrence of these defects be reduced?
migrated from stackoverflow.com Apr 14 '12 at 14:12
|
To put the other answers in context, there are some related ideas here, which may be stomping on each other.
|
|||
|
|
|
An injected defect is adding defects to a system on purpose during testing, to test and verify that the system behaves as expected in those situations. This is good testing practice, and nothing that should be reduced or avoided. Examples of such defects can be:
|
|||
|
|
|
I would understand this to mean either fault injection which @Anders covered in his answer or the same thing as defect seeding or error seeding. Error seeding is a way of implementing a metric for checking how good testing is done for a system. It would be nice to know how large percent of defects the testing is finding or how many bugs still exists in the system. Unfortunately we do not know the total number of defects existing in the system. The idea of error seeding is to introduce a number of known bugs to the system and then count how many of those testing finds. This ratio can be then used for estimating the amount of unknown real bugs in the system. If used, the following things need to be considered:
|
|||
|
|
|
You're getting some good answers on the first part of your question (what are injected defects?) but all seems quiet on your second question (how can they be reduced?) Sound software engineering principles should help, such as:
As others have alluded to, early detection is perhaps more important than defect reduction. Defects will happen; however, if these defects are detected and removed earlier rather than later, the negative consequences can be drastically diminished. |
|||
|
|