Verhaltensorientierte Entwicklung in der agilen Softwareentwicklung

Was ist verhaltensgetriebene Entwicklung?

Verhaltensorientierte Entwicklung in der agilen Softwareentwicklung

Vor einigen Jahren war das Testen der Funktionalität eines Software- Endprodukts eine Aufgabe, die eine Qualitätsabteilung wochenlang beschäftigen konnte. Dank automatischer Tests sind heutzutage jedoch nur wenige Klicks erforderlich, um herauszufinden, ob eine komplexe Anwendung ihre Aufgabe erfüllt oder nicht. In diesem Sinne ist die verhaltensgesteuerte Entwicklung (BDD) oder verhaltensgesteuerte Entwicklung eine zunehmend beliebte Technik. Es ist eine Form der agilen Softwareentwicklung, die aus der testgetriebenen Entwicklung (TDD) hervorgegangen ist und als logische Erweiterung davon angesehen wird. Im Gegensatz zu TDD wird bei BDD die betreffende Software aus Anwendersicht analysiert. Dieser Ansatz fördert ein ganzheitlicheres Design und erleichtert die gemeinsame Arbeit von Entwicklern, Qualitätsmanagern und Kunden.

Index
  1. Was ist verhaltensgetriebene Entwicklung?
  2. Wie genau funktioniert verhaltensorientierte Entwicklung?
  3. Verhaltensorientierte Entwicklung: ein praktisches Beispiel
  4. Was unterscheidet BDD von anderen Testmethoden?

Was ist verhaltensgetriebene Entwicklung?

Mit zunehmender Komplexität von Softwareanwendungen entstehen neue Methoden zur Qualitätsbewertung und zum Testmanagement. Diese Verfahren sind wichtig, um sicherzustellen, dass die Software zuverlässig funktioniert, und um Fehler von Anfang an zu identifizieren. Eine dieser seit einiger Zeit weit verbreiteten Techniken ist die testgetriebene Entwicklung (TDD) , mit der Entwickler parallel zur Software selbst die entsprechenden Unit- oder Systemtests erstellen . Bei der Entwicklung von Software ist es jedoch zweckmäßig, auch andere Teammitglieder oder interessierte Personen einzubeziehen, die nicht unbedingt über Kenntnisse der Programmiercodes verfügen. Die verhaltensgesteuerte Entwicklung (BDD) oder das gesteuerte Entwicklungsverhalten löst genau dieses Problem.

Die agile Entwicklung Software ermöglicht allen Projektbeteiligten die Eigenschaften bestimmen sie wollen , um vor den Programmierer beginnt in einer Anwendung finden Sie im Quellcode zu schreiben. Diese Spezifikationen werden in einer leicht verständlichen Sprache ausgedrückt, sodass auch der Kunde, für den die Software erstellt wurde, aktiv an ihrem Design teilnehmen kann. Auf diese Weise fördert der BDD die gemeinsame Arbeit der verschiedenen Projektbereiche und die Aufteilung der Verantwortung. Bei richtiger Anwendung von Anfang an vermeidet diese Form der agilen Softwareentwicklung Missverständnisse und führt bestenfalls zu einem qualitativ hochwertigen Produkt.

See also  Die Anwendung des europäischen Cookie-Gesetzes in Spanien

Wie genau funktioniert verhaltensorientierte Entwicklung?

Wie aus dem Namen hervorgeht, wird die verhaltensgesteuerte Entwicklung von dem Verhalten geleitet, das Sie von der endgültigen Software erhalten möchten . Dank der sogenannten allgegenwärtigen Sprache , einer Art gemeinsamer Sprache, können auch Nicht-Experten bestimmte Verhaltensweisen beschreiben. Die allgegenwärtige Sprache wurde im Bereich des domänengesteuerten Designs (DDD, domänengesteuertes Design ) geboren, einer Methodik, die sich wie BDD auf Produktanwendungsbereiche konzentriert. Beide Ansätze berücksichtigen alle am Softwareprojekt beteiligten Bereiche und verbinden sie dank der allgegenwärtigen oder gemeinsamen Sprache über Frameworks , Programmiersprachen oder spezifische Tools hinaus.

