# ASSESSOR – Testbaseline Stand: 2026-07-17 Zugehörige Planphase: Phase 1 – bestehenden Funktionsumfang und Testkorpus absichern ## Zweck Diese Baseline hält fest, welche gegenwärtigen Funktionen automatisiert geprüft werden und welche Nachweise für den Abschluss von Phase 1 noch fehlen. Sie beschreibt den aktuellen Stand, nicht den vollständigen späteren Zielumfang. ## Verifikationsbefehle - `npm test`: Modultests und Local-only-Sicherheitsprüfung - `npm run build`: TypeScript-Prüfung und Vite-Produktionsbuild Verifizierter Stand am 2026-07-17: - 22 Testdateien erfolgreich - 55 Tests erfolgreich - Local-only-Sicherheitsprüfung erfolgreich - Produktionsbuild erfolgreich - bekannte Buildwarnung: JavaScript-Hauptchunk größer als 500 kB, hauptsächlich durch die gebündelte Excel-Verarbeitung ## Formatabdeckung | Format | Positivfall | Negativ- oder Sicherheitsfall | Status | |---|---|---|---| | CSV | Trennzeichenerkennung, Quotes und mehrzeilige Zellen | leere Eingabe und Leerzeilen | automatisiert | | JSON | verschachtelte Objekte und Objektarrays | syntaktisch ungültiges JSON | automatisiert | | XML | Pfade, Attribute und direkte Textwerte | syntaktisch ungültiges XML | automatisiert | | HTML | mehrere benannte Tabellen und Text-Fallback | aktive Inhalte werden vor der Extraktion entfernt | automatisiert | | XLS/XLSX | Tabelleninhalt und versteckte Sheets | leere Arbeitsmappe und keine Offenlegung von Formeln | automatisiert | Die HTML- und XML-Tests laufen mit `jsdom` als reiner Entwicklungsabhängigkeit. Die Produktionsanwendung verwendet weiterhin die DOM-APIs ihres lokalen WebViews. ## Automatisierte Funktionsabdeckung ### Import und Analyse - CSV-, JSON-, XML-, HTML- und Excel-Grundimport - Kopfzeilen- und Schemaanalyse - Spaltenprofilierung - stabile Datensatz- und Sheet-IDs - englische und deutsche Titelhinweise - Purple-Knight-Erkennung und Standardverhalten - Ergebnisdateiverknüpfung - Mehrdateiimport und Projektzusammenführung - vollständiger Workflow von Suche über Review und Dashboard bis zum Snapshot-Roundtrip - Importbaseline mit 5.000 CSV-Findings und beschädigtem XLSX-Container - kanonisches Assessment- und Finding-Modell mit Pilotquellen-Abbildung - Trennung von Finding-Definition, Scan-Vorkommen, Originalwerten, normalisierten Werten und Reviews - Validierung fachlicher Referenzen und Modellinvarianten ### Darstellung und Interaktion - Finding-Karten - Finding-Reader - Kachelansicht - Filterlogik - MITRE-Graph-Grundlogik Diese Tests prüfen gegenwärtig überwiegend Logik und statisches Rendering. Der reproduzierbare Gesamtworkflow und die Entscheidung zu späteren Browser-End-to-End-Tests sind in `docs/USER_FLOW_CHECKS.md` dokumentiert. ### Reviews und Persistenz - Review-Speicherung - Review-State-Aktualisierung - Snapshot-Speicherung Die gegenwärtige Persistenz ist noch die lokale Einzelplatzlösung. Backend- und PostgreSQL-Persistenz gehören zu späteren Planphasen. ### Exporte - HTML-Dashboard-Export - Snapshot-bezogene Logik Weitere Exportformate und vollständige Roundtrip-Prüfungen müssen im Verlauf von Phase 1 beziehungsweise den späteren Fachphasen ergänzt werden. ### Sicherheitsbaseline Die automatische Local-only-Prüfung kontrolliert insbesondere: - keine verbotenen Netzwerk-APIs im Anwendungscode - keine externen Assets in `index.html` - minimale Tauri-Capabilities - keine zusätzlichen produktiven Laufzeitabhängigkeiten - keine Formel- oder VBA-Extraktion bei Excel-Importen ## Vorhandene synthetische Fixtures - Purple Knight: `fixtures/purple-knight/indicator-results.synthetic.json` - generische Tabellenquelle: `fixtures/generic/findings.synthetic.csv` - PingCastle: `fixtures/pingcastle/healthcheck.synthetic.html` - CIS-CAT: `fixtures/cis-cat/assessment.synthetic.html` - Maester: `fixtures/maester/test-results.synthetic.csv` Die Herleitung aus offiziellen Dokumentationen beziehungsweise offiziellen Repositories und die Grenzen der synthetischen Dateien sind in `fixtures/README.md` festgehalten. Die drei neuen Fixtures werden über den vollständigen generischen Importweg automatisiert geprüft. Werkzeugspezifische semantische Profile bleiben ausdrücklich Phase 6. ## Abschlussnachweis für Phase 1 Die Abnahmekriterien von Phase 1 sind erfüllt: 1. alle unterstützten Formate besitzen positive und negative beziehungsweise sicherheitsrelevante Tests, 2. die wichtigsten aktuellen Benutzerabläufe sind automatisiert oder reproduzierbar dokumentiert, 3. der Pilotquellenkorpus ist synthetisch und ohne Unternehmensdaten vorhanden, 4. `npm test` und `npm run build` laufen reproduzierbar erfolgreich. Reale Kundendaten oder vertrauliche Assessment-Berichte dürfen nicht ungeprüft als Fixtures in das Repository aufgenommen werden. ## Pflege Nach materiellen Änderungen an Importern, Profilen, Vergleich, Persistenz oder Exporten ist diese Baseline zu prüfen. Testzahlen werden nur nach einem erfolgreichen vollständigen Lauf aktualisiert.