This lecture is the successor to the "Processes and methods for the testing of software" lecture. If you already have taken the exam in PMTS, you can not take the exam in SQ1. The topics of the lecture have been updated.
Dozent: Dr.-Ing. habil. Sandro Schulze
Modulnummer: INF-SSE-39
Die Vorlesung stellt den Aspekt von Softwarequalität im Softwareentwicklungsprozess in den Mittelpunkt und fokussiert dabei speziell auf das Thema des Softwaretestens. Dabei werden sowohl grundlegende als auch weiterführende Techniken und Konzepte des Testens und deren Anwendung eingeführt.
Inhalt
Im Einzelnen werden folgende Themen abgedeckt:
Lernziele
Die Unterrichtssprache ist Englisch.
Teile der Vorlesung enstprechen den Inhalten des ISTQB Certified Tester.
In der Regel finden die Übungen montags statt, also zu dem Termin, welcher eigentlich für die Vorlesung vorgesehen ist. Infos zu Zeit & Raum finden Sie im Stud.IP unter folgendem Link: SQ1 -- Stud.IP
In einigen wenigen Fällen weichen wir auf den Mittwoch (13.15 - 14.45 Uhr) aus (Details entnehmen Sie bitte dem Zeitplan).
Die Vorlesungen selbst werden online asynchron angeboten, mehr Details dazu im Abschnitt Ablauf & Material.
Die Veranstaltung Softwarequalität besteht aus eine Vorlesung und einer Übung und wird nach der Methode des integrierten Lernens (Blended Learning) durchgeführt.
Konkret bedeutet das, dass es einen Selbstlernanteil (hier: die Vorlesung) gibt und einen Präsenzanteil (hier: die Übung). Details zum Ablauf der beiden Teile finden Sie nachstehend.
Die Vorlesung ist als Selbstlernphase konzipiert. Das bedeutet, dass es jede Woche ein Thema gibt, welches über kurze Lehrvideos bereitgestellt wird. Ergänzend dazu gibt es gelegentlich auch noch Zusatzmaterial in Form von Artikeln, Blog-Einträgen aber auch Tutorials oder Hands-On Aufgaben im Stud.IP.
Die Übung findet in Präsenz statt und dient dazu, das jeweilige Thema zu vertiefen, das Gelernte anzuwenden und darüber hinaus offene Fragen zu dem jeweiligen Thema zu diskutieren.
Neben Hands-On Aufgaben, welche in der Übung gelöst werden besteht die Übung aus zwei integralen Bestandteilen: Quizzes und einem kleinen Projekt.
Quizzes
Zu jedem Thema gibt es ein Online-Quiz, welches vor der jeiweligen Übung gelöst werden muss. Diese Quizzes beziehen sich auf das aktuelle Thema der Vorlesung.
Quizzes werden zeitgelich mit den Lehrvideos zur Verfügung gestellt, so dass genügend Zeit bleibt, um jedes Quiz vor der Übung zu lösen (~4-5 Tage).
Die Ergebnisse der Tests werden dann in der Übung besprochen und diskutiert.
Neben der Vertiefung des jeweiligen Themas dienen die Quizzes auch als Vorbereitung auf die Prüfung.
Projekt (Labwork)
Ein wesentliches Ziel der Lehrveranstaltung ist es, die erlernten Techniken auch selbstständig in der Praxis anzuwenden. Dazu gibt es im Rahmen der Übung ein kleines Projekt, eine Java-Implementierung des bekannten Pacman-Spiels, welches im Laufe des Semesters Stück für Stück um unterschiedliche Testfällen erweitert werden soll.
Insgesamt gibt es vier Meilensteine, wobei innerhalb eines Meilensteines immer die gerade aktuell behandelten Techniken angewandt werden müssen.
Sie dürfen Gruppen von zwei Studierenden bilden, um an dem Projekt zu arbeiten und die Aufgaben gemeinsam zu lösen.
Für besonders gute Lösungen gibt es Bonuspunkte für die Klausur.
Jede Woche wird ein neues Thema behandelt (siehe Zeitplan). Dazu werden eine Woche vorher alle Materialien, also Lehrvideos, Quizzes und sonstige Materialien online im Stud.IP-Kurs zur Verfügung gestellt.
Darüber hinaus werden auch die Projektaufgaben für den jeweiligen Meilenstein in regelmäßigen Abständen in Stud.IP zur Verfügung gestellt. Heißt: nach Abschluss eines Meilensteins werden die Aufgaben für den nächsten Meilenstein bereitgestellt. Die Bearbeitungszeit beträgt jeweils ca. 3 Wochen.
Neben der Übung gibt es auch in Stud.IP ein Forum, in dem Fragen gestellt und über Themen und Aufgaben diskutiert werden kann.
Am Ende des Semesters gibt es eine Präsenzklausur von 90 Minuten.
Diese wir als Multiple-/Single-Choice Klausur konzipiert wobei die Art der Fragen an die Fragen in den Quizzes angelehnt ist.
Termin Wiederholungsklausur Wintersemester 2022/2023:
Datum: 27.02.2023
Uhrzeit: 9.30-11 Uhr
Raum SN 20.2
Termin Wiederholungsklausur Sommersemester 2023:
Datum: 17.08.2023
Uhrzeit: 8.30-10.00 Uhr
Raum: PK 11.2
Die nachfolgende Tabelle enthält den Zeitplan für das Semester, zusammen mit den jeweiligen Themen und Informationen zur Vorbereitung bzw. zu Abgaben in der jeweiligen Woche.
Die Abgabefristen für das Projekt entnehmen Sie bitte dem Projekt-Leitfaden (Labwork).
Abgabefrist für die Quizzes ist immer 8 Uhr am Tag der Übung.
Bitte beachten Sie, dass sich der Zeitplan ändern kann.
Tag | Datum | Typ | Thema | Vorbereitung | Abgabe |
---|---|---|---|---|---|
Mittwoch | 20.04.22 | 0.Übung | Einführung | Tutorial "Getting Started with Git" | |
Montag | 25.04.22 | 1.Übung | Grundlagen Software-Testen | Paper: "Principles of Software Testing" | Quiz 1 |
Montag | 02.05.22 | KEINE ÜBUNG | --- | --- | --- |
Montag | 09.05.22 | 2.Übung | Funktionales (Black-Box) Testen | --- | Projekt (Teil 0), Quiz 2 |
Mittwoch | 18.05.22 | 3.Übung | Strukturtest (White-Box) | Blog: "Test Coverage -- Lessons learned from JUnit" | Quiz3 |
Montag | 23.05.22 | 4.Übung | Teststufen & Mock-Objekte | Paper: "Getting what you measure -- pitfalls in using metrics" | Quiz 4 |
Montag | 30.05.22 | 5.Übung | Testcodequalität | --- | Projekt (Teil 1), Quiz 5 |
Montag | 06.06.22 | KEINE ÜBUNG | --- | ||
Montag | 13.06.22 | 6.Übung | Modellbasiertes Testen I -- Entscheidungstabellen | --- | Quiz 6 |
Montag | 20.06.22 | 7.Übung | Modellbasiertes Testen II -- Zustandsdiagramme | --- | Quiz 7 |
Montag | 27.06.22 | 8.Übung | Design-by contract | --- | Projekt (Teil 2), Quiz 8 |
Montag | 04.07.22 | 9.Übung | Testprozess | --- | Quiz 9 |
Montag | 11.07.22 | 10.Übung | --- | Guest Lecture, Warda Khan (IAV), "Software Testing -- Insights and Solutions from the Industry" | --- |
Montag | 18.07.22 | 11.Übung | KEINE ÜBUNG | --- | Projekt (Teil 3) |
Mittwoch | 27.07.22 | 12.Übung | Zusammenfassung & Fragen | --- | --- |