From 3699eec51054d7aeea12f4c9c0dd79c94f62e3d8 Mon Sep 17 00:00:00 2001 From: Tobias Jordine <jordine@hdm-stuttgart.de> Date: Sat, 9 Apr 2022 18:41:16 +0200 Subject: [PATCH] =?UTF-8?q?=C3=9Cbung=20Build=20Management=20&=20Testing?= =?UTF-8?q?=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- website/assignments/Maven-Testing.md | 21 +++++++++++++++++++++ website/index.html | 3 +++ website/lecturenotes/20220411.md | 6 ++++++ 3 files changed, 30 insertions(+) create mode 100644 website/assignments/Maven-Testing.md create mode 100644 website/lecturenotes/20220411.md diff --git a/website/assignments/Maven-Testing.md b/website/assignments/Maven-Testing.md new file mode 100644 index 0000000..01a4fba --- /dev/null +++ b/website/assignments/Maven-Testing.md @@ -0,0 +1,21 @@ +# Ãœbungen Software-Entwicklung 3: Build Management & Testing + +## Ausgangslage +Die in der Vorlesung vorgestellten Konzepte des Build Managements und des Testings sollen nun in Ihrem Projekt angewandt werden. Sofern Sie Java einsetzen, verwenden Sie `Maven` für das Build Management und `JUnit` für das Testing. + +## Aufgabe +* Erstellen Sie eine passende `pom.xml`, sodass sie die Build-Lifecycle Phasen `compile`, `test` und `package` nutzen können. +* Ãœberlegen Sie sich welche Testarten für Sie relevant sein könnten. +* Erstellen Sie Unit-Tests nach dem `F.I.R.S.T`-Prinzip. Achten Sie auch darauf, dass Sie den "Happy Path", Randbedingungen sowie Fehlerfälle testen. +* Erstellen Sie Integrationstests für Ihre Komponenten. + +## Tipps +* `IntelliJ` kann Sie bei der Testerstellung unterstützen. Dafür müssen Sie in einer `.java`-Datei `command` + `n`/`Strg` + `n` âž¡ï¸ `Test...` wählen. +* Nutzen Sie bei Bedarf (z.B. Simulation eines komplexen Objekts) das Mock-Framework [Mockito](https://site.mockito.org) +* Versuchen Sie eine Funktionalität/Anforderung nach den Test-driven Design Prinzipen zu entwickeln. + + +## Ziele +* Das Projekt besitzt eine valide Maven-Konfiguration, mit der per `mvn`-Aufruf das Projekt automatisch getestet und gebaut wird. +* Ihre `Model` und `Controller`-Klassen werden wie oben beschrieben getestet. +* Zusätzlich werden die Schnittstellen Ihre Komponenten nach diesen Regeln getestet. \ No newline at end of file diff --git a/website/index.html b/website/index.html index 301d2be..e9a0e8b 100644 --- a/website/index.html +++ b/website/index.html @@ -14,6 +14,7 @@ <li><a href="anforderungsanalyse.html" target="_blank">Anforderungsanalyse</a></li> <li><a href="softwarearchitektur.html" target="_blank">Softwarearchitektur</a></li> <li><a href="clean-code_doku_git.html" target="_blank">git, Dokumentation, Clean Code</a></li> + <li><a href="maven-testing.html" target="_blank">Maven & Testing</a></li> </ul> <h3>Vorlesungnotizen</h3> @@ -21,6 +22,7 @@ <li><a href="https://gitlab.mi.hdm-stuttgart.de/jordine/se3sose2022vorlesung/-/blob/main/website/lecturenotes/20220321.md" target="_blank">Vorlesungsnotizen - 21.03.2022</a></li> <li><a href="https://gitlab.mi.hdm-stuttgart.de/jordine/se3sose2022vorlesung/-/blob/main/website/lecturenotes/20220328.md" target="_blank">Vorlesungsnotizen - 28.03.2022</a></li> <li><a href="https://gitlab.mi.hdm-stuttgart.de/jordine/se3sose2022vorlesung/-/blob/main/website/lecturenotes/20220404.md" target="_blank">Vorlesungsnotizen - 04.04.2022</a></li> + <li><a href="https://gitlab.mi.hdm-stuttgart.de/jordine/se3sose2022vorlesung/-/blob/main/website/lecturenotes/20220411.md" target="_blank">Vorlesungsnotizen - 11.04.2022</a></li> </ul> <h3>Projekt</h3> @@ -33,6 +35,7 @@ <li><a href="https://gitlab.mi.hdm-stuttgart.de/jordine/se3sose2022vorlesung/-/blob/main/website/assignments/Anforderungsanalyse.md" target="_blank">Ãœbung: Anforderungsanalyse</a> </li> <li><a href="https://gitlab.mi.hdm-stuttgart.de/jordine/se3sose2022vorlesung/-/blob/main/website/assignments/Softwarearchitektur.md" target="_blank">Ãœbung: Softwarearchitektur</a> </li> <li><a href="https://gitlab.mi.hdm-stuttgart.de/jordine/se3sose2022vorlesung/-/blob/main/website/assignments/git-Doku-CleanCode.md" target="_blank">Ãœbung: git, Dokumentation, Clean Code</a> </li> + <li><a href="https://gitlab.mi.hdm-stuttgart.de/jordine/se3sose2022vorlesung/-/blob/main/website/assignments/Maven-Testing.md" target="_blank">Ãœbung: Build Management & Testing</a> </li> </ul> <h3>Organisatorisches</h3> diff --git a/website/lecturenotes/20220411.md b/website/lecturenotes/20220411.md new file mode 100644 index 0000000..1a8fcc6 --- /dev/null +++ b/website/lecturenotes/20220411.md @@ -0,0 +1,6 @@ +# Vorlesungsnotizen - 11.04.2022 + +## Maven + + +## Testing \ No newline at end of file -- GitLab