SE1_Team_2/Unterlagen/Modultestbericht/Modultestbericht_Kundenverw...

118 lines
7.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: "Modultestbericht Kundenverwaltung"
subtitle: "SE1 Team 2 Hochschule Mannheim · Modul Software Engineering 1"
author: "Christopher Lampert"
date: "26.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.0
**Stand:** 26.06.2026
**Autor / Tester:** Christopher Lampert
**Bezug:** Modultestplan (KV-Teil), Pflichtenheft v1.1, Lastenheft v1.1, Fahrplan Kundenverwaltung v1.1
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).
---
## 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 Testfall bildet **genau einen** Modultestplan-Fall ab (1:1) und trägt dessen Bezeichnung als `@DisplayName`, sodass das Testprotokoll unmittelbar aus dem Testlauf hervorgeht. 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**.
| 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 Testfällen bestanden (Pass-Quote 100 %); 0 fehlgeschlagen; 0 übersprungen.
## 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.
---
## Ä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. |