nl en

Testing Object-Oriented Software


Admission requirements

Knowledge of object oriented programming (Java or C++).


Software testing is the process of executing a program with the intent of finding errors. Most of the defects in software are design errors, due not to the goodness of programmers, but because the complexity of software is becoming intractable. Testing is more than just debugging. Testing is not only used to locate defects and correct them. It is also used in validation and verification of software systems.

Due to the large diversity of testing methods and testing techniques, this course focuses on the fundamentals of testing object-oriented systems, with a particular focus on unit testing, in which a class can be tested in isolation.

The course is an introduction to software testing and to software testing activities, without using a specific methodology or technology. At the end of the course students will be grouped in teams with the goal of implementing a prototype test environment for unit testing a class in Java or C++.

Course objectives

The course presents an introduction to the fundamentals of software testing, explaining the principle in testing and the basic test types. The main focus is on unit testing and object-orientation. Students are expected to understand the material presented in class, work on exercises to test their knowledge, and to design and program in teams (part of) a test environment for unit testing, in which a Java class can be tested in isolation.


The most recent timetable can be found at the students' website

Mode of instruction


Assessment method

The final grade is a combination of grades for (1) In class participation (10%), (2) the in-class exercises (40%), and (3) the programming assignment (50%).

Reading list

P. Ammann and J. Offutt, Introduction to software testing, Cambridge University Press, 2008. ISBN 978-0-521-88038-1
A choice of selected scientific research papers will be distributed in class. Slides will be provided to the students for download.

Signing up for classes and exams

You can enrol via uSis . More information about signing up for classes and exams can be found here .

Contact information

Lecturers: prof.dr. Frank de Boer, dr. Marcello Bonsangue