Ein Shop-Update lässt sich nicht rückgängig machen, indem man den Knopf noch einmal drückt. Wer vorher testen will, braucht eine Kopie, die der Wirklichkeit nahe genug kommt — und ein Verfahren, das Unterschiede sichtbar macht.
Zwei Gründe, und beide sind zwingend.
JTL-Shop 5 kennt keine Tabellenpräfixe. Zwei Shops passen nicht in eine Datenbank; das ist von JTL so vorgesehen und lässt sich nicht umgehen.
Ein Update verändert die Tabellenstruktur. Es fährt Migrationen, die Spalten anlegen, ändern oder entfernen. Auf der Live-Datenbank wäre das genau der Schaden, den der Test verhindern soll — und er wäre nicht durch Zurückspielen der Anwendungsdateien behoben.
Schriftlich festhalten, was überhaupt da ist: Shop-Version, installierte Plugins mit Versionsstand, Template und dessen Anpassungen, Datenmenge, PHP- und Datenbankversion. Ohne diesen Ausgangszustand lässt sich hinterher nichts vergleichen.
Eigenes Verzeichnis, eigene Datenbank, eigener Datenbankbenutzer. Die Adresse des Prüfstands wird in der Konfiguration umgebogen. Eine Unterdomain oder ein Unterordner reicht — Hauptsache getrennt vom Live-Betrieb.
Der wichtigste und der am häufigsten vergessene Schritt. Der Prüfstand darf nichts nach draußen tun:
Ein Prüfstand, der nach außen wirkt, richtet den Schaden an, den er verhindern soll.
Jetzt wird gemessen, solange noch alles funktioniert: Welche Seiten liefern welchen Umfang? Welche Template-Blöcke greifen? Welche Plugins melden sich? Das ist der Vergleichsmaßstab — und der Grund, warum der Test später überhaupt etwas beweisen kann.
Über das Backend der Box, nicht über einen Skriptaufruf oder von Hand kopierte Dateien. Sonst prüft man einen anderen Weg als den, den man später tatsächlich geht — und genau in diesem Unterschied stecken die Überraschungen.
Dieselbe Messung noch einmal. Gleiche Seiten, gleiche Kennzahlen, gleiches Verfahren.
Erst die Gegenüberstellung liefert die Antwort. Was ist verschwunden? Was hat sich im Umfang verändert? Welcher Block meldet plötzlich nichts mehr? Ein Statuscode 200 sagt an dieser Stelle gar nichts — dazu gibt es einen eigenen Beitrag.
Plugin-Lizenzen. Produktive Lizenzen werden vom Shop nicht automatisch deaktiviert, wenn er unter einer anderen Adresse läuft; im Backend erscheint lediglich ein Hinweis. Nur Testlizenzen laufen ab. Für den Prüfstand ist eine abweichende Adresse damit unkritisch.
Aufwand. Der Punkt ist nicht, den Prüfstand einmal von Hand zu bauen — das schafft jeder. Der Punkt ist, ihn wiederholbar zu erzeugen. Ein Klon, den man einmal gebastelt hat, ist nach drei Monaten ein veralteter Stand, an dem man das Falsche prüft.
↔ seitlich wischen, um das ganze Bild zu sehen
Individuelle Software und Werkzeuge für Betriebe, die mit Standardlösungen an Grenzen stoßen.