Testen mit objektorientierten Sprachen: Konzepte, Tools und Programmierung
Fakultät für Informatik und Mathematik ©
Name Testen mit objektorientierten Sprachen: Konzepte, Tools und Programmierung
Verantwortlich Prof. Dr. Ullrich Hafner
SWS 4
ECTS 5
Sprache(n) Deutsch
Lehrform SU mit Praktikum
Angebot im Wechsel mit anderen Fächern der gleichen Fachgruppe
Aufwand

48 Präsenzstunden Vorlesung und Praktikum, 102 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 2012 FWP IF-I-B-F71 4 benotete Studienarbeit (40%)
benotete mündliche Prüfung (60%)
IF Version 2019 FWP IF-I-B-F71 4 Modularbeit
IB Version 2010 FWP IF-WI-B-31-34-148 6 benotete Studienarbeit (40%)
benotete mündliche Prüfung (60%)