Software Testing

2019-2020
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
manner.
5. Identify possible discrepancies between software testing as taught
in an academic context and software testing as it happens in real IT
companies.

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
planned.
Topics: boundary value analysis, equivalence partitioning, combinatorial
testing, model based testing, control-flow testing, data-flow testing,
mutation testing, regression testing, inspections, automated testing,
system
testing, hazard analysis.

Onderwijsvorm

Lectures, compulsory homework assignments and a mini-project.

Toetsvorm

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

Literatuur

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

Doelgroep

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
Doelgroepen

Dit vak is ook toegankelijk als: