VVZ API is not affiliated with ETH Zurich. Data might be outdated or incorrect. Please view the official ETHZ Vorlesungsverzeichnis for binding information.
Software Testing
Last Updated: 2026-02-05 15:19:52
Abstract
Testing denotes activities that aim at increasing confidence that actual and intended behaviors of a system conform, or at proving the assumption of conformance wrong. The relevance of testing is reflected in the general experience that it makes for about one half of the overall development cost. We convey fundamental concepts, techniques and assumptions as well as published evidence
Content
1. Introduction __a. Testing in the software development process __b. Test-driven development: test cases as specifications? __c. Terminology ____i. Verification and Validation ____ii. Failures, errors, faults ____iii. Black-box vs. white-box testing and implications ____iv. Testing and debugging __d. Alternative approaches to quality assurance ____i. Constructive approaches ____ii. Inspections and reviews ____iii. Formal methods 2. The testing process: overview of the different testing methods and activities 3. Test selection criteria: what is a good test case? __a. Costs and benefits: just right reliability? __b. Functional criteria __c. Structural criteria for models and code ____i. Criteria based on data flow ____ii. Criteria based on control flow ____iii. Criteria based on decisions and conditions ____iv. Criteria based on data; pairwise testing ____v. Relationships between different criteria ____vi. Assumptions and Evidence __d. Stochastic criteria: user profiles and reliability engineering __e. Fault-based criteria ____i. Test hypotheses ____ii. Fault models ____iii. Mutation testing ____iv. Limit tests __f. Testing non-functional criteria 4. Model-based testing: generation of tests and test driver components __a. Indispensability of abstraction and the fundamental consequences __b. Scenarios of model-based testing __c. Automation __d. Assumptions and evidence: effectiveness and cost-effectiveness 5. Test description languages and tools 6. Tests to measure the quality of a process: cleanroom software engineering 7. Discussion and Outlook __a. Risk management __b. Empirical investigations __c. Automation __d. Testing object-oriented software __e. Delta Debugging
General Information
- Language
- English
- Levels
- DS , MSC
- Frequency
- Yearly recurring
Examination
- Type
- session examination
- Mode
- oral 15 minutes
Course Components
| Type | Title | Time & Place | Hours |
|---|---|---|---|
| lecture | Software Testing |
|
2 h weekly |
| exercise | Software Testing |
|
2 h weekly |