Behat ist ein PHP-Framework für Behavior-Driven Development (BDD), das Tests in natürlicher Sprache formuliert. Für Drupal gibt es mit der Drupal Extension eine spezialisierte Integration. arocom setzt seit 2012 auf automatisierte Akzeptanztests in Drupal-Projekten, um Qualität zu sichern und Regressionen bei Updates zu verhindern.
A man closely inspects an object using a magnifying glass. — Behat Tests: Akzeptanz-Testing fuer Drupal

Behat Tests: Automatisiertes Akzeptanz-Testing für Drupal

„Als Redakteur moechte ich einen Artikel erstellen und veröffentlichen können." Das ist kein Lastenheft — das ist ein Behat-Test. Behat formuliert Tests in natürlicher Sprache und führt sie automatisiert gegen eure Drupal-Website aus.

Was Behat ist und wie es funktioniert

Behat implementiert die Gherkin-Syntax: Tests werden als Szenarien in Given-When-Then-Form geschrieben. „Given ich bin eingeloggt als Redakteur, When ich einen neuen Artikel erstelle, Then sehe ich die Erfolgsmeldung."

Diese Szenarien sind für alle Projektbeteiligten lesbar — nicht nur für Entwickler. Product Owner, Projektleiter und Redakteure verstehen sofort, was getestet wird.

Die Drupal Extension für Behat bringt vorgefertigte Schrittdefinitionen mit: Benutzer anlegen, einloggen, Inhalte erstellen, Regionen prüfen und Formulare ausfüllen.

Behat-Architektur — Feature-File, Step-Definitions, Mink-Driver, Browser, Assertions
Behat verbindet Gherkin-Feature-Files über Mink-Driver mit echten Browsern oder HTTP-Clients.

Behat in der Drupal-Praxis

Login und Rechte. Testen, ob verschiedene Rollen die richtigen Seiten sehen und die richtigen Aktionen ausführen können. Ein Administrator sieht andere Optionen als ein Redakteur.

Content-Workflows. Erstellen, Bearbeiten, Freigeben und Löschen von Inhalten — automatisiert geprüft nach jedem Deployment.

Formulare. Kontaktformulare, Bewerbungsformulare und andere Eingabemasken werden auf korrekte Validierung und Verarbeitung getestet.

Mehrsprachigkeit. Testen, ob Sprachumschaltung, URL-Aliase und übersetzte Inhalte korrekt funktionieren.

Integration in CI/CD-Pipelines

Behat-Tests entfalten ihren vollen Wert, wenn sie automatisch bei jedem Code-Push laufen. In der CI/CD-Pipeline wird eine Drupal-Testinstanz aufgebaut, die Behat-Suite ausgeführt und das Ergebnis gemeldet. Fehlgeschlagene Tests verhindern das Deployment — Fehler erreichen die Produktion nicht.

Test-Strategie für eure Plattform?

arocom implementiert Behat-Tests als Teil der Entwicklungsmethodik. Der Zukunfts-Check bewertet die Qualitätssicherung eurer Plattform. Ab 2.500 EUR zzgl. MwSt., anrechenbar auf das Folgeprojekt.

Was ist der Unterschied zwischen Behat und PHPUnit?

PHPUnit testet einzelne Code-Einheiten (Unit-Tests). Behat testet das Verhalten der gesamten Anwendung aus Benutzersicht (Akzeptanztests). Beide ergänzen sich und decken unterschiedliche Test-Ebenen ab.

Können nicht-technische Teammitglieder Behat-Tests schreiben?

Die Gherkin-Syntax ist bewusst nah an natürlicher Sprache. Product Owner können Szenarien formulieren, die Entwickler dann in ausführbare Tests umsetzen. Die Zusammenarbeit wird dadurch direkter.

Wie viele Behat-Tests braucht ein Drupal-Projekt?

Es gibt keine feste Zahl. Wichtig ist, die kritischen User-Journeys abzudecken: Login, Content-Erstellung, Suche, Formulare. arocom empfiehlt, mit den wichtigsten Szenarien zu starten und schrittweise zu erweitern.

Wie steht es um Drupal auf eurer Website? Der Zukunfts-Check zeigt in 2–4 Wochen, wo die größten Hebel liegen.

Zukunfts-Check anfragen Oder schnell selbst prüfen

Mit dem Wissen weiterarbeiten

Dieses Thema mit KI vertiefen

Kopiert diesen Prompt und fügt ihn in ChatGPT, Claude oder eine andere KI ein — ihr bekommt einen persönlichen Lernplan zu „Behat Tests: Akzeptanz-Testing für Drupal“.

Du bist ein erfahrener Coach für Drupal. Ich möchte das Thema "Behat Tests: Akzeptanz-Testing für Drupal" verstehen und ...
Kostenlos · PDF-Dokument

Drupal Zukunfts-Check

Checkliste: Ist eure Drupal-Installation zukunftsreif? 15 Prüfpunkte.

War dieser Artikel hilfreich?

100 %