# 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. |