Web page for the lecture "Software Testing" in the winter term 2018/2019
|Leturer:||Dr.-Ing. Sandro Schulze|
|Lecture:||LSF entry | Moodle 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: https://elearning.ovgu.de/course/view.php?id=4861
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
|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. Unit vs. Integration Testing & Mock Objects||TBA|
|CW 48 (26.11.18)||6. Test lifecycle and Static Testing||TBA|
|CW 49 (03.12.18)||7. Test code quality (test smells, best practices)||TBA|
|CW 50 (10.12.18)||8. Design by contract & property-based testing||TBA|
|CW 51 (17.12.18)||9. Regression Testing (or guest lecture)||TBA|
|CW 02 (7.01.19)||10. Debugging||TBA|
|CW 03 (14.01.19)||11. guest lecture: CI and DevOps in .NET||---|
|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]iti.cs.uni-magdeburg.de
|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!
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.
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.
- 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).