Software Testing

Web page for the lecture "Software Testing" in the winter term 2018/2019



Leturer:  Dr.-Ing. Sandro Schulze
Lecture:  LSF entry | Moodle entry
Teaching Assistant:  ---
Exercise: LSF entry


  • IMPORTANT! Please register for the course on the corresponding LSF page (see above for the link). This is important to estimate the number of participants, and thus, for organizing the course.
  • Afterwards, Please enroll yourself in the Moodle of the lecture:
    This moodle will contain all material of the lecture. Moreover, you are eligible to receive important information (also on short notice) via moodles messaging capabilities.
  • Web page for the winter term 2018/2019 is now updated & online


In this lecture, fundamental as well as advanced concepts of software testing are introduced. In particular, the following topics are covered:

  • Test Process (& its relation to software development process) and testing terminology
  • Foundations of software testing
  • Concrete dynamic testing techniques (black-box, white-box), including corresponding test design techniques and coverage criteria
  • Foundations of Regression Testing
  • Advanced regression test selection techniques (prioritization, selection)
  • Fundamental concepts of debugging

Syllabus (tentative)

Week Lecture Exercise
CW 41 (08.10.18) --- NO LECTURE --- ---
CW 42 (15.10.18) 1. Welcome to SWT TBA
CW 43 (22.10.18) 2. Foundations of Software Testing (principles, terminology) TBA
CW 44 (29.10.18) --- NO LECTURE --- ---
CW 45 (5.11.18) 3. Functional Testing (Black-Box) TBA
CW 46 (12.11.18) 4. Structural Testing (White-Box) TBA
CW 47 (19.11.18) 5. Test Levels/Phases & Mock Objects TBA
CW 48 (26.11.18) 6. Test code quality (test smells, best practices) TBA
CW 49 (03.12.18) 7. Design by contract & property-based testing TBA
CW 50 (10.12.18) 8. Guest lecture TBA
CW 51 (17.12.18) 9. Regression Testing TBA
CW 02 (7.01.19) 10. Debugging TBA
CW 03 (14.01.19) 11. gues lecture or Test case prioritization ---
CW 04 (21.01.19) 12. Summary Q & A












NOTE: guest lectures may be switched with other lectures, depending on the availability of guest lecturers!







Monday 13:00 - 15:00 (c.t.) weekly G10 - 111 S.Schulze

Instructor (contact data)

  • Name: Dr.-Ing. Sandro Schulze
  • Office: G29-109
  • E-mail: sanschul[at]







Teaching Assistant

Group A Monday 11:00 - 13:00 (s.t.) weekly G05 - 211 Sandro Schulze
Group B Tuesday 13:00 - 15:00 (c.t.) weekly G29 - 144 Sandro Schulze

NOTE: On mondays exercise, we start at 11 am sharp!

Exercise Methods:

The Exercise consists of three parts that require students to actively reflect the knowledge form lectures and to apply selected techniques in practice.


The objective is to apply certain techniques on your own. To this end, you will extend a Java implementation of the famous Pacman game during the semester.
There will be four deadlines that should not be exceeded (otherwise points will be lost).
You are allowed to form groups of two students to collaboratively solve the exercise assignments.

Requirement: 50% of the points on assignments must be achieved to get the exam permission

Bonus: If you achieve more than 90% of the points for the labwork, you will get a 5% bonus on your exam


In advance of exercises, there will be online quizzes that must be solved. Usually, these quizzes reflect on the recent topic of the lecture, but may also require paper reading (see below).
Quizzes will be made available timely after a lecture and will have a deadline. However, there will be enough time to solve each quiz (~4-5 days).
Results of quizzes will be discussed in the exercise.
NO teamwork allowed.

Requirement: 50% of the points on quizzes must be achieved to get the exam permission.

Paper Reading:

Occassionally, I will provide papers that have to be read in preparation of the exercise. They cover particular aspects of software testing and will be used for some disucssion within the exercise.
For now, the idea is that you read the paper in advance and than discuss particular questions regarding the paper in groups in the exercise.
I suggest to keep these discussion groups stable, for both, minimizing organizationla overhead in exercises and to make if more comfortable yourself.

NOTE: An exercise is not a repetition of the lecture. If there are neither questions nor discussions (based on your preparation), I am not willing to tell the same things twice.


Literatur & Study Material


  • M. Pezze and M. Young, “Software Testing and Analysis”, John Wiley 2008.
  • P. Ammann and J. Offutt, "Introduction to Software Testing", 2nd edition 2015.
  • A. Zeller: "Why Programs Fail: A Guide to Systematic Debugging", 2nd edition 2012.
  • A.Spillner & T. Linz, Basiswissen Softwaretest - Aus und Weiterbildung zum Certified Tester, 5.Auflage, 2012. (German only)

More literature, especially scientific articles, will be added adhoc during the semester (most likely, over the Moodle platform).


Last Modification: 12.10.2018 - Contact Person:

Sie können eine Nachricht versenden an: Webmaster