Eine verhaltensorientierte Entwicklung kann jedoch nicht vollständig auf Tools und Frameworks verzichten: Bestimmte Regeln müssen eingehalten werden Damit können die definierten Testfälle in eine ausführbare Programmiersprache übersetzt werden. Aus diesem Grund werden die Spezifikationen in BDD nicht im Klartext ausgedrückt, sondern mit Hilfe von BDD-Tools wie JBehave, Cucumber oder Behat entsprechen einer bestimmten Struktur, die ihre korrekte Implementierung ermöglicht. Die Handhabung dieser Tools ist jedoch viel einfacher als das Erlernen einer herkömmlichen Programmiersprache. Als nächstes erklären wir die Struktur, die normalerweise bei der verhaltensgesteuerten Entwicklung angewendet wird:

  • Zunächst wird eine Anforderungsanalyse durchgeführt, in der die Aufgaben, Ziele und Funktionen der Software festgelegt werden . In dieser Phase fragt das Unternehmen (oder fragt Kunden), was die Software tun soll .
  • Sobald alle Funktionen identifiziert wurden , werden sie in Form vordefinierter Szenarien beschrieben: Ziel ist es, alle möglichen Situationen zu berücksichtigen, in denen die Software mit einer konkreten Antwort reagieren sollte.
  • Der nächste Schritt ist die erwartete Antwort in jedem Szenario unter Verwendung ein oder eine Situation zu schaffen gegebenes-wenn-dann – Typ – Schema , das heißt, gegebene-wenn-dann : gegeben , die den Zustand der beschreibt Software vor dem Test; wenn es die Aktion während des Tests beschreibt und dann den Status der Software nach dem Test beschreibt.

Je nachdem, welches BDD-Tool verwendet wird, kann das verwendete Vokabular geringfügig variieren. Diese Tools sind für die gängigsten Programmiersprachen wie Java, JavaScript, Python oder Ruby verfügbar.

See also  XML-Sitemap: Alles über seine Funktion und wie man sie erstellt

Verhaltensorientierte Entwicklung: ein praktisches Beispiel

Stellen Sie sich vor, Sie möchten einen intuitiven Online- Shop entwickeln , in dem die Benutzerdaten jedes registrierten Kunden gespeichert werden: Auf diese Weise können sich Kunden einfach anmelden und müssen ihre persönlichen Daten nicht erneut eingeben. In Gherkin , einer weit verbreiteten Programmiersprache, die im BDD Cucumber-Tool verwendet wird, hätte die entsprechende Syntax die folgende Form:

  Funcionalidad: un cliente ya registrado quiere iniciar sesión en su cuenta de usuario. Escenario: el cliente introduce correctamente sus datos de acceso a la cuenta. Dado que tengo una cuenta de usuario activa Y me encuentro en la página de inicio Cuando teclee mi dirección de correo electrónico en el campo correspondiente Y teclee la contraseña asociada en el campo correspondiente Y haga clic en la tecla de iniciar sesión Entonces debería iniciarse mi sesión  

Das obige Beispiel zeigt, dass mit dem AND- Element verschiedene Bedingungen hinzugefügt werden können , sodass Sie komplexere Testfälle erstellen können.

Was unterscheidet BDD von anderen Testmethoden?

Beim Testen von Software wird die verhaltensgesteuerte Entwicklung in erster Linie von der Frage geleitet, wie : Stakeholder möchten wissen, wie das Verhalten eines Codes überprüft werden kann, nicht dessen Implementierung. Bei den sogenannten Modultests geht es dagegen darum zu überprüfen, ob eine bestimmte Codeeinheit korrekt implementiert ist. Mit diesen Testverfahren können Sie Fehler schnell erkennen, sodass sie auf der Frage basieren, was . Auf der anderen Seite die Frage, was wäre wenn? erhält seine Antwort dank einer testgetriebenen Entwicklung , die den Prozess der Ausführung der Tests testet, die auch Modultests oder andere Arten von Tests umfassen kann.

See also  Was ist das V-Modell?

Hinweis

Neben den Modultests gibt es auch Funktions- und Integrationstests, die wesentlich komplexer sind, da sie die Interaktion zwischen verschiedenen Teilen des Systems und die Funktionalität der gesamten Software analysieren .

Die folgende Tabelle fasst die Vor- und Nachteile einer verhaltensgesteuerten Entwicklung zusammen :

Vorteil Nachteile
Ideal für Anfänger dank der allgegenwärtigen Sprache, die keine Vorkenntnisse erfordert. Schlecht geschriebene Spezifikationen erschweren Entwicklern die Arbeit.
Bessere Kommunikation zwischen Entwicklern, Stakeholdern und Qualitätsmanagern. Durch die Integration verschiedener Stakeholder dauert der Entwicklungsprozess länger.
Testfälle sind lebende Dokumentationen, die leicht angepasst werden können. Das Konvertieren in einen BDD-Workflow erfordert zusätzlichen Aufwand, wenn Sie Legacy-Code verwenden.
Die Priorität ist der Komfort des Benutzers beim Bedienen der Software.  

Obwohl die verschiedenen Testmethoden einzeln angewendet werden können, verbessert sich die Qualität der Software erheblich, wenn eine Kombination aus mehreren verwendet wird. Das BDD hilft dabei, den besten Ansatz für das Schreiben von Tests zu ermitteln, während das TDD für eine hohe Testabdeckung sorgt.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *