Ein Bundle testen
Diese Seite richtet sich an Bündler, die ein Release vor der Auslieferung testen. Ein Bundle kombiniert viele Teile; der einzige Beweis, dass sie zusammen funktionieren, ist, das Bundle so zu installieren und zu verwenden, wie es ein Empfänger tun würde.
Inhalt
- Die Testmatrix
- Prüfungen am Build
- Installationstests
- Prüfungen an der laufenden Website
- Upgrade-Test
- Das Testprotokoll
Die Testmatrix
Führen Sie auf, was Sie zusagen, und testen Sie jede zugesagte Kombination, nicht mehr:
PHP: 8.x, 8.y
Database: SQLite 3, PostgreSQL <version>
Server: Velocity (qbix) / Apache + PHP-FPM / nginx + PHP-FPM
Install: exp:install / kickstarter / setup wizard
Network: online / offline
Upgrade: from bundle <previous version>Die CI des Projekts testet PostgreSQL 15 und MySQL 8.0 und führt für die anderen die Unit-Tests der Treiber aus (Datenbankunterstützung); eine Kombination, die Ihr Bundle darüber hinaus zusagt, müssen Sie selbst nachweisen.
Prüfungen am Build
| Prüfung | Befehl oder Methode | Bestanden, wenn |
|---|---|---|
| Composer | composer validate --no-check-publish; composer install --no-dev aus der Lock-Datei | keine Fehler |
| PHP-Erweiterungen | php bin/php/console exp:velocity ext check | nichts fehlt |
| Klassen | php bin/php/console exp:checkclasses | keine Klasse, die PHP nicht laden will |
| Integrität | php bin/php/checkmanifest.php --all | Exit 0 oder nur Ihre aufgeführten Änderungen |
| Lizenzen | composer licenses --no-dev | kein Paket ohne eine von Ihnen geklärte Lizenz |
| Nichts Geheimes ausgeliefert | das Artefakt auf settings/override/*.ini.append.php, kickstart.ini, var/log/ untersuchen | nichts vorhanden |
Installationstests
- Probelauf:
php bin/php/console exp:install --dry-run ...oderexp:kickstarter run --dry-run; Exit0. - Installation: Exit
0;var/log/setup.logendet mit einer RESULT-Zeile ohne Fehler. Das Protokoll enthält "Zustandsprüfungen nach der Installation (Datenbank, deklarierte Tabellen, Inhaltsklassen, Objekte, Inhaltswurzel, Namenslisten, Einstellungen, Siteaccesses, Besitzrechte der Dateien)" (Installation mit einem Befehl). - Zweiter Start: Der Test auf eine bestehende Installation überspringt die Installation; die Daten sind noch da.
- Offline: dieselbe Installation ohne ausgehendes Netzwerk (Offline-Bundles).
- Fehlerfall: Ein falsches Datenbankpasswort ergibt Exit
1, aktiven Wartungsmodus und einen lesbaren Grund invar/log/setup.log.
Prüfungen an der laufenden Website
- To do: Die Website und die Administration antworten unter den dokumentierten Adressen.
- To do: Mit dem übergebenen Passwort anmelden; es ändern; die Datei
var/log/initial-admin-passwordist verschwunden. - To do: Einen Artikel mit einem Bild veröffentlichen; er erscheint auf der Website; Bildvarianten werden erzeugt.
- To do: Die Suche findet ihn.
- To do: Cron läuft (
runcronjobs.php) als Benutzer der Website ohne Rechtefehler. - To do:
/.git/config,/settings/site.ini,/composer.jsonwerden nicht ausgeliefert (13.16). - To do: Kein Hinweisbalken Demo-Modus (außer in Demo-Bundles).
- To do: Info > Über und Info > Copyright zeigen die Versionen und Lizenzen.
- To do: Keine Dateien unter
var/gehören root. - To do: Nach einem Neustart des gesamten Bundles gilt alles oben Genannte weiterhin.
Upgrade-Test
- Installieren Sie das vorige Bundle-Release; fügen Sie einige Inhalte hinzu.
- Wenden Sie Ihr Update so an, wie es die Empfänger tun werden (Updates und Upgrade-Pfade).
- Prüfen Sie die Versionszeile (erwarteter Wert für die Linie 6.0.15:
6.0.15stable, Abfrage in 11.2), die Inhalte, die Anmeldung und die Prüfungen oben. - Folgen Sie 11.7 Das Upgrade überprüfen.
Das Testprotokoll
Bewahren Sie je Release auf: die Matrix mit Ergebnissen, var/log/setup.log und var/log/kickstart.log jeder
Installation, das Build-Protokoll
(Lock-Dateien und reproduzierbare Builds) und die Namen der
Tester. Partner, die Exponential-Releases selbst testen, können Ergebnisse zurückmelden
(Releases testen).
Verwandte Seiten
- Checkliste für die Bundle-Veröffentlichung
- Testen in einer Sandbox (Seitenpakete)
- Benchmarking einer gehosteten Website
- Freie Dokumentation: Diese Seite darf unter der GNU FDL 1.3 frei kopiert, übersetzt und verbessert werden.
Werden Sie Exponential-Partner
Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.