Saturday, July 10, 2010

Finding Defects; Hard to Find

All testing focuses on discovering and eliminating defects or variances from what is expected. All testers need to identify these two types of defects:
1)  Variance from Specifications – A defect from the perspective of the builder of the product.
2)  Variance from what is Desired – A defect from a user (or customer) perspective.

Finding defects in a system is not easy. Some are easy to spot, others are more subtle. There are at least two reasons defects go undetected:
1)  Not Looking
Tests often are not performed because a particular test condition was unknown. Also, some parts of a system go untested because developers assume software changes don’t affect them.
2)  Looking, But Not Seeing
This is like losing your car keys, only to discover they were in plain sight the entire time. Sometimes  developers become so familiar with their system that they overlook details, which is why independent verification and validation is used to provide a fresh view point.

Defects typically found in software systems are the results of these circumstances:
.  IT improperly interprets requirements
IT staff misinterprets what the user wants, but correctly implements what the IT people believe is wanted.
.  Users specify the wrong requirements
The specifications given to IT are erroneous.
.  Requirements are incorrectly recorded
IT fails to record the specifications properly.
.  Design specifications are incorrect
The application system design does not achieve the system requirements, but the design as specified is implemented correctly.
.  Program specifications are incorrect
The design specifications are incorrectly interpreted, making the program specifications inaccurate; however, it is possible to properly code the program to achieve the specifications.
.  Errors in program coding
The program is not coded according to the program specifications.
.  Data entry errors
Data entry staff incorrectly enters information into your computers.
.  Testing errors
Tests either falsely detect an error or fail to detect one.
.  Mistakes in error correction
Your implementation team makes errors in implementing your solutions.
.  The corrected condition causes another defect
In the process of correcting a defect, the correction process itself institutes additional defects into the application system.

No comments:

Post a Comment