Software Testing

Dit vak wordt in het Engels aangeboden. Omschrijvingen kunnen daardoor mogelijk alleen in het Engels worden weergegeven.

Doel vak

After completing this course, the students will be able to:
1. Appropriately use terms specific to the testing process.
2. Analyze a software-related failure or accident and report on it.
3. Given a software requirements specification (SRS), can design and
implement a comprehensive testing plan and produce testing documentation
according to modern software engineering standards.
4. Practice software testing in a professional, responsible and ethic
5. Identify possible discrepancies between software testing as taught
in an academic context and software testing as it happens in real IT

Inhoud vak

Testing is a method to improve software quality. Realistically,
software testing is a trade-off between budget, time and quality. It is
impossible to test everything so choices have to be made. Students
learn how to make these choices and systematically test a software
product (standalone or embedded in a smart system).
This course teaches students how to test software in the broad context
of systems engineering. It provides an introduction to software testing
with an emphasis on technical activities like test generation,
selection, execution and assessment and on non-functional requirements
such as safety. The course tries to answer a few questions, such as:
How to design test cases? When to automate testing? When to stop
testing? What to test when a new version of the product is ready? How to
test a safety-critical software-intensive system?
A few guest lectures showing examples of testing in industry are also
Topics: boundary value analysis, equivalence partitioning, combinatorial
testing, model based testing, control-flow testing, data-flow testing,
mutation testing, regression testing, inspections, automated testing,
testing, hazard analysis.


Lectures, compulsory homework assignments and a mini-project.


Compulsory practical assignments (FAIL and SYS), a mini-project (PROJ)
and a written exam (EXAM). The final grade is calculated as: FINAL
GRADE= 0,6*PRAC+0,4*EXAM, where PRAC= FAIL*0,2 + SYS*0,3 + PROJ*0,5. A
pass requires both components to be >=5.5. It is possible to resit the
exam, but not the homework assignments.

Vereiste voorkennis

Programming skills in Java, C++ or Python


A. Mathur, Foundations of software testing, Addison-Wesley Professional;
2 edition (February 13, 2014), 2014, *ISBN: * 978-8131794760


mCS, mAI

Overige informatie

All material is available in Canvas.

Algemene informatie

Vakcode X_400439
Studiepunten 6 EC
Periode P5
Vakniveau 400
Onderwijstaal Engels
Faculteit Faculteit der Bètawetenschappen
Vakcoördinator dr. N. Silvis-Cividjian
Examinator dr. N. Silvis-Cividjian
Docenten dr. N. Silvis-Cividjian

Praktische informatie

Voor dit vak moet je zelf intekenen.

Voor dit vak kun je last-minute intekenen.

Werkvormen Hoorcollege, Practicum

Dit vak is ook toegankelijk als: