SE1_Team_2/Unterlagen/Modultestbericht/Modultestbericht_GUI_Gruppe...

172 lines
7.9 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.

# 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-0112, JUnit-Protokoll, Coverage-Nachweis (NF-TEST-03), Abdeckungsübersicht. |