4.3 KiB
ASSESSOR – Prüfläufe für Benutzerabläufe
Stand: 2026-07-17 Zugehörige Planphase: Phase 1 – bestehenden Funktionsumfang und Testkorpus absichern
Ziel
Dieses Dokument trennt automatisierte Fachabläufe von manuellen Browserprüfungen und legt fest, wann echte Browser-End-to-End-Tests eingeführt werden.
Automatisierter Assessment-Ablauf
Der Test tests/workflows/assessment-workflow.test.ts prüft zusammenhängend:
- Import einer CSV- und einer JSON-Datei
- Zusammenführung beider Dateien zu einem Projekt
- Erhaltung von Quelldatei und Quellblatt
- Suche nach einem Finding über den kombinierten Datenbestand
- Aufnahme des Findings in die Actionlist
- Pflege von Status, Priorität, Owner und nächstem Schritt
- Filterung auf markierte Actionlist-Einträge
- Erzeugung des HTML-Management-Dashboards
- Erzeugung und erneutes Einlesen eines Snapshots
- Erhaltung der Reviewdaten nach dem Snapshot-Roundtrip
Der Ablauf prüft die Fachmodule ohne React- oder Tauri-Abhängigkeit. Damit bildet er die Grundlage für die spätere Server- und Datenbankmigration.
Import- und Belastungsbaseline
Automatisch geprüft werden außerdem:
- generische CSV-Fixture über die vollständige Importpipeline
- Windows-1252-Fallback bei ungültigem UTF-8
- Ablehnung vollständig leerer Dateien
- Import von 5.000 CSV-Findings ohne Zeilenverlust
- kontrollierte Ablehnung eines abgeschnittenen XLSX-ZIP-Containers
- Entfernung aktiver HTML-Inhalte
- Ablehnung syntaktisch ungültiger XML- und JSON-Inhalte
- keine Offenlegung von Excel-Formeln als importierter Zellinhalt
Die Grenze von 5.000 Findings bleibt die verifizierte UI-Testbaseline. Die verbindlichen Import-, Parser- und Speichergrenzen stehen in docs/IMPORT_SECURITY_LIMITS.md; zusätzlich prüft der Lasttest einen Import mit 30.000 Datensätzen.
Manueller Browser-Prüflauf
Bis Browser-End-to-End-Tests eingeführt werden, soll bei größeren UI-, Import- oder Exportänderungen folgender Ablauf manuell geprüft werden:
- Anwendung im Entwicklungsmodus starten.
fixtures/generic/findings.synthetic.csvimportieren.- Zusätzlich eine zweite synthetische Datei importieren.
- Kontrollieren, dass Projekt- und Quellansichten vorhanden sind.
- Nach
Syntheticsuchen und Trefferanzahl prüfen. - Nach Severity oder einem numerischen Feld sortieren.
- Ein Finding in die Actionlist aufnehmen.
- Status, Priorität, Owner, Frist und nächsten Schritt pflegen.
- Auf die Actionlist-Ansicht filtern.
- HTML-Dashboard erzeugen und auf maskierte beziehungsweise escaped Werte prüfen.
- Snapshot exportieren und erneut einlesen.
- Kontrollieren, dass Findings und Reviewdaten erhalten bleiben.
- Anwendung neu laden und die erwartete lokale Reviewpersistenz prüfen.
- Local-only-Verhalten kontrollieren: keine externen Requests und keine externen Assets.
Ergebnisse eines manuellen Prüflaufs sollen bei Releases mit Datum, geprüfter Version und Abweichungen dokumentiert werden.
Entscheidung zu Browser-End-to-End-Tests
Browser-End-to-End-Tests sind für ASSESSOR erforderlich, werden aber nicht als Teil der gegenwärtigen Parser-Baseline eingeführt.
Begründung:
- Die Fachlogik ist bereits ohne UI automatisiert prüfbar.
- Die Oberfläche befindet sich noch im Übergang von Tauri zu einer plattformneutralen Browserarchitektur.
- Zu frühe UI-Automatisierung würde stark an temporäre DOM-Strukturen und Tauri-Verhalten gekoppelt.
- Nach Phase 4 können dieselben Tests gegen Browser- und optionale Tauri-Ausführung verwendet werden.
Einführungspunkt:
- spätestens nach Abschluss von Phase 4
- zwingend vor Abschluss von Phase 10 und vor dem Firmenbetrieb
Mindestens zu automatisierende Browserabläufe:
- Einzel- und Mehrdateiauswahl
- Importvorschau und Fehlerdarstellung
- Wechsel zwischen Projekt- und Quelltabellen
- Suche, Filter und Sortierung
- Review- und Actionlist-Bearbeitung
- Exportdownload
- Snapshot-Wiederherstellung
- Persistenz nach Neuladen
- Tastaturbedienung der zentralen Dialoge und Tabellen
- Nachweis, dass importiertes HTML nicht aktiv ausgeführt wird
Noch nicht abgedeckt
Für den Abschluss von Phase 1 fehlen weiterhin belastbare synthetische oder freigegebene Fixtures für:
- PingCastle
- CIS-CAT
- Maester
Reale Kunden- oder Assessment-Daten dürfen nur nach ausdrücklicher Freigabe und vollständiger Anonymisierung in den Testkorpus aufgenommen werden.