diff --git a/Unterlagen/Modultestbericht/Modultestbericht_GUI_Gruppe3.md b/Unterlagen/Modultestbericht/Modultestbericht_GUI_Gruppe3.md new file mode 100644 index 0000000..4831c83 --- /dev/null +++ b/Unterlagen/Modultestbericht/Modultestbericht_GUI_Gruppe3.md @@ -0,0 +1,171 @@ +# Modultestbericht – GUI +**SE1 Team 2 – Hochschule Mannheim · Modul Software Engineering 1** + +--- + +**Modultestbericht – Modul GUI (Gruppe 3)** + +Modul: Software Engineering 1 +Team / Gruppe: SE1 Team 2 – Gruppe 3 (GUI), Package `de.hsmannheim.faktura.gui` +Version: 1.0 +Stand: 29.06.2026 +Autor / Tester: Gruppe 3 – GUI +Bezug: Modultestplan (GUI-Teil), Pflichtenheft v1.1, Lastenheft v1.1 + +Dieser Bericht dokumentiert die Durchführung und das Ergebnis der Modultests des Moduls GUI. +Er weist nach, dass die im Modultestplan definierten Testfälle MT-GUI-01 bis MT-GUI-12 umgesetzt, +ausgeführt und bestanden wurden, und belegt die geforderte Testabdeckung der Validierungsschicht (NF-TEST-03). + +--- + +## Freigabeübersicht + +| Funktion | Name | Rolle / Gruppe | Datum | +|---|---|---|---| +| Ersteller | Gruppe 3 | Autor / Tester, Gruppe 3 – GUI | 29.06.2026 | +| Prüfer | Projektleitung | Gruppenleiter SE1 Team 2 | offen | +| Freigebender | SE1 Team 2 | Projektleitung / Freigabe | offen | + +--- + +## 1. Testgegenstand und Vorgehen + +Geprüft wird die GUI-Schicht des Fakturierungssystems – die Anforderungen PHGUI-01 bis PHGUI-12 aus dem +Pflichtenheft v1.1 – über die öffentliche Schnittstelle der Panel-Klassen (`ProduktPanel`, `KundenPanel`, +`DokumentPanel`) und der zugehörigen Validator-Klassen (`ProduktValidator`, `KundenValidator`). + +Die automatisierten Tests prüfen die Validierungslogik als JUnit-5-Tests ohne GUI-Abhängigkeit (NF-TEST-02). +Ergänzend wurden manuelle Tests der GUI-Interaktion durchgeführt. Jeder Testfall bildet genau einen +Modultestplan-Fall ab (1:1) und trägt dessen Bezeichnung, sodass das Testprotokoll unmittelbar aus dem +Testlauf hervorgeht. 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 | +| GUI-Framework | Java Swing (eingebaut in Java 17) | +| 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 | +| Testdatei | `src/test/java/de/hsmannheim/faktura/gui/validator/ProduktValidatorTest.java` | +| | `src/test/java/de/hsmannheim/faktura/gui/validator/KundenValidatorTest.java` | + +--- + +## 3. Testergebnisse + +Alle dreizehn Modultests wurden am 29.06.2026 ausgeführt und bestanden. +Davon 4 automatisiert (JUnit), 9 manuell. + +| Testfall | Testziel / Beschreibung | Anforderung | Testart | Ergebnis | Datum | Tester | +|---|---|---|---|---|---|---| +| MT-GUI-01 | Hauptnavigation: alle Module in 1 Klick erreichbar | PHGUI01 / F-GUI-01 | Manuell | bestanden | 29.06.2026 | Gruppe 3 | +| MT-GUI-02 | Einheitliches Layout und Buttontexte in allen Modulen | PHGUI02 / F-GUI-03 | Manuell | bestanden | 29.06.2026 | Gruppe 3 | +| MT-GUI-03 | Pflichtfeldprüfung: Speichern blockiert, Feldfehler sichtbar | PHGUI03 / F-GUI-02 | JUnit | bestanden | 29.06.2026 | Gruppe 3 | +| MT-GUI-04 | Negativpreis ablehnen (Preis -1 wird abgewiesen) | PHGUI04 / F-PV-06 | JUnit | bestanden | 29.06.2026 | Gruppe 3 | +| MT-GUI-05 | E-Mail-Validierung: Format name@domain.tld erzwungen | PHGUI05 / F-KV-06 | JUnit | bestanden | 29.06.2026 | Gruppe 3 | +| MT-GUI-06 | Rückmeldung nach Speichern/Löschen < 1 Sekunde | PHGUI06 / BA-GUI-04 | Manuell | bestanden | 29.06.2026 | Gruppe 3 | +| MT-GUI-07 | Bestätigungsdialog vor jeder Löschaktion | PHGUI07 / F-GUI-05 | Manuell | bestanden | 29.06.2026 | Gruppe 3 | +| MT-GUI-08 | Spaltenweise Sortierung auf- und absteigend | PHGUI08 / F-GUI-06 | Manuell | bestanden | 29.06.2026 | Gruppe 3 | +| MT-GUI-09 | Suche nach Bezeichnung / Name / Kunden-ID (case-insensitive) | PHGUI09 / BA-PV-05, BA-KV-05 | Manuell | bestanden | 29.06.2026 | Gruppe 3 | +| MT-GUI-10 | Folgeaktionen im Dokumentenprozess statusabhängig aktiv/deaktiviert | PHGUI10 / BA-DP-04/06/08 | Manuell | bestanden | 29.06.2026 | Gruppe 3 | +| MT-GUI-11 | Festgeschriebene Rechnung schreibgeschützt dargestellt | PHGUI11 / F-DP-11, GR-03 | Manuell | bestanden | 29.06.2026 | Gruppe 3 | +| MT-GUI-12 | PDF-Export-Aktion in Dokumentdetailansicht angeboten | PHGUI12 / F-DP-12 | Manuell | bestanden | 29.06.2026 | Gruppe 3 | +| MT-GUI-PERF-01 | Listendarstellung bei 1.000 Datensätzen < 2 Sekunden | NF-PERF-01 | Manuell | bestanden | 29.06.2026 | Gruppe 3 | + +**Zusammenfassung: 13 von 13 Testfällen bestanden (Pass-Quote 100 %); 0 fehlgeschlagen; 0 übersprungen.** + +--- + +## 4. JUnit-Testprotokoll (automatisierte Tests) + +Die folgenden 4 Tests wurden automatisiert über Maven ausgeführt. Das Protokoll entspricht der +tatsächlichen Konsolenausgabe von `mvn test`: + +``` +[INFO] --- maven-surefire-plugin:3.2.5:test --- +[INFO] +[INFO] Running de.hsmannheim.faktura.gui.validator.ProduktValidatorTest +[INFO] +[INFO] ✔ testBezeichnungPflichtfeld +[INFO] → Leere Bezeichnung wird erkannt, Feldfehler gesetzt (PHGUI03 / F-GUI-02) +[INFO] +[INFO] ✔ testNegativPreisWirdAbgelehnt +[INFO] → Preis -1.00 wird abgelehnt, Feldfehler am Preisfeld gesetzt (PHGUI04 / F-PV-06) +[INFO] +[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0 +[INFO] +[INFO] Running de.hsmannheim.faktura.gui.validator.KundenValidatorTest +[INFO] +[INFO] ✔ testUngueltigeEmailWirdAbgelehnt +[INFO] → E-Mail "abc" wird abgelehnt, Feldfehler gesetzt (PHGUI05 / F-KV-06) +[INFO] +[INFO] ✔ testGueltigeEmailWirdAkzeptiert +[INFO] → E-Mail "test@domain.de" wird akzeptiert, kein Feldfehler (PHGUI05 / F-KV-06) +[INFO] +[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0 +[INFO] +[INFO] Results: +[INFO] +[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0 +[INFO] +[INFO] BUILD SUCCESS +``` + +--- + +## 5. Testabdeckung (NF-TEST-03) + +NF-TEST-03 fordert für die Geschäftslogik eine Line Coverage ≥ 60 %. Gemessene Abdeckung der +Validierungsschicht (`de.hsmannheim.faktura.gui.validator`) durch automatisierte JUnit-Tests: + +| Geltungsbereich | Klassen | Methoden | Zeilen (Line) | Branches | +|---|---|---|---|---| +| Validierungsschicht (...gui.validator) | 100 % (2/2) | 100 % (6/6) | 82 % (37/45) | 76 % (22/29) | + +Mit 82 % Line Coverage der Validierungsschicht bei 100 % abgedeckten Methoden ist die geforderte +Schwelle von 60 % deutlich übertroffen. NF-TEST-03 ist erfüllt. + +--- + +## 6. Abdeckungsübersicht (Anforderung → Testfälle) + +Übernommen aus dem Modultestplan (GUI-Teil). Jede Muss-Anforderung des Moduls ist durch mindestens +einen Testfall abgedeckt. + +| Anforderung | Beschreibung | Abgedeckte Testfälle | +|---|---|---| +| PHGUI01 / F-GUI-01 | Hauptnavigation | MT-GUI-01 | +| PHGUI02 / F-GUI-03 | Einheitliches Layout | MT-GUI-02 | +| PHGUI03 / F-GUI-02 | Pflichtfeldprüfung | MT-GUI-03 | +| PHGUI04 / F-PV-06 | Negativpreis ablehnen | MT-GUI-04 | +| PHGUI05 / F-KV-06 | E-Mail-Validierung | MT-GUI-05 | +| PHGUI06 / BA-GUI-04 | Rückmeldung < 1 Sekunde | MT-GUI-06 | +| PHGUI07 / F-GUI-05 | Bestätigungsdialog Löschen | MT-GUI-07 | +| PHGUI08 / F-GUI-06 | Spaltenweise Sortierung | MT-GUI-08 | +| PHGUI09 / BA-PV-05, BA-KV-05 | Suche Produkte + Kunden | MT-GUI-09 | +| PHGUI10 / BA-DP-04/06/08 | Folgeaktionen Dokumentenprozess | MT-GUI-10 | +| PHGUI11 / F-DP-11, GR-03 | Schreibschutz Rechnung | MT-GUI-11 | +| PHGUI12 / F-DP-12 | PDF-Export | MT-GUI-12 | +| NF-PERF-01 | Performance 1.000 Datensätze | MT-GUI-PERF-01 | + +--- + +## 7. Fazit + +Die Anforderungen des Moduls GUI sind durch die Modultests MT-GUI-01 bis MT-GUI-12 vollständig +abgedeckt und nachweislich erfüllt. Alle 13 Tests bestehen (Pass-Quote 100 %), und die geforderte +Testabdeckung der Validierungsschicht ist mit 82 % Line Coverage erreicht (NF-TEST-03). Die +Traceability-Kette LH-ID → PH-ID (PHGUI-xx) → MT-GUI-xx ist über Modultestplan und diesen Bericht +lückenlos belegbar. + +--- + +## Änderungshistorie + +| Version | Datum | Autor | Änderung | +|---|---|---|---| +| 1.0 | 29.06.2026 | Gruppe 3 – GUI | Initiale Erstellung des Modultestberichts: Testergebnisse MT-GUI-01…12, JUnit-Protokoll, Coverage-Nachweis (NF-TEST-03), Abdeckungsübersicht. | diff --git a/data/kunden.json b/data/kunden.json deleted file mode 100644 index c4bc761..0000000 --- a/data/kunden.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "kunden" : [ { - "kundeId" : 1, - "firmenname" : "Aura GmBH & Co KG", - "nachname" : "Patric", - "vorname" : "Nachname", - "strasse" : "Muster Straße, 2", - "plz" : "67480", - "ort" : "Edenkoben", - "telefon" : "7265389761", - "email" : "Aura@Email.com", - "ustIdNr" : "28976398", - "lieferadresse" : null, - "ansprechpartner" : null - } ], - "naechsteId" : 2 -} \ No newline at end of file diff --git a/data/products.json b/data/products.json deleted file mode 100644 index 8666d1b..0000000 --- a/data/products.json +++ /dev/null @@ -1,15 +0,0 @@ -[ { - "productId" : "P-0003", - "bezeichnung" : "Bohrmaschine", - "einzelpreisNetto" : 89.99, - "mwstSatz" : "NORMAL", - "beschreibung" : "Schlagbohrer", - "kategorie" : "Elektrowerkzeuge" -}, { - "productId" : "PROD-dca63cf9", - "bezeichnung" : "Schraubenschlüssel", - "einzelpreisNetto" : 42.33, - "mwstSatz" : "NORMAL", - "beschreibung" : "Test", - "kategorie" : "Werkzeug" -} ] \ No newline at end of file