Assessor_2.0/docs/TEST_BASELINE.md

4.9 KiB
Raw Permalink Blame History

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.