Notes - Software Quality and Testing CSE1110
CSE TU Delft - Lieke Sanders
Chapter 1 - Effective and Systemic Software Testing
Chapter 2 - Specification-Based Testing
Chapter 3 - Structural Testing and Code Coverage
Chapter 4 - Designing Contracts
Chapter 5 - Property-Based Testing
Chapter 6 - Test Doubles and Mocks
Chapter 7 - Designing for Testability
Chapter 8 - Test-Driven Development
Chapter 9 - Writing Larger Tests
Chapter 10 - Test Code Quality
,Chapter 1 - Effective and Systemic Software Testing
Testing pyramid
Unit testing
Integration testing
,System testing
Testing principles
- Exhaustive testing is impossible
- Knowing when to stop
- Variability is important (the pesticide paradox)
- Bugs happen in some places more than others (defect clusters)
- Testing will never be perfect
- Context is king
- Verification is not validation
, Chapter 2 - Specification-Based Testing
Specification-based testing
Example of specification-based testing
CSE TU Delft - Lieke Sanders
Chapter 1 - Effective and Systemic Software Testing
Chapter 2 - Specification-Based Testing
Chapter 3 - Structural Testing and Code Coverage
Chapter 4 - Designing Contracts
Chapter 5 - Property-Based Testing
Chapter 6 - Test Doubles and Mocks
Chapter 7 - Designing for Testability
Chapter 8 - Test-Driven Development
Chapter 9 - Writing Larger Tests
Chapter 10 - Test Code Quality
,Chapter 1 - Effective and Systemic Software Testing
Testing pyramid
Unit testing
Integration testing
,System testing
Testing principles
- Exhaustive testing is impossible
- Knowing when to stop
- Variability is important (the pesticide paradox)
- Bugs happen in some places more than others (defect clusters)
- Testing will never be perfect
- Context is king
- Verification is not validation
, Chapter 2 - Specification-Based Testing
Specification-based testing
Example of specification-based testing