Commit
parent
66085831b8
commit
d0a53379db
|
|
@ -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. |
|
||||||
|
|
@ -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
|
|
||||||
}
|
|
||||||
|
|
@ -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"
|
|
||||||
} ]
|
|
||||||
Loading…
Reference in New Issue