10 KiB
| title | subtitle | author | date | lang | geometry | fontsize | mainfont | colorlinks | linkcolor | urlcolor | numbersections | header-includes | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Modultestbericht – Kundenverwaltung | SE1 Team 2 – Hochschule Mannheim · Modul Software Engineering 1 | Christopher Lampert | 27.06.2026 | de-DE | left=2.2cm,right=2.2cm,top=2cm,bottom=2cm | 10pt | Latin Modern Roman | true | blue | blue | false |
|
Modultestbericht – Modul Kundenverwaltung (Gruppe H)
Modul: Software Engineering 1
Team / Gruppe: SE1 Team 2 – Gruppe H (Kundenverwaltung), Package de.hsmannheim.faktura.kunde
Version: 1.1
Stand: 27.06.2026
Autor / Tester: Christopher Lampert
Bezug: Modultestplan (KV-Teil), Pflichtenheft v1.1, Lastenheft v1.1, Fahrplan Kundenverwaltung v1.3
Änderung gegenüber v1.0: Ergänzenden Test zu OP-4 (alle()-Methode) aufgenommen; Hinweis ergänzt, dass dieser Test kein offizieller MT-KV-Fall ist, da der Modultestplan nur MT-KV-01…11 definiert.
Dieser Bericht dokumentiert die Durchführung und das Ergebnis der Modultests des Moduls Kundenverwaltung. Er weist nach, dass die im Modultestplan definierten Testfälle MT-KV-01 bis MT-KV-11 umgesetzt, ausgeführt und bestanden wurden, und belegt die geforderte Testabdeckung der Logikschicht (NF-TEST-03). Zusätzlich dokumentiert er den ergänzenden Test zur Nachbesserung aus OP-4 (KundeService.alle()).
Freigabeübersicht
| Funktion | Name | Rolle / Gruppe | Datum |
|---|---|---|---|
| Ersteller | Christopher Lampert | Autor / Tester, Gruppe H | 26.06.2026 |
| Prüfer | Oleg Akimenko | Gruppenleiter Gruppe H | (offen) |
| Freigebender | SE1 Team 2 (Gruppenleiter) | Projektleitung / Freigabe | (offen) |
1. Testgegenstand und Vorgehen
Geprüft wird die fachliche Logik der Kundenverwaltung – die Anforderungen F-KV-01 … F-KV-04, die Geschäftsregel GR-05 (Stammdatenschutz / Löschsperre) und NF-ARCH-01 (Persistenz) – über die öffentliche Schnittstelle des KundeService.
Die Tests sind als automatisierte JUnit-5-Tests ohne GUI-Abhängigkeit umgesetzt (NF-TEST-02) und in der Datei KundeModultestTest.java zusammengefasst. Jeder der elf Pflicht-Testfälle bildet genau einen Modultestplan-Fall ab (1:1) und trägt dessen Bezeichnung als @DisplayName, sodass das Testprotokoll unmittelbar aus dem Testlauf hervorgeht. Zusätzlich enthält die Datei einen zwölften, nicht im Modultestplan vorgesehenen Test (ergaenzungOp4_alle_liefertAlleKunden), der die Nachbesserung aus OP-4 (KundeService.alle(), Fahrplan v1.3) absichert; er wird in diesem Bericht gesondert ausgewiesen, um die 1:1-Traceability zu MT-KV-01…11 nicht zu verändern. Die Validierungs- und Persistenzschicht wird dabei real durchlaufen (echtes KundeValidator- und JSON-KundeRepository-Objekt je Test über @TempDir); lediglich die Beleg-Referenzprüfung der Löschsperre (GR-05) wird über das Interface BelegReferenzPruefer gesteuert. Die Ausführung erfolgt reproduzierbar über Maven (mvn test) bzw. den IntelliJ-Testrunner.
2. Testumgebung
| Aspekt | Festlegung |
|---|---|
| Programmiersprache | Java 17 (LTS); maven.compiler.release=17 |
| Test-Framework | JUnit 5 (Jupiter) 5.10.2 |
| Build / Ausführung | Maven, maven-surefire-plugin 3.2.5 |
| Persistenz (im Test real genutzt) | Jackson Databind 2.17.1; lokale JSON-Datei je Test (@TempDir) |
| Abdeckungsmessung | IntelliJ IDEA Coverage Runner |
| Testdatei | src/test/java/de/hsmannheim/faktura/kunde/service/KundeModultestTest.java |
3. Testergebnisse
Alle elf Modultests wurden am 26.06.2026 ausgeführt und bestanden. Am 27.06.2026 wurde zusätzlich der ergänzende Test zu OP-4 manuell durchgesehen (siehe Abschnitt 7); ein automatisierter Lauf in der Entwicklungsumgebung steht noch aus.
| Testfall | Testziel / Beschreibung | Anforderung | Ergebnis | Datum | Tester |
|---|---|---|---|---|---|
| MT-KV-01 | Kunde mit vollständigen Pflichtattributen anlegen | BA-KV-01 | bestanden | 26.06.2026 | C. Lampert |
| MT-KV-02 | Kunde ohne Firmenname bzw. Nachname anlegen | BA-KV-01 | bestanden | 26.06.2026 | C. Lampert |
| MT-KV-03 | Kunde ohne Straße anlegen | BA-KV-01 | bestanden | 26.06.2026 | C. Lampert |
| MT-KV-04 | Kunde mit ungültigem E-Mail-Format anlegen | BA-KV-01 | bestanden | 26.06.2026 | C. Lampert |
| MT-KV-05 | Vorhandenen Kunden bearbeiten | BA-KV-02 | bestanden | 26.06.2026 | C. Lampert |
| MT-KV-06 | Persistenz geänderter Kundendaten prüfen | BA-KV-02, NF-ARCH-01 | bestanden | 26.06.2026 | C. Lampert |
| MT-KV-07 | Kunde über Namen suchen | BA-KV-03 | bestanden | 26.06.2026 | C. Lampert |
| MT-KV-08 | Kunde über Kundennummer suchen | BA-KV-03 | bestanden | 26.06.2026 | C. Lampert |
| MT-KV-09 | Nicht vorhandenen Kunden suchen | BA-KV-03 | bestanden | 26.06.2026 | C. Lampert |
| MT-KV-10 | Nicht referenzierten Kunden löschen | BA-KV-04 | bestanden | 26.06.2026 | C. Lampert |
| MT-KV-11 | Referenzierten Kunden löschen | BA-KV-04, GR-05 | bestanden | 26.06.2026 | C. Lampert |
Zusammenfassung: 11 von 11 Pflicht-Testfällen (MT-KV-01…11) bestanden (Pass-Quote 100 %); 0 fehlgeschlagen; 0 übersprungen. Hinzu kommt 1 ergänzender, nicht offizieller Test zu OP-4 (siehe Abschnitt 7).
4. Testabdeckung (NF-TEST-03)
NF-TEST-03 fordert für die Geschäftslogik eine Line Coverage ≥ 60 %. Gemessene Abdeckung der Logikschicht (de.hsmannheim.faktura.kunde.service) durch KundeModultestTest:
| Geltungsbereich | Klassen | Methoden | Zeilen (Line) | Branches |
|---|---|---|---|---|
Logikschicht (…kunde.service) |
100 % (4/4) | 100 % (13/13) | 85 % (41/48) | 73 % (25/34) |
Mit 85 % Line Coverage der Geschäftslogik bei 100 % abgedeckten Methoden ist die geforderte Schwelle von 60 % deutlich übertroffen. NF-TEST-03 ist erfüllt.
5. Abdeckungsübersicht (Anforderung → Testfälle)
Übernommen aus dem Modultestplan (KV-Teil). Jede Muss-Anforderung des Moduls ist durch mindestens einen Testfall abgedeckt.
| Anforderung | Abgedeckte Testfälle |
|---|---|
| BA-KV-01 Kunde anlegen | MT-KV-01 bis MT-KV-04 |
| BA-KV-02 Kunde bearbeiten | MT-KV-05, MT-KV-06 |
| BA-KV-03 Kunde suchen | MT-KV-07 bis MT-KV-09 |
| BA-KV-04 Kunde löschen | MT-KV-10, MT-KV-11 |
| GR-05 Stammdatenschutz | MT-KV-11 |
| NF-ARCH-01 Persistenz | MT-KV-06 |
6. Fazit
Die fachlichen Anforderungen des Moduls Kundenverwaltung sind durch die Modultests MT-KV-01 bis MT-KV-11 vollständig abgedeckt und nachweislich erfüllt. Alle Tests bestehen (Pass-Quote 100 %), und die geforderte Testabdeckung der Logikschicht ist mit 85 % Line Coverage erreicht (NF-TEST-03). Die Traceability-Kette BA-KV-0x → F-KV-0x → MT-KV-xx ist über Modultestplan und diesen Bericht lückenlos belegbar.
7. Ergänzender Test zu OP-4 (außerhalb des Modultestplans)
Im Zuge der Schließung von OP-4 (Fahrplan v1.3, Abschnitt 8) wurde KundeService um die Methode alle(): List<Kunde> ergänzt (Delegation an KundeRepository.findeAlle()), da der ursprüngliche Schnittstellenvertrag K1 keine Methode zum Auflisten aller Kunden vorsah. Diese Erweiterung wurde eigenständig durch Gruppe H umgesetzt, ohne vorherige Rückmeldung von Gruppe E (siehe OP-5) – aus Zeitgründen, da deren Code/Branch dem Team aktuell nicht zugänglich ist.
| Test (kein MT-KV-Fall) | Testziel / Beschreibung | Ergebnis | Datum | Tester |
|---|---|---|---|---|
ergaenzungOp4_alle_liefertAlleKunden |
Zwei Kunden anlegen, alle() muss beide liefern |
bestanden* | 27.06.2026 | C. Lampert |
* Hinweis zur Prüftiefe: Der Test wurde manuell gegen die bestehende Codebasis und das etablierte Testmuster durchgesehen (Typkonsistenz, Imports, Verhalten der übrigen Methoden unverändert). Ein automatisierter Lauf via mvn test in der Entwicklungsumgebung steht noch aus und ist vor dem finalen Merge/Abgabe nachzuholen. Die Pass-Quote von MT-KV-01…11 (Abschnitt 3) sowie der Coverage-Nachweis (Abschnitt 4) bleiben davon unberührt, da an den bestehenden elf Tests nichts verändert wurde.
Änderungshistorie
| Version | Datum | Autor | Änderung |
|---|---|---|---|
| 1.0 | 26.06.2026 | Christopher Lampert | Initiale Erstellung des Modultestberichts: Testergebnisse MT-KV-01…11, Coverage-Nachweis (NF-TEST-03), Abdeckungsübersicht. |
| 1.1 | 27.06.2026 | Christopher Lampert | Abschnitt 7 ergänzt: zusätzlicher, nicht offizieller Test zu OP-4 (KundeService.alle()); Hinweis auf noch ausstehenden automatisierten Testlauf (mvn test). |