QA–QC Arena – Software Testing Home for beginners and experts

How much testing is enough?

Testing Principle – Exhaustive Testing is impossible
Testing everything (all combination of input values and preconditions) is not feasible except for trivial cases. Instead of Exhaustive Testing, we can use risks & priorities to focus testing efforts.
Exhaustive Testing – A Test approach in which the test suite comprises all combination of input values and preconditions.

Factors to decide how much testing is enough –
1. Technical & Business risks related to product
2. Project Constraints such as time & budget

Testing & Quality

Quality –
The degree to which a component, system or process meets specified requirements and/or user/customer needs and expectations.

Testing –
Testing helps to measure the quality of software in terms of number of defects found, the test run, and the system covered by tests.
Testing can give confidence in the quality of the software if it finds few or no defects.
Testing helps to find defects and potential failures during software development, maintenance and operations.

Role of testing in Software Development, Maintenance, and Operations –
Rigorous testing is necessary during development and maintenance to identify defects, in order to reduce failures in operational environment and increase the quality of the operational system.

Cost of Quality & Cost of Defects

Cost of Quality –
1. Prevention Cost – Prevention cost is the cost of modifying the process (establishing methods & procedures, training, acquiring tools) to avoid bugs.
2. Appraisal Cost – Appraisal cost is the cost of activities designed (any type of testing) to find quality problems.
3. Failure Cost – Failure cost is the cost of fixing the bugs.

Cost of Defects
Cost of finding and fixing Defects increases over time. If an error is made and the consequent defect is detected in the requirements at Specification stage, then it is relatively cheap to find and fix.