© saicle/Shutterstock.com
Mit Behaviour-driven Development Verhalten beschreiben und testen

Wie verhält es sich mit ...


Automatisierte Tests in Form von Unit oder Integration Tests sind aus den meisten Projekten nicht mehr wegzudenken und gehören zum Alltag eines jeden PHP-Entwicklers. Neben dem klassischen Test-driven Development können Entwickler aber auch auf das gewissermaßen weiterentwickelte Behaviour-driven Development zurückgreifen und zahlreiche Vorteile vor allem zur Analyse des Verhaltens einzelner Sys­tembestandteile nutzen.

Test-driven Development (TDD) ist ein gängiges Mittel für die Qualitätssicherung von Entwicklungsprojekten. Im PHP-Umfeld wird dabei oft PHPUnit [1] für die Erstellung von Unit Tests eingesetzt. Beim TDD überprüfen Unit Tests normalerweise die korrekte Umsetzung einzelner Methoden oder Klassen und sind eher technisch orientiert, was für Auftraggeber beziehungsweise Endbenutzer der Software wenig verständlich ist. Sie interessieren sich vielmehr für die korrekte Umsetzung einzelner Funktionen beziehungsweise für das Verhalten einzelner Systembestandteile. Das Behaviour-driven Development (BDD) bietet für genau diese Ansprüche eine Umgebung, mit der das Verhalten von einzelnen Komponenten, Klassen und Seiten beschrieben und getestet werden kann. Behaviour-driven Development wird dabei oft als Evolutionsstufe von TDD bezeichnet. Denn die grundlegende Arbeitsweise bleibt dieselbe. Auch hier werden Tests geschrieben, bevor die eigentliche Implementierung einer Funktion stattfindet. Der bei TDD übliche red/green/refactor-Zyklus wird auch bei BDD beibehalten. Der große Unterschied ist die Art und Weise, wie die Tests geschrieben werden. BDD ist dabei keine wirklich brandneue Technik. Bereits 2003 wurde dieser Ansatz von Dan North als Teststrategie vorgestellt. Es wurde in der Ruby-on-Rails-Welt populär, wo die dort bekannten Werkzeuge RSpec [2] und Cucumber [3] den Weg zur weiten Verbreitung ebneten. Auch im PHP-Umfeld existieren mittlerweile Tools, mit denen sich hervorragend arbeiten lässt. Die meisten Tools versuchen, mit einer DSL (Domain Specific Language) zu arbeiten, die möglichst nahe an der natürlichen Sprache ist. Bei einigen dieser Programme wird auf den Einsatz einer Programmiersprache zum Schreiben der Tests komplett verzichtet. Natürlich verstehen die Parser der entsprechenden BDD-Tools keine natürliche Sprache, sondern sind auf einen gewissen Satz von Syntax und Semantik angewiesen. Eine Featurebeschreibung wird durch das jeweilige BDD-Tool geparst, in die entsprechende Programmiersprache umgewandelt und im zugrunde liegenden Testw...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang