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 Seminaristischer Unterricht
- 30 Präsenzstunden Praktikum
- 90 Stunden Vor- und Nachbereitung (inkl. Anfertigen der Modularbeit)
|
Voraussetzungen |
Veranstaltungen:
- Softwareentwicklung I (IF-I-B-104 oder IF-WI-B-05) und II (IF-I-B-204 oder IF-WI-B-06)
- Softwareengineering I (IF-I-B-305) oder Softwareengineering II (IF-WI-B-15)
Inhaltlich dabei relevant:
- gute bis sehr gute Programmierkenntnisse in Java
- Grundkenntnisse Modultests und Code Coverage in Java und JUnit
- Grundlagen des Softwareengineering: Qualitätssicherung, Testpyramide, White- und Blackbox Tests
- Basiswissen Buildmanagement und Versionsmanagement
|
Ziele |
- Die Studierenden sollen in der Lage sein, Unit Tests mit Hilfe von Spracherweiterungen wie AssertJ klar und leserlich zu formulieren, um die Wartbarkeit und Verständlichkeit der Tests zu verbessern.
- Die Studierenden sollen Test-Driven Development (TDD) und Continuous Deployment (CD) effektiv anwenden, um hochwertige Softwareprodukte zu entwickeln, die kontinuierlich und zuverlässig ausgeliefert werden können.
- Die Studierenden sollen in der Lage sein, spezialisierte Testtechniken wie parametrisierte Tests, White-Box/Black-Box Testing, Mutation Testing sowie manuelle und automatisierte Codeüberdeckung zur Bewertung und Verbesserung der Software- und Testqualität anzuwenden.
- Die Studierenden sollen Mocking und Stubbing effektiv nutzen können, um Unit- und Integrationstests zu entwickeln, die verschiedene Anwendungsszenarien abdecken und eine hohe Testabdeckung sicherstellen.
- Die Studierenden sollen in der Lage sein, Werkzeuge wie Cucumber für Akzeptanztests, Selenium für UI-Tests, EqualsVerifier für Schnittstellentests sowie ArchUnit für Architekturtests einzusetzen, um alle Aspekte des Softwaretests abzudecken.
|
Inhalt |
- Verbessern der Lesbarkeit von Unit Tests durch Spracherweiterungen wie AssertJ
- Lernen und Anwenden von Test-Driven Development (TDD) und Continuous Deployment (CD)
- Spezifizieren von Testreihen mit parameterisierten Tests
- Tipps und Tricks zum Thema White-Box und Black-Box Testing
- Manuelle und automatisierte Codeüberdeckung in Entwicklungsumgebung und CD
- Verbesserung der Qualität von Testfällen durch Anwendung von Mutation Testing
- Testdubletten: Mocking und Stubbing in Unit- und Integrationstests
- Integrations und Systemtests in Java Enterprise Anwendungen (Spring)
- Schreiben von Akzeptanztests mit Cucumber
- Automatisiertes Testen von Schnittstellen mit dem Abstract Test Pattern und dem EqualsVerifier
- Sicherstellen der Architekturrichtlinien und API Stabilität mittels Architekturtests und RevApi
- Grundlagen Performancetests
- Basiswissen UI Tests mit Selenium
|
Medien und Methoden |
- Präsentationsfolien mit Beamer, Tafel, Flipchart, u.a.
- Programmieren direkt in der Entwicklungsumgebung
- Reviews von GitLab Merge Requests (inkl. automatisierte Bewertung)
|
Literatur |
- Kent Beck, Test Driven Development: By Example, 2002, Addison-Wesley
- Michael Feathers, Working Effectively with Legacy Code, 2004, Pearson
- Steve Freemann, Nat Pryce, Growing Object-Oriented Software, Guided by Tests, 2009, Pearson
- Cederic Beust, Hani Suleiman, Next Generation Java Testing, 2009, Addison-Wesley
- Matt Wynne et al., The Cucumber Book: Behaviour-Driven Development for Testers and Developers, 2017, Pragmatic Bookshelf
- Tomek Kaczanowski, Practical Unit Testing with JUnit and Mockito, 2019. Tomasz Kaczanowski
- Vladimir Khorikov, Unit Testing Principles, Practices, and Patterns, 2020, Manning Publications
- Ralf Bierig et al., Essentials of Software Testing, 2021, Cambridge University Press
- Andreas Spillner, Tilo Linz, Basiswissen Softwaretest, 2024, dpunkt.verlag GmbH
|
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%)
|
|