diff --git a/website/assignments/Maven-Testing.md b/website/assignments/Maven-Testing.md new file mode 100644 index 0000000000000000000000000000000000000000..01a4fbaf0a0223b690fe0a7262000d0f5b77bf73 --- /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 301d2be56534d04eab67e5bdd66f3f2124396ac9..e9a0e8bcf02866b04e27c515655a0da52ddda1ad 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 0000000000000000000000000000000000000000..1a8fcc62cb468cefdec93251f790b66fa1769b5f --- /dev/null +++ b/website/lecturenotes/20220411.md @@ -0,0 +1,6 @@ +# Vorlesungsnotizen - 11.04.2022 + +## Maven + + +## Testing \ No newline at end of file