Exhaustive testing is time consuming and hence impossible in the real time projects. But exhaustive testing can be optimised by several means like:
- Automation of the test conditions that are repetitive and tested with different data set values.
- When it is retesting it is better to test for all possible test scenarios
- At the end of the testing the ad-hoc testing should be performed for the business applications.
- The test cases should be prioritised based on risk and executed accordingly.
- If there are any changes in build, changes and their effects can be tested
- All test cases should be brief
- Testers should state the configuration data, input and output test data.
- If new tests are occurred then the new design should be built or the previous should be updated.
Exhaustive Testing is impossible. There is just no way you can validate that your software will run as the way you expect on every system. Software testing using exhaustive is very complex. Verifying every system by permutation and combination is not possible. For example if we are developing a flash game we are not sure that the code will run on every browser with any version of flash. Many people will not get the coverage cost effectively.
Better test option: The extent of Software testing can be estimated based on the risk. The risk areas can be prioritised for testing.
1. Support Less: sometimes you cannot support every platform. This reduces the number of customers for the product but increases the developing and testing capacity.
2. Test more: You can test more than before if you can’t test all. This option raises the cost but it is the good choice when stability is crucial.
3. Make it simpler: It means that simplify the design. Leaving the complicated feature means that customer is unsatisfied but it also means that product is ready to be shipped.
But however, if exhaustive testing can be done, then it can have following benefits:
- More testing is done towards the business requirement.
- It guarantees that high priority tasks will be tested first.
- Improved customer satisfaction.
It is impractical to perform exhaustive testing and is done in real time testing applications and has only theoretical significance. Instead of doing exhaustive testing for each application user may assign risk and priority to do testing.
Check your Understanding
- What is exhaustive testing?
- Explain a scenario where exhaustive testing can be done?
- Why exhaustive testing is complicated task?
- What is the principle of exhaustive testing?
- What are the difference between exhaustive testing and effective testing?