Testen mit objektorientierten Sprachen: Konzepte, Tools und Programmierung

Testen mit objektorientierten Sprachen: Konzepte, Tools und Programmierung

SWS 4
ECTS 5
Sprache(n) Deutsch
Lehrform SU mit Praktikum
Angebot im Wechsel mit anderen Fächern der gleichen Fachgruppe
Aufwand

30 Präsenzstunden Vorlesung, 30 Präsenzstunden Praktikum, 90 Stunden Vor- und Nachbereitung (inkl. Anfertigen der Modularbeit)

Voraussetzungen

Softwareentwicklung I (IF-I-B-104 oder IF-WI-B-05) und II (IF-I-B-204 oder IF-WI-B-06)

Ziele

Lernziele

  • Strukturiertes Vorgehen beim Testen von Anwendungen
  • Schreiben und Analysieren von Modul- und Integrationstests

Fach- und Methodenkompetenz

  • Kenntnis und Bewerten moderner Testkonzepte
  • Verstehen und Anwenden aktueller Testbibliotheken
  • Nutzen moderner Testwerkzeuge
  • Effektives Programmieren von Modul und Integrationstests in objektorientierten Sprachen

Überfachliche Kompetenz

  • Teamarbeit
  • Verstehen von komplexen Softwarekomponenten
  • Mitarbeit in internationalen Open Source Projekten
Inhalt
  • Vorstellen von Test-Driven Development (TDD) und Continuous Deployment
  • Verbessern der Lesbarkeit von Unit Tests durch Verwendung von modernen Assertion Frameworks wie z.B. AssertJ
  • Spezifizieren von Testreihen mit parametrisierten Tests
  • White-Box und Black-Box Testing
  • Verstehen und Messen der Codeüberdeckung in Testläufen
  • Bewertung der Qualität von Testfällen durch Mutation Testing
  • Mocking und Stubbing in Unit- und Integrationstests
  • Stubbing von Services in Integrationstests über leichtgewichtige Container wie z.B. Docker
  • Oberflächentests von Webanwendungen
  • Automatisiertes Testen von Schnittstellen mit dem Abstract Test Pattern
  • Sicherstellen der Architekturrichtlinien mittels Architekturtests
  • Testkonzepte in modernen Sprachen wie Groovy, Scala oder Kotlin
Medien und Methoden
  • Präsentationsfolien mit Beamer, Tafel, Flipchart, u.a.
  • Programmieren direkt in der Entwicklungsumgebung
  • Reviews von GitHub Pull Requests
Literatur
  • Michael Feathers, Working Effectively with Legacy Code
  • Steve Freemann, Nat Pryce, Growing Object-Oriented Software, Guided by Tests
  • Cederic Beust, Hani Suleiman, Next Generation Java Testing
  • Tomek Kaczanowski, Practical Unit Testing with JUnit and Mockito
Zuordnungen Curricula
SPO Fachgruppe Code ab Semester Prüfungsleistungen

IF Version 2019

FWP

IF-I-B-F71

6

benotete Modularbeit (100%)

IB Version 2010

FWP

IF-WI-B-31-34-148

6

benotete Modularbeit (100%)

IF Version 2023

FWP

IF-I-B-F71

6

benotete Modularbeit (100%)

WD Version 2022

FWP

951-55-148

6

benotete Modularbeit (100%)

WT Version 2022

FWP

951-55-148

6

benotete Modularbeit (100%)