Defects and failures basically arise from:
- Errors in the specification, design and implementation of the software and system
- Errors in use of the system
- Environmental conditions
- Intentional damage
- Potential consequences of earlier errors
Errors in the specification and design of the software:
Specification is basically a written document which describes the functional and non – functional aspects of the software by using prose and pictures. For testing specifications there is no need of having code. Without having code we can test the specifications. About 55% of all the bugs present in the product are because of the mistakes present in the specification. Hence testing the specifications can save lots of time and the cost in future or in later stages of the product.
Errors in use of the system:
Errors in use of the system or product or application may arise because of the following reasons:
– Inadequate knowledge of the product or the software to the tester. The tester may not be aware of the functionalities of the product and hence while testing the product there might be some defects or failures.
– Lack of the understanding of the functionalities by the developer. It may also happen that the developers may not have understood the functionalities of the product or application properly. Based on their understanding the feature they will develop may not match with the specifications. Hence this may result into the defect or failure.
Environmental conditions:
Because of the wrong setup of the testing environment testers may report the defects or failures. As per the recent surveys it has been observed that about 40% of the tester’s time is consumed because of the environment issues and this has a great impact on quality and productivity. Hence proper test environments are required for quality and on time delivery of the product to the customers.
Intentional damage:
The defects and failures reported by the testers while testing the product or the application may arise because of the intentional damage.
Consider an example where an application is not secure and does not check for SQL Injections. During security testing, testers can inject SQL commands that may result in the application data or database being corrupted. In this case the intentional damage would have been caused and reported by the testers.
If this issue is not caught, it could be exploited by hackers who could also inflict intentional damage.
Potential consequences of earlier errors:
Errors found in the earlier stages of the development reduce our cost of production. Hence it’s very important to find the error at the earlier stage. This could be done by reviewing the specification documents or by walkthrough. The downward flow of the defect will increase the cost of production.
Other popular articles:
- What is the cost of defects in software testing?
- When do defects in software testing arise?
- What is a Failure in software testing?
- What are software testing objectives and purpose?
- What is Sanity testing? Advantages, disadvantages & differences
MB says
What do you mean by “intentional damage”? Someone actually sabotaging the software? Hackers? Or the defects and failures detected by intentional testing?
ISTQB Guide says
The explanation has been updated with an example.
Intentional damage could be inflicted by the testers during testing and reported / logged.
If this issue is not caught, it could be exploited by hackers who could also inflict intentional damage.
Paddy says
Hence testing the specifications can lots of time and the cost in future or in later stages of the product.
Do you mean to say Hence testing the specification can save lots of time?
ISTQB Guide says
Yes, testing specification can save lots of time. Thank you for pointing out the missing word. The article has been updated.