--- title: "Modultestbericht – Kundenverwaltung" subtitle: "SE1 Team 2 – Hochschule Mannheim · Modul Software Engineering 1" author: "Christopher Lampert" date: "27.06.2026" lang: de-DE geometry: "left=2.2cm,right=2.2cm,top=2cm,bottom=2cm" fontsize: 10pt mainfont: "Latin Modern Roman" colorlinks: true linkcolor: "blue" urlcolor: "blue" numbersections: false header-includes: - \setlength{\tabcolsep}{4pt} - \renewcommand{\arraystretch}{1.12} - \usepackage{etoolbox} - \AtBeginEnvironment{longtable}{\small} - \usepackage{newunicodechar} - \newunicodechar{≥}{\ensuremath{\geq}} - \newunicodechar{≤}{\ensuremath{\leq}} --- # 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` 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`). |