Quality Concepts
Incorrect Assumptions about Quality
- Quality is the same as excellence
- Quality cannot be measured
- Quality is expensive
- Quality can be tested into a product
- Quality depends on people
Principles of Software Testing
Why is testing necessary?
Software systems context
Causes of software defects (peopel)
Causes of software defects (environment)
How much testing is enough?
Testing principles
Principle 1: Testing shows presence of defects
Principle 2: Exhaustive testing is impossible
Principle 3: Early testing
Principle 4: Defect clustering
Principle 5: Pesticide paradox
Principle 6: Testing is context-dependent
Principle 7: Absence of errors fallacy
The software development life-cycle (SDLC)
The "V-model"
Types of testing
- Unit testing
- Integration testing
- System testing
- Acceptance testing
- Testing related to change
Testing & independence
Test Case Design Techniques
Equivalence partitioning
Identifying partitions of equivalent values
Selecting partition test cases
Equivalence partition coverage criteria
Boundary value analysis
Testing on the boundary between partitions
Selecting boundary test cases
Risks & coverage criteria
Test oracles
Who "tests" the test cases?
Automated test oracle
|
Documenting Test Cases
Input & output specifications
Environmental needs
Special procedural requirements
Test case dependencies
Documenting Test Procedures
Relationship to test cases
Special requirements
Test procedure template
Set up scenarios
Test scenarios
Exception scenarios
Error scenarios
Test management scenarios
Acceptance Testing
Introduction to acceptance testing
System vs. acceptance testing
Acceptance testing & the SDLC
Acceptance testing & third-party software
Acceptance testing approaches
End-to-end testing
Automated acceptance testing |