Kies de Nederlandse taal
Course module: 192170015
Testing Techniques
Course info
Course module192170015
Credits (ECTS)5
Course typeCourse
Language of instructionEnglish
Contact persondr. M.I.A. Stoelinga
Contactperson for the course
dr. M.I.A. Stoelinga
dr. M.I.A. Stoelinga
Academic year2017
Starting block
Application procedureYou apply via OSIRIS Student
Registration using OSIRISYes
Learning goals
The course presents a variety of frameworks for test case generation. After passing this course, the student is able to:
  • explain, apply, comparen these frameworks.
  • reason about the mathematical properties of these techniques and
  • extend these with new features and adapt them to new testing contexts.

In particular, after passing this class, the student has the following abilities.
The student is able to describe the role of testing within the software development process:
The student can apply, extend, compare, classical testing techniques (most notably namely Equivalence Partitioning, Boundary Value Analysis, Coverage-based methods,); FSM test theory, ioco test theory. In particular:
  • S/he can generate, execute and evaluate tests based on these methods.
  • S/he can also determine the code-coverage of a given test (suite) and find test suites with a given amount of coverage.
  • The student can mathematically prove properties of the test generation methods mentioned above (Classical, FSM, LTS).
  • The student can explain, apply, extend, the notions of soundness and completeness for test suites of the test frameworks.
  • The student can select the most appropriate test generation method for a given test situation and adapt the frameworks to new testing contexts.
  • The student can explain the need for test automation and apply appropriate test tooling.
Testing is an important part of almost any software development project. Systematic and effective tests are crucial in the quality control of software products. However, the testing phase is often underestimated in the software life cycle. This course treats a number of techniques, methods and tools to test software in a systematic, structured and effective way. We will discuss both existing techniques and new development in the world of software testing. The techniques presented during the course focus on the testing of embedded systems and communication protocols. Topics to be treated are: types, aspects and phases in software testing, test automation, test tools, test case design, test coverage measures, test organization, test generation from (formal) specification. Some courses will be given by invited software testers from industry.
Assumed previous knowledge
Bachelor (T)CS
Required materials
Practical Software Testing Illene Burnstein
Course material
Paper available on Blackboard
Recommended materials
Instructional modes

Self study without assistance



To take part in the exam homework assignments are mandatory

Kies de Nederlandse taal