Maturity means how often a failure of the software occurs as a result of defects in the software.Conclusion from this slide: It is VERY unlikely that all the characteristics will be addressed in requirements. BUT that does not mean that none of them should be tested – see 2nd definition of quality from previous slide.
1. Software Testing Foundations #1Basics of Software TestingNikita Knyshnknysh@gmail.comhttp://www.facebook.com/groups/istqb/
2. Agenda • Causal Chain of a Software Failure • Purposes of Testing • What is Quality? • Software Quality Characteristics at a Glance • Psychology of Testing • Principles of Testing
3. Causal Chain of a Software Failure Mistake Defect (Bug) Failure
4. Purposes of Testing• Find failures• Measure quality• Provide confidence• Prevent defects
5. What is Quality?• Quality [ISO 9000]: The degree to which a set of inherent characteristics fulfills requirements.• Quality [IEEE 610.12]: The degree to which a component, system or process meets specified requirements and/or user/ customer or user needs or expectations.
7. General Principles of Testing• Testing shows the presence of defects, not their absence• Exhaustive testing is not possible• Testing activities should start as early as possible• Defects tend to cluster together• The pesticide paradox• Test is context dependent• The fallacy of assuming that no failures means a useful system
8. Psychology of Testing• Developer test tends to be too optimistic.• Blindness to one’s own errors is especially critical for fundamental design errors; work in pairs to prevent.• Independent testing team tends to increase the quality and comprehensiveness of the tests.• Reporting of failures requires diplomacy and tact; descriptions should allow as easy failure reproduction as possible.• Mutual comprehension: developers should know the basics of testing and testers should have a basic knowledge of software develop-ment.