Softwarequalität

Informatik, Bachelor (PO-2026)

Modulnummer / ModulcodeWPTPI-14
ModulnameSoftwarequalität
Art des ModulsWahlpflicht
Lernergebnisse, Kompetenzen, Qualifikationsziele

Professionelle Softwareentwicklung erfordert die Fähigkeit, Softwarequalität gezielt zu planen, messbar zu machen und systematisch abzusichern.

Nach Abschluss der Lehrveranstaltung:

  • kennen die Studierenden zentrale Begriffe, Modelle, Standards und Normen der Softwarequalität sowie grundlegende organisatorische und prozessuale Aspekte der Qualitätssicherung
  • Kennen die Studierenden verschiedene Arten von Qualitätsmerkmalen und Metriken zur Messung von Qualitätsaspekten
  • Verstehen die Studierenden verschiedene Qualitätssicherungsmethoden wie Reviews und insbesondere Teststrategien und Testverfahren. Die Studierenden können Testverfahren diese konzeptuell und praktisch (mit Werkzeugen) an Beispielen anwenden.
  • Haben die Studierenden ein grundlegendes Verständnis für weiterführende Themen und Verfahren der Softwarequalität, wie etwa Design-by-Contract, Qualitätssicherung in sicherheitskritischen Systemen, Fehlerlokalisation oder symbolische Ausführung.
LehrveranstaltungsartenVLmP (2 SWS), Ü (2 SWS)
Lehrinhalte

Die Vorlesung behandelt grundlegende Konzepte der Softwarequalität, insbesondere analytischer und konstruktive Softwarequalitätssicherungsmethoden:

  • Grundlagen Softwarequalität: Begriffe, Organisation, Prozesse, Standards, konstruktive vs. analytische Qualitätssicherungsmethoden
  • Softwaremetriken, Software-Inspektionen und Reviews
  • Testmethoden: Test-First, Testautomatisierung, Mocking, Black-Box vs. White-Box, Äquivalenzklassenbildung, Kontrollfluss- und Datenflussorientierte Tests, Überdeckung, kombinatorisches Testen, Mutationstests, Oberflächentests, Behavior-Driven-Development mit Cucumber, Testen von Benutzeroberflächen
  • Debugging, Lokalisation von Code-Defekten
  • Weitere Themen (Auswahl): Symbolische Ausführung, Design-by-Contract, Korrektheitsbeweise (Hoars Kalkül), Testen von Software mit generativer KI

Die Inhalte werden konzeptuell und anhand ausgewählter Programmierbeispiele vermittelt. Testframeworks und Analysewerkzeuge werden an Beispielen erprobt.

Titel der LehrveranstaltungenSoftwarequalität
Lehr- und Lernmethoden (Lehr- und Lernformen)Vorlesung, Übung
Verwendbarkeit des Moduls
Dauer des ModulsEin Semester
Häufigkeit des Angebotesjährlich im Sommersemester
SpracheDeutsch/Englisch
Empfohlene (inhaltliche) Voraussetzungen für die Teilnahme am ModulModul „Programmierung und Modellierung“
Voraussetzungen für die Teilnahme am Modul keine
Studentischer Arbeitsaufwand180 Stunden (60h Präsenzzeit + 120h Selbstlernzeit)
StudienleistungenStudienleistung S1: Bearbeitung vorlesungsbegleitender Übungsaufgaben sowie Durchführung einer ggf. mehrteiligen Projektaufgabe (ca. 40 - 60 Stunden Entwicklungsaufwand)
Voraussetzung für Zulassung zur PrüfungsleistungStudienleistung S1
PrüfungsleistungenKlausur (90 Min.) oder alternativ Projektabschluss mit Präsentation (ca. 10 Min.) und mündlicher Prüfung (ca. 20 - 30 Min.).
Anzahl Credits (ECTS)6 cp
LehreinheitInformatik
Modulverantwortliche/rProf. Dr. Joel Greenyer
LehrendeProf. Dr. Joel Greenyer und Mitarbeitende
MedienformenFolien (Beamer), Programmierdemonstrationen
Literatur
  • Dirk Hoffmann, Software-Qualität, Springer Vieweg (eXamen.press), 2. Auflage, 2013
  • Pascal Moll, Daniel Sonnet, Softwaretesting kompakt: Grundlagen von Tests und Testautomatisierung mit Java, Springer Vieweg, 2025
  • Maurício Aniche, Effective Software Testing: A Developer's Guide, ‎ Manning Publications, 2022
  • Andreas Zeller, Why Programs Fail. A Guide to Systematic Debugging, 2. Auflage, Morgan Kaufmann, 2009