Support » Allgemeine Fragen » Integrationstests für WordPress

  • Ich möchte gerne ein einfaches Script, um Grundfunktionalitäten meiner WordPressinstanzen automatisch zu testen. Ich wollte mich schon daran machen etwas basierend auf z.B. Casperjs.org zu bauen, was wie folgt ausschaut:
    – Test läuft
    – User erstellen (WP-CLI)
    – Auf der Seite einloggen, Post schreiben, Post überprüfen (Webdriver)
    – Post löschen, user löschen (WP-CLI)

    Ich möchte dadurch automatisch testen, dass nach einem Modulupdate immer noch alles so funktioniert wie es sollte. Oder z.B. bei einem Shop, dass man immer noch ein Produkt kaufen kann.

    Da die Community so riesig ist, müsste es doch irgendwo bereits solche Testcases geben, welche ich lediglich zu modifizieren bräuchte? Leider habe ich nichts gefunden.

Ansicht von 4 Antworten - 1 bis 4 (von insgesamt 4)
  • Die von dir genannten Aufgaben (Benutzer erstellen, Beitrag schreiben, Beitrag löschen, Benutzer löschen) kannst du mit WP-CLI erledigen. Nur – was bringt’s? Was sagt eine r Rückgabewert zur Erstellung eines Beitrags über seine Darstellung im Frontend?

    Es kommt eher selten vor, dass ein Plugin-/Theme-Update direkt zu einem White Screen of Death führt (was du durch ein Monitoring der Website gemeldet bekommen würdest). Häufiger sind JavaScript-Konflikte, die zu Fehlern in der Bedienung führen. Auch eine Änderung einer CSS-Klasse bedeutet nicht zwangsläufig fehlerhaften Code, kann aber dazu führen, dass Inhalte der Website nicht oder anders als gewünscht angezeigt werden. Kommst du da um eine nicht-automatisierte Sichtung herum?

    Fährst du eigentlich parallel zur produktiven Website eine lokale Installation? Wäre es dann nicht ergiebiger, lokal zu testen, committen*, in ein Github-Repo zu pushen und per cron vom produktiven Webserver zu pullen?

    (*Sorry für die Anglizismen, aber Commit, Push und Pull sind bekannte Git-Befehle, die sich schlecht übersetzen lassen.)

    Thread-Starter rapsli

    (@rapsli)

    Hi Mario

    Kein Problem, ich störe mich an den Anglizismen überhaupt nicht… eher hätte es mich umgekehrt gestört 😉

    Ich gebe dir bis zu einem gewissen Punkt recht, daher möchte ich die eigentlichen Tests auch in einem Headless Browser durchführen. Fehler aufgrund von Javascript Konflikten sollten dann auch angezeigt werden. WP-CLI würde ich nur verwenden, um aufzuräumen bzw. einen passenden User anzulegen.

    Manuell testen ja aber. Bei einer Seite keine Frage, bei 5 Seiten naja, bie 50 Seiten wäre das ein ziemlich grosser Aufwand, zumal ich die Updates jeweils lieber gleich sofort aufspielen möchte anstatt 1x pro Zeiteinheit einen riesigen Aufwand zu betreiben (also Richtung Continuous Integration). Insofern wird wahrscheinlich in 95% der Updates überhaupt nichts passieren und in wiederum 4.9% der Fälle sind es Fehler, die weniger kritisch sind und die auch später geflickt werden können. Mit diesen Tests möchte ich vor allem Businesskritische Funktionalitäten testen wie:
    – Newsletter anmelden
    – Post schreiben
    – Kommentar schreiben
    – Produkt kaufen
    – Einloggen
    – Kontaktformular testen

    -> Damit wären wohl dann auch schon die meisten Usecases erledigt.

    Eine interessante Frage, auf die ich dir aber leider im Moment keine passende Antwort liefern kann. Ich bin gespannt, ob wir dazu ein paar Ideen bekommen.

    Thread-Starter rapsli

    (@rapsli)

    Dann bin ich auch mal gespannt… aber eigentlich müsste ich doch nicht der einzige sein mit dieser Frage.

Ansicht von 4 Antworten - 1 bis 4 (von insgesamt 4)
  • Das Thema „Integrationstests für WordPress“ ist für neue Antworten geschlossen.