Skip to main content

Software Testing

(engl. Software Testing)

Modulnummer: FIN-INF-120453
Link zum LSF: LSF
Verantwortung: Sandro Schulze
Dozent:in: Sandro Schulze
Lehrveranstaltungen:
  • Vorlesung Software Testing
  • Übung Software Testing
Verwendbarkeit:

Kürzel

SWT

CP

5

Semester

Sommer

Fachsem.

ab 4.

Dauer

1 Semester

Sprache

deutsch

Niveau

Bachelor

Angestrebte Lernergebnisse:
Wissen und Verstehen:

  • Die Studierenden verstehen die wichtigsten Testtechniken, die für die Erstellung qualitativ hochwertiger Softwaresysteme erforderlich sind
  • Die Studierenden können moderne Testtechniken anwenden, um qualitativ hochwertige Softwaresysteme zu erstellen.
  • Die Studierenden können über die Grenzen aktueller Testtechniken nachdenken, wissen, wann sie anzuwenden sind und wann nicht, und kennen die neuesten Forschungsentwicklungen, die darauf abzielen, diese Grenzen zu überwinden.
Intellektuelle und praktische Fertigkeiten
  • Die Studierenden verstehen die Qualitätsmerkmale
  • Studierende können geeignete Testarten und -techniken für gegebene Probleme und Qualitätsmerkmale identifizieren
  • Studierende können entsprechende Algorithmen zur Anwendung einer konkreten Testtechnik anpassen und ausführen
  • Studierende können Testergebnissen interpretieren und entsprechende Techniken für Re-Testszenarien ausführen
  • Anwendung von Fehlerfindungstechniken für nicht-triviale Probleme
  • Studierende werden vertraut gemacht mit praxisrelevanten Werkzeugen wie Git, Gradle, IntelliJ, JUnit und Cobertura und können diese auf ein kleines Programm anwenden
Kommunikation und zwischenmenschliche Fähigkeiten:
  • Diskussion von Problemen und deren Lösungsmöglichkeiten im Unterricht
  • Zusammenarbeit in Gruppen zur Lösung von Aufgaben in Übungen
  • Notwendigkeit zur Diskussion und Selbstorganisation zur Erreichung des Ziels; erfordert intensive Kommunikation untereinander

Inhalt:
Folgende Inhalte werden in dem Modul vermittelt:

  • Testprozess (und seine Beziehung zum Softwareentwicklungsprozess) und Testterminologie
  • Qualitätsmerkmale, Wartbarkeit und Testbarkeit
  • Grundlagen des statischen und dynamischen Testens
  • Code-Reviews und Inspektion
  • Konkrete dynamische Testtechniken (Black-Box, White-Box), einschließlich entsprechender Testentwurfstechniken und Abdeckungskriterien
  • Testgetriebener Entwurf und Entwicklung (test-driven development, TDD)
  • Modellbasiertes und zustandsbasiertes Testen
  • Design-by-contract
  • Unit- vs. Integrationstests

Arbeitsaufwand:

  • 44 Stunden Präsenzzeit (Vorlesung, Übung)
  • 106 Stunden Selbststudium (Nachbereitung, Lösen von Quizzes & Assignments)

Studien-/Prüfungsleistungen: Lehrform / SWS:

Klausur 90 Minuten Bestehen der Assignments

  • Vorlesung (2 SWS)
  • Übung (2 SWS)

Voraussetzungen nach Prüfungsordnung: Empfohlene Voraussetzungen:

keine

  • Grundlegendes Wissen im Bereich Softwareentwicklung/Softwaretechnik
  • Gute Programmierfähigkeiten (obligatorisch)

Medienformen: Literatur:

  • Live coding
  • Lesen und diskutieren von Publikationen
  • Online quizzes (Moodle)
  • Gastvorlesung(en)

  • Mauricio Aniche, Effective Software Testing, 1st edition, 2022.
  • Rex Black, Erik Van Veenendaal, Dorothy Graham (2012), Foundations of Software Testing - ISTQB Certification, 3rd ed.
  • Basiswissen Softwaretest, Spillner et al.
  • P. Ammann and J. Offutt, "Introduction to Software Testing", 2nd edition 2015.
  • Zusätzliche Literatur (Publikationen, Blogs, Bücher) wird während der Lehrveranstaltung vorgestellt

Hinweise: