|
Foundations of Software Testing |
|
Software Testing is a challenging task. Its purpose is validation, verification or falsification. This is difficult, both in theory and in practice. However, widespread use of software, including critical applications, needs an improved systematic discipline of testing that is scientifically justifiable. The course presents the foundations of such a discipline. The course provides an overview over the techniques and their foundations of modern software testing. Its focus is on specification-based testing that is rarely covered in the testing literature or in computer science curricula. Formal specification techniques are related to standard software testing techniques. Both functional as well as structural testing methods will be covered. The contents includes - Introduction to Testing
- The Oracle Problem
- Specification Styles
- Boundary Value Testing
- Equivalence Class Testing
- Robustness Equivalence Class Testing
- Decision Table-based Testing
- Test Sequencing
- Algebraic Testing
- Path Testing
- Data Flow Testing
- Mutation Testing
- Industrial Experiences
|