Why is Software Testing?
1. To discover defects.
2. To avoid user detecting problems
3. To prove that the software has no faults
4. To learn about the reliability of the software.
5. To avoid being sued by customers
6. To ensure that product works as user expected.
7. To stay in business
8. To detect defects early, which helps in reducing the cost of defect fixing?
Cost of Defect Repair
Phase | % Cost |
Requirements | 0 |
Design | 10 |
Coding | 20 |
Testing | 50 |
Customer Site | 100 |

How exactly Testing is different from QA/QC
Testing is often confused with the processes of quality control and quality assurance.
Testing
§ It is the process of Creating, Implementing and Evaluating tests.
§ Testing measures software quality
§ Testing can find faults. When they are removed, software quality is improved.
Quality Control (QC)
§ It is the process of Inspections, Walk-troughs and Reviews.
§ Measures the quality of the product
§ It is a Detection Process
Quality Analysis (QA )
§ Monitoring and improving the entire SDLC process
§ Make sure that all agreed-upon standards and procedures are followed
§ Ensuring that problems are found and addressed.
§ Measures the quality of the process used to create good quality Product
§ It is a Prevention Process
Why should we need an approach for testing?
Yes, we definitely need an approach for testing.
To over come following problems, we need a formal approach for Testing.
Incomplete functional coverage: Completeness of testing is difficult task for testing team with out a formal approach. Team will not be in a position to announce the percentage of testing completed.
No risk management -- this is no way to measure overall risk issues regarding code coverage and quality metrics. Effective quality assurance measures quality over time and starting from a known base of evaluation.
Too little emphasis on user tasks -- because testers will focus on ideal paths instead of real paths. With no time to prepare, ideal paths are defined according to best guesses or developer feedback rather than by careful consideration of how users will understand the system or how users understand real-world analogues to the application tasks. With no time to prepare, testers will be using a very restricted set input data, rather than using real data (from user activity logs, from logical scenarios, from careful consideration of the concept domain).
Inefficient over the long term -- quality assurance involves a range of tasks. Effective quality assurance programs expand their base of documentation on the product and on the testing process over time, increasing the coverage and granularity of tests over time. Great testing requires good test setup and preparation, but success with the kind Test plan-less approach described in this essay may reinforce bad project and test methodologies. A continued pattern of quick-and-dirty testing like this is a sign that the product or application is unsustainable in the long run.
No comments:
Post a Comment