Betrieb & Sicherheit · Qualitätssicherung
dbxSelfTest ausführen und Ergebnisse verstehen
dbxSelfTest prüft eine Installation reproduzierbar aus dem Adminbereich oder per Kommandozeile. Der Testkatalog wird aus dem tatsächlich installierten System aufgebaut, jeder Lauf dauerhaft protokolliert und jedes Ergebnis bis zur einzelnen Prüfung nachvollziehbar angezeigt.
SelfTest öffnen
Melden Sie sich als Administrator an und wählen Sie
System → System-Selbsttest. Der direkte interne Aufruf lautet
?dbx_modul=dbxSelfTest&dbx_run1=dashboard.
Die Übersicht zeigt Anzahl und Bereiche der erkannten Tests, den aktuellen Lauf, den
filterbaren Testkatalog und die letzten Ergebnisse.
Welcher Lauf ist der richtige?
Schnelltest
Kurzer Betriebscheck für Laufzeit, Schutzregeln, Einstiegspunkte, Cache und alle als schnell markierten Modulprüfungen.Kompletttest
Führt den gesamten vorhandenen Katalog aus und ergänzt unter anderem PHP- und JavaScript-Syntax sowie Composer-Prüfungen.Auswahl testen
Führt nur die im Katalog markierten Prüfungen aus. Filter nach Name, Datei oder Bereich erleichtern die gezielte Regression.Einzeltest
Startet genau eine Prüfung und eignet sich zur Diagnose nach einer Korrektur.Die angezeigte Testanzahl ist absichtlich dynamisch. Ein kompaktes Produktionspaket enthält vor allem die integrierten Systemprüfungen; eine Entwicklungsinstallation erkennt zusätzlich die PHP- und JavaScript-Tests der vorhandenen Module. Entscheidend ist deshalb nicht eine feste Zahl, sondern dass der erkannte Katalog vollständig und ohne Fehler durchläuft.
Was wird geprüft?
- Laufzeit: PHP 8.2 oder neuer, benötigte Erweiterungen und sichere Prozessausführung.
- Dateisystem: erforderliche Verzeichnisse, lokale Konfiguration und Schutz vor ausgelieferten Geheimnissen.
- Module und Verträge: Einstiegspunkte, DD/FD-, Template-, Routing- und Sicherheitsverträge der installierten Komponenten.
- Syntax: alle eigenen PHP-Dateien sowie – wenn Node.js vorhanden ist – alle eigenen JavaScript-Dateien.
- Browser-Verhalten: JavaScript-Tests mit DOM, Ereignissen und UI-Verhalten laufen im Web-Dashboard in einem isolierten, unsichtbaren Browserrahmen.
- Abhängigkeiten: Composer-Konfiguration und, sofern das Werkzeug erreichbar ist, der Composer-Sicherheitsaudit.
- Integrität: Konfliktmarker und die Konsistenz des Gastseiten-Caches.
JavaScript ohne Node.js auf dem Webserver
Node.js ist für den Onlinebetrieb nicht erforderlich. Beim Start im Web-Dashboard übernimmt
der bereits geöffnete Browser die JavaScript-Verhaltenstests. Dadurch lassen sich DOM,
Ereignisse und Benutzerinteraktionen in der realen Browserumgebung prüfen. Die umfassende
JavaScript-Syntaxprüfung des gesamten Dateibaums verwendet dagegen node --check;
fehlt Node.js, wird genau diese Prüfung nachvollziehbar als übersprungen gemeldet und nicht als
Systemfehler gewertet. Für Release- und Entwicklungsrechner wird Node.js empfohlen.
Lauf beobachten, stoppen und fortsetzen
- StartenProfil oder Auswahl bestätigen. Fortschritt, aktueller Test und Zähler werden laufend aktualisiert.
- Details öffnenJede Prüfung zeigt Status, Dauer, Exit-Code und Ausgabe. Fehler bleiben damit reproduzierbar.
- Kontrolliert stoppen„Lauf stoppen“ beendet nach dem aktuellen Arbeitsschritt. Bereits protokollierte Ergebnisse bleiben erhalten.
- FortsetzenEin unterbrochener Lauf kann ab dem nächsten noch offenen Test fortgesetzt werden. Veraltete laufende Protokolle werden nach zehn Minuten als unterbrochen erkannt.
- ExportierenÜber „JSON“ steht der vollständige, maschinenlesbare Bericht für Support, Archiv oder CI-Auswertung bereit.
Status richtig lesen
- Bestanden: Die Prüfung hat ihren definierten Vertrag erfüllt.
- Fehler: Details und Ausgabe prüfen, Ursache beheben und zunächst den Einzeltest wiederholen.
- Übersprungen: Eine optionale Laufzeit wie Node.js oder Composer war nicht verfügbar. Beurteilen Sie, ob sie für Ihren Einsatz benötigt wird.
- Läuft: Der Lauf ist aktiv. Bei langen Syntax- oder Integritätsprüfungen kann ein einzelner Schritt sichtbar länger dauern.
- Unterbrochen: Browser, PHP-Prozess oder Server wurde beendet. Der Lauf kann fortgesetzt oder neu gestartet werden.
Kommandozeile und Automatisierung
php dbx/modules/dbxSelfTest/tools/run.php --profile=quick
php dbx/modules/dbxSelfTest/tools/run.php --profile=full
php dbx/modules/dbxSelfTest/tools/run.php --test=<test-id>
php dbx/modules/dbxSelfTest/tools/run.php --profile=full --json
Der CLI-Lauf eignet sich für Deployment-Skripte und geplante Prüfungen. Für JavaScript- Browsertests bleibt das Web-Dashboard die maßgebliche Umgebung; auf Build-Rechnern ergänzt Node.js die vollständige Syntaxprüfung.
Protokolle und Datenschutz
Laufberichte liegen als JSON unter files/sys/selftest. Die Historie behält die
letzten 20 Läufe. Die Schnittstellen akzeptieren ausschließlich serverseitig erkannte
Testkennungen und schützen ändernde Aktionen mit Aktionstokens; eine Anfrage kann keinen
beliebigen Shell-Befehl einschleusen. Trotzdem sollen Testausgaben niemals Passwörter,
Tokens oder vollständige lokale Konfigurationen enthalten.
Empfohlener Abnahmeablauf
- Schnelltest ausführen und alle Fehler klären.
- Kompletttest bis zum abgeschlossenen Endstatus laufen lassen.
- Übersprungene Prüfungen bewusst bewerten und bei Bedarf Node.js oder Composer bereitstellen.
- Fehler per Einzeltest reproduzieren, korrigieren und den Kompletttest wiederholen.
- JSON-Bericht zusammen mit Versionsnummer, Backup-Nachweis und manueller Abnahme archivieren.