Matthias Gläßner – Senior TYPO3 Architekt

Qualitätssicherung · Releases · CI/CD

Testing in TYPO3-Projekten:
Wie Sie Upgrades & Releases planbar und sicher machen

Viele TYPO3-Projekte haben ein Problem: Releases machen Bauchschmerzen. Niemand weiß genau, was beim nächsten Deployment bricht, kleine Änderungen werden „zur Sicherheit“ nur selten live gebracht, und Upgrades fühlen sich wie Sprünge ins kalte Wasser an. Ein pragmatisches Testing-Setup sorgt dafür, dass Deployments langweilig werden – im besten Sinne des Wortes.

Fokus: Enterprise-TYPO3, Behörden & Verbände Unit-, Functional- & Smoke-Tests · CI/CD

Warum Testing in TYPO3-Projekten so viel entspannter macht

Testing ist kein Selbstzweck und keine „Developer-Spielerei“, sondern ein Risikofilter für Releases. Es hilft Ihnen, zentrale Fragen zu beantworten:

  • • Funktionieren Kernprozesse nach einem Upgrade noch wie erwartet?
  • • Sind kritische Formulare & Journeys weiterhin erreichbar?
  • • Bleiben Berechtigungen & Personendaten geschützt?
  • • Können Sie auch unter Zeitdruck sicher deployen?

Je komplexer das System (Multiportale, Integrationen, individuelle Extensions), desto wichtiger ist ein minimal, aber sinnvoll aufgesetztes Test-Set, das automatisiert mitläuft – idealerweise in Ihrer CI/CD-Pipeline.

Welche Testarten in TYPO3-Projekten wirklich relevant sind

Nicht jedes Projekt braucht alle Testarten in voller Ausprägung. Wichtig ist eine vernünftige Mischung aus automatisierten und manuellen Tests – passend zu Team & Budget.

Code-nah

Unit-Tests

Testen einzelne Klassen/Methoden (z. B. Services, Domain-Logik). Ideal für wiederverwendbare Businesslogik in Extensions.

Tools: PHPUnit, Mocking für Abhängigkeiten.

TYPO3-spezifisch

Functional-Tests

Prüfen TYPO3-integrierte Komponenten (Extbase-Repositories, TCA-Konfigurationen, DataHandler). Sie laufen mit einer minimalen TYPO3-Instanz.

Gut geeignet für komplexe Datenmodelle & Integrationen.

End-to-End

Acceptance-Tests / E2E

Simulieren echte Nutzerwege im Browser (z. B. Suche → Detailseite → Formular). Ideal für kritische Journeys und Self-Service-Strecken.

Tools: z. B. Cypress, Codeception, Playwright.

Minimal-Setup

Smoke-Tests

Sehr schlanke Tests, die nur prüfen: „Lebt das System?“ – z. B. HTTP-Status, Login möglich, Startseite & zentrale Bereiche erreichbar.

Geringer Aufwand, großer Nutzen bei jedem Deployment.

Oberfläche

Visuelle & A11y-Checks

Automatisierte Checks für Layout-Brüche, Kontraste, semantische Struktur – ergänzend zur klassischen QA.

Ergänzt WCAG/BITV-Tests und manuelle Prüfungen.

Ein pragmatisches Test-Setup für TYPO3 – ohne Overengineering

Ziel ist nicht 100 % Testabdeckung, sondern eine vernünftige Absicherung der wichtigsten Funktionen – mit vertretbarem Aufwand. Ein typisches Setup, das sich in vielen Projekten bewährt hat:

1. Basis: Smoke- & Regression-Tests

  • • Liste kritischer URLs (Startseite, Suche, zentrale Services)
  • • HTTP-Status & grobe inhaltliche Checks (z. B. Seitentitel)
  • • Optional: Login-Check für Backend/geschützte Bereiche

Diese Tests laufen bei jedem Deployment und fangen viele „sichtbare“ Fehler zuverlässig ab.

2. Erweiterung: Functional-Tests für komplexe Logik

  • • Extbase-Repositories & Domänenlogik
  • • TCA- und DataHandler-Logik (z. B. automatische Feldbefüllungen)
  • • Integrationen (z. B. Daten aus CRM/ERP, Suche-Indexe)

Fokus auf Bereiche, in denen Fehler teuer oder schwer auffindbar sind.

3. E2E-Tests für Schlüsselprozesse

Statt „alles“ zu testen, konzentrieren Sie sich auf:

  • • zentrale Kontakt-/Bewerbungsformulare
  • • Produkt- oder Service-Suche
  • • Anmeldestrecken (z. B. Mitgliederbereich)

Diese Tests bilden die Journeys nach, bei denen Fehler sofort geschäftliche Auswirkungen haben.

4. Automatisierung in der CI/CD-Pipeline

Tests bringen den größten Nutzen, wenn sie automatisiert laufen – z. B. bei jedem Merge in den Main-Branch oder vor einem Staging-/Produktiv-Deployment.

Mehr dazu im Artikel Deployment in TYPO3 und im Bereich Qualität & Security.

Wer macht was? Rollen im Testing für TYPO3-Projekte

Testing funktioniert am besten, wenn Rollen & Zuständigkeiten klar sind – sowohl technisch als auch organisatorisch. Hier hilft eine saubere Governance.

Entwicklung

  • • Unit- & Functional-Tests schreiben
  • • Testbare Architektur & saubere Schnittstellen
  • • CI/CD-Pipelines einrichten & pflegen

QA / Fachbereiche

  • • Testfälle aus fachlicher Sicht definieren
  • • kritische Journeys identifizieren & priorisieren
  • • Abnahme- & Regressionstests durchführen

Projektleitung / Produktverantwortung

  • • Risiko- & Priorisierungsvorgaben machen
  • • Zeit- & Budgetrahmen für Testing einplanen
  • • Release-Kriterien („Definition of Done“) festlegen

Testing, Performance & Security zusammendenken

Ein gutes Testing-Setup ist die Basis dafür, dass Maßnahmen in den Bereichen Performance und Security & DSGVO nicht nur einmalig, sondern dauerhaft greifen. Typische Beispiele:

  • • Performance-Tests (z. B. API- oder Such-Endpunkte) in CI integrieren
  • • Security-Checks (z. B. Header, Berechtigungen) regelmäßig automatisiert prüfen
  • • Regressionstests nach Core- & Extension-Updates automatisch ausführen

So wird Qualität nicht zu einer einmaligen Projektaufgabe, sondern zu einem wiederkehrenden Prozess, der das System über Jahre stabil hält.

Häufige Fragen zu Testing in TYPO3-Projekten

Einige Fragen tauchen in Projekten immer wieder auf, wenn es um Testing & Qualitätssicherung geht:

Brauchen wir wirklich automatisierte Tests oder reichen manuelle Abnahmen?
Manuelle Abnahmen bleiben wichtig – vor allem für UX & inhaltliche Fragen. Aber ohne automatisierte Tests steigen Aufwand und Risiko mit jedem Release. Schon ein schlanker Satz aus Smoke-Tests und ein paar Functional-Tests senkt das Risiko deutlich und entlastet Fachbereiche in der Abnahmephase.
Ab welcher Projektgröße lohnt sich ein „richtiges“ Testing-Setup?
Sobald ein System regelmäßig weiterentwickelt wird oder kritische Prozesse abbildet, lohnt sich Testing. Das kann bereits bei kleineren Portalen mit komplexen Formularen oder Integrationen der Fall sein. Je größer das System, desto höher der Nutzen – und desto schwerer wird es ohne automatisierte Tests überhaupt noch beherrschbar.
Müssen wir unser bestehendes TYPO3-System „umbauen“, um Tests einführen zu können?
Nicht unbedingt. Häufig lässt sich mit Smoke-Tests und gezielt platzierten Functional-Tests starten, ohne große Umbauten. Langfristig ist eine besser testbare Architektur (z. B. Entkopplung von Businesslogik) sinnvoll – aber das kann schrittweise passieren. Wichtig ist, **überhaupt** anzufangen und Tests nach und nach auszubauen.
Wie starten wir konkret, wenn wir heute noch gar keine Tests haben?
Bewährt hat sich:
  • die wichtigsten Prozesse & Seiten identifizieren,
  • eine minimale CI-Pipeline aufsetzen (z. B. mit Smoke-Tests),
  • dann schrittweise Functional- und ggf. E2E-Tests ergänzen.
In einem kurzen Audit klären wir, welche Bausteine für Ihr System am meisten bringen – und wie sie in Ihre bestehende Deployment-Landschaft passen.

Sie möchten Releases in Ihrem TYPO3-Projekt entspannter machen?

Ob Upgrade, Relaunch oder laufende Weiterentwicklung – ein pragmatisches Testing-Setup ist der Schlüssel zu planbaren Deployments. In einem kurzen Erstgespräch klären wir, welche Testarten zu Ihrem System, Ihrem Team und Ihrem Budget passen – und wie wir Testing in Ihre bestehende Deployment-Strategie integrieren können.