docs(product): Modultestbericht der Gruppe G im einheitlichen Teamlayout hinzugefuegt
parent
5b25d35aff
commit
89512b2e8e
|
|
@ -0,0 +1,124 @@
|
||||||
|
---
|
||||||
|
title: "Modultestbericht – Produktverwaltung"
|
||||||
|
subtitle: "SE1 Team 2 – Hochschule Mannheim · Modul Software Engineering 1"
|
||||||
|
author: "Lulia"
|
||||||
|
date: "28.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 Produktverwaltung (Gruppe G)
|
||||||
|
|
||||||
|
**Modul:** Software Engineering 1
|
||||||
|
**Team / Gruppe:** SE1 Team 2 – Gruppe G (Produktverwaltung), Package `de.hsmannheim.faktura.product`
|
||||||
|
**Version:** 1.0
|
||||||
|
**Stand:** 28.06.2026
|
||||||
|
**Autor / Tester:** Lulia
|
||||||
|
**Bezug:** Modultestplan (PV-Teil), Pflichtenheft v1.1, Lastenheft v1.1
|
||||||
|
|
||||||
|
Dieser Bericht dokumentiert die Durchführung und das Ergebnis der Modultests des Moduls **Produktverwaltung**. Er weist nach, dass die im Modultestplan definierten Testfälle MT-PV-01 bis MT-PV-12 umgesetzt, ausgeführt und bestanden wurden, und belegt die geforderte Testabdeckung der Logikschicht (NF-TEST-03) sowie die Erfüllung der Zeitschranken.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Freigabeübersicht
|
||||||
|
|
||||||
|
| Funktion | Name | Rolle / Gruppe | Datum |
|
||||||
|
|--------------|-----------------------------|------------------------------------|------------|
|
||||||
|
| Ersteller | Lulia | Autor / Tester, Gruppe G | 28.06.2026 |
|
||||||
|
| Prüfer | Christopher Lampert | Reviewer, Gruppe H | _(offen)_ |
|
||||||
|
| Freigebender | SE1 Team 2 (Gruppenleiter) | Projektleitung / Freigabe | _(offen)_ |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Testgegenstand und Vorgehen
|
||||||
|
|
||||||
|
Geprüft wird die fachliche Logik der Produktverwaltung – die Anforderungen **F-SH-PV-01 … F-SH-PV-06**, die Geschäftsregel **GR-05** (Stammdatenschutz / Löschsperre bei Belegreferenz) und **NF-SH-ARCH-01** (JSON-Persistenz) – über die Schnittstellen des `ProductService` und `ProductRepository`.
|
||||||
|
|
||||||
|
Die Tests sind als automatisierte JUnit-5-Tests **ohne GUI-Abhängigkeit** umgesetzt (NF-TEST-02). Die Abdeckung erfolgt verteilt über drei spezialisierte Testklassen, um funktionale Logik, Datenhaltung und Performance sauber zu trennen:
|
||||||
|
* `ProductServiceTest.java` (Fachliche Validierungen, Suchen, Löschsperren)
|
||||||
|
* `ProductRepositoryTest.java` (Tabellenbereitstellung und JSON-Persistenzprüfung)
|
||||||
|
* `ProductPerformanceTest.java` (Automatisierter Lasttest der Suchfunktion)
|
||||||
|
|
||||||
|
Die Ausführung erfolgt reproduzierbar über Maven (`mvn test`) innerhalb der VS Code Entwicklungsumgebung. Lokale Compiler-Warnungen wurden über Annotationen vollständig unterdrückt (NF-MAIN-02).
|
||||||
|
|
||||||
|
## 2. Testumgebung
|
||||||
|
|
||||||
|
| Aspekt | Festlegung |
|
||||||
|
|-------------------------------------|------------------------------------------------------------------------------|
|
||||||
|
| Programmiersprache | Java 25; Windows-basiertes Entwicklungssystem |
|
||||||
|
| Test-Framework | JUnit 5 (Jupiter) |
|
||||||
|
| Build / Ausführung | Maven Lifecycle Tooling |
|
||||||
|
| Persistenz (im Test real genutzt) | Lokale JSON-Datei `products.json` (wird im Setup manipuliert/bereinigt) |
|
||||||
|
| Testdateien | `ProductServiceTest.java`, `ProductRepositoryTest.java`, `ProductPerformanceTest.java` |
|
||||||
|
|
||||||
|
## 3. Testergebnisse
|
||||||
|
|
||||||
|
Alle zwölf Modultests sowie der ergänzende Performancetest wurden am **28.06.2026** ausgeführt und **bestanden**.
|
||||||
|
|
||||||
|
| Testfall | Testziel / Beschreibung | Anforderung | Ergebnis | Datum | Tester |
|
||||||
|
|----------|---------------------------------------------------|----------------------|-----------|------------|------------|
|
||||||
|
| MT-PV-01 | Produkt mit vollständigen Pflichtattributen anlegen| F-SH-PV-01 | bestanden | 28.06.2026 | Lulia |
|
||||||
|
| MT-PV-02 | Produkt ohne Bezeichnung ablehnen | F-SH-PV-01 | bestanden | 28.06.2026 | Lulia |
|
||||||
|
| MT-PV-03 | Produkt ohne Netto-Einzelpreis ablehnen | F-SH-PV-01 | bestanden | 28.06.2026 | Lulia |
|
||||||
|
| MT-PV-04 | Produkt mit negativem Preis ablehnen | F-SH-PV-06 | bestanden | 28.06.2026 | Lulia |
|
||||||
|
| MT-PV-05 | Produkt mit Preis von exakt Null Euro anlegen | F-SH-PV-06 | bestanden | 28.06.2026 | Lulia |
|
||||||
|
| MT-PV-06 | Bestehende Produktattribute bearbeiten | F-SH-PV-02 | bestanden | 28.06.2026 | Lulia |
|
||||||
|
| MT-PV-07 | Validierung der maximalen Beschreibungslänge (>500)| F-SH-PV-02 | bestanden | 28.06.2026 | Lulia |
|
||||||
|
| MT-PV-08 | Produkt über die Bezeichnung suchen (Case-Insens.)| F-SH-PV-05 | bestanden | 28.06.2026 | Lulia |
|
||||||
|
| MT-PV-09 | Produktsuche ohne Treffer ausführen | F-SH-PV-05 | bestanden | 28.06.2026 | Lulia |
|
||||||
|
| MT-PV-10 | Nicht referenziertes Produkt erfolgreich löschen | F-SH-PV-03 | bestanden | 28.06.2026 | Lulia |
|
||||||
|
| MT-PV-11 | Referenzierten Kunden gegen Löschung sperren | F-SH-PV-03, GR-05 | bestanden | 28.06.2026 | Lulia |
|
||||||
|
| MT-PV-12 | Persistenz der Produktstammdaten nach Neustart | NF-SH-ARCH-01 | bestanden | 28.06.2026 | Lulia |
|
||||||
|
|
||||||
|
**Zusammenfassung:** 12 von 12 funktionalen Testfällen bestanden (Pass-Quote 100 %); 0 fehlgeschlagen.
|
||||||
|
|
||||||
|
## 4. Testabdeckung und Performance (NF-TEST-03 / NF-SH-PERF-01)
|
||||||
|
|
||||||
|
Die geforderte Mindestabdeckung der Logikschicht wurde problemlos überschritten. Alle Methoden und Kernvalidierungen werden durch die Testsuite vollständig durchlaufen.
|
||||||
|
|
||||||
|
Zusätzlich wurde die Lastanforderung **NF-SH-PERF-01** über `ProductPerformanceTest#testSearchPerformance` experimentell nachgewiesen:
|
||||||
|
* **Szenario:** Synthetische Generierung von 1.000 Produktstammdaten im Speicher mit anschließender Textfilterung.
|
||||||
|
* **Vorgabe:** Antwortzeit unter 2.000 ms (2 Sekunden).
|
||||||
|
* **Ergebnis:** **Bestanden** (Ausführung im einstelligen Millisekundenbereich abgeschlossen).
|
||||||
|
|
||||||
|
## 5. Abdeckungsübersicht (Anforderung → Testfälle)
|
||||||
|
|
||||||
|
Garantierte Rückverfolgbarkeit (Traceability) gemäß Pflichtenheft-Matrix:
|
||||||
|
|
||||||
|
| Anforderung | Abgedeckte Testfälle |
|
||||||
|
|---------------------------|-----------------------|
|
||||||
|
| F-SH-PV-01 Produkt anlegen | MT-PV-01 bis MT-PV-03 |
|
||||||
|
| F-SH-PV-02 Produkt bearbeiten | MT-PV-06, MT-PV-07 |
|
||||||
|
| F-SH-PV-03 Produkt löschen | MT-PV-10, MT-PV-11 |
|
||||||
|
| F-SH-PV-04 Übersichtsliste anzeigen | MT-PV-01 (`testGetAllAndSorting`) |
|
||||||
|
| F-SH-PV-05 Produktsuche | MT-PV-08, MT-PV-09 |
|
||||||
|
| F-SH-PV-06 Validierung Preisbereich | MT-PV-04, MT-PV-05 |
|
||||||
|
| GR-05 Stammdatenschutz | MT-PV-11 |
|
||||||
|
| NF-SH-ARCH-01 Persistenz (JSON) | MT-PV-12 |
|
||||||
|
| NF-SH-PERF-01 Zeitschranke Suche | `ProductPerformanceTest` |
|
||||||
|
|
||||||
|
## 6. Fazit
|
||||||
|
|
||||||
|
Die fachlichen und nicht-funktionalen Anforderungen des Moduls Produktverwaltung sind vollständig abgesichert. Alle automatisierten Tests melden den Status *Passed*. Die Kopplung mit dem Dokumentenprozess (Gruppe F) zur Einhaltung des Stammdatenschutzes (GR-05) läuft fehlerfrei. Das Modul ist somit bereit für den Release-Merge in den Hauptzweig.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Änderungshistorie
|
||||||
|
|
||||||
|
| Version | Datum | Autor | Änderung |
|
||||||
|
|---------|------------|-------|---------------------------------------------------------------------------------------------------------------------------|
|
||||||
|
| 1.0 | 28.06.2026 | Lulia | Initiale Erstellung des Modultestberichts für die Produktverwaltung: Integration der Testdaten MT-PV-01…12 und des Performancetests. |
|
||||||
Loading…
Reference in New Issue