Generating Software Tests

General Information

What are good software tests? How can we automatically generate them? In this course we will discuss possible metrics for test quality and will present various approaches to automatically generate good tests according to the discussed metrics. Additional topics include the assessment of test outcomes and test maintenance. The concepts presented in this lecture will be applied in 4 practical projects that involve the implementation of test generation approaches in Python.

Type:Advanced Lecture (6 Credit Points)
Time:Thu 14:00 — 16:00
Tue 14:00 — 16:00 (auxiliary dates)
Location:Building E1.3 Lecture Hall 1 (2 for auxiliary dates)
Tutorials:Tue 16:00 — 18:00 (Building E1.3 Seminar Room 015)
Wed 10:00 — 12:00 (Building E1.3 Seminar Room 107)
Thu 10:00 — 12:00 (Building E1.3 Seminar Room 014)
Thu 16:00 — 18:00 (Building E1.3 Seminar Room 015)

All resources (slides, exercise sheets, news) for this lecture are accessible from within the course Redmine. Make sure to "watch" the News feed in order to immediately get important information.


  • 22/04/2014: There will be no tutorial today since there has been no exercise sheet and we are working hard on finding tutors to accomodate the overwhelming interest in our lecture. The tutorials will start next week. Detailed information will follow shortly.
  • 03/05/2014: Tutorials will start on 06/05/2014. Please read the News on how and when the groups will be assigned and make sure to tell us until 6pm on Monday 05/05/2014 which time slots are compatible with your schedule by marking them in your Redmine Profile settings.
  • 05/05/2014: Everybody has been assigned to a tutorial according to their given time constraints. You can find out to which group you have been assigned by going to your Redmine Profile Page under "Your Tutorial".


Registration is now closed.
During the course of this lecture there will be 4 practical projects that every student is required to complete in order to pass the course.
The exam will be on 18/07/2014 from 2 pm to 4 pm. Every student is required to pass in order to successfully complete the course. The final grade will consist of 50% exam grade and 50% sum of the project grades. The exam date will be announced after the registration is complete.


Lecturer:Prof. Dr. Andreas Zeller
Organization:Matthias Höschele
Tutors:Alexander KampmannMichael Backenköhler


For students that have not yet worked with Python here are a few links that can help you to lear about the programming language.

Python for Java Programmers:
Official Python 2 Tutorial: