Behavior Driven Development

Behavior Driven Development (ou BDD) est une méthode Agile qui encourage la collaboration entre les développeurs, les responsables qualités, les intervenants non-techniques et les entreprises participants à un projet de logiciel. Il a été conçu en 2003 par Dan North comme une réponse au Test Driven Development.

Le processus BDD met en avant le langage naturel et les interactions dans le processus de développement logiciel. Les développeurs utilisant le BDD utilisent leur langue maternelle en combinaison avec le langage du domaine Domaine Driven Design pour décrire l'objectif et le bénéfice de leur code. Cela permet aux développeurs de se concentrer sur les raisons pour lesquelles le code doit être créé, plutôt que les détails techniques, et minimise la traduction entre le langage technique dans laquelle le code est écrit et le domaine de la langue parlée par les entreprises, les utilisateurs, les intervenants, la gestion de projet…

Sommaire

Pratiques BDD

Les pratiques de BDD comprennent :

  • La participation des parties prenantes dans le processus par le biais de l'extérieur dans le développement de logiciels outside-in software development
  • L'utilisation d'exemples pour décrire le comportement de la demande, ou d'unités de code
  • Automatisation de ces exemples pour fournir rapidement des commentaires et des test de non-régression
  • Dans le test logiciel, l'utilisation du mot "devrait" contribuer à clarifier la responsabilité et permet la remise en cause de la fonctionnalité du logiciel
  • L'utilisation de «vérifier que» permet de différencier les résultats obtenus dans le champ d'application du code en question en provenance des effets secondaires d'autres éléments du code.
  • Enfin, l'utilisation de «Mocks» en remplacement des modules de code qui n'ont pas encore été écrits

Vu de l'extérieur

BDD est motivée par la valeur commerciale, c'est un avantage pour l'entreprise qui revient une fois que l'application est en production. La seule façon dont cet avantage peut être réalisée soit par le biais de l'interface utilisateur à la demande, généralement (mais pas toujours) une interface graphique.

De la même manière, chaque morceau de code, à partir de l'interface utilisateur, peut être considéré comme un des intervenants des autres modules de code qu'il utilise. Chaque élément de code prévoit certains aspects de comportement qui, en collaboration avec les autres éléments, prévoit le comportement de l'application. Le premier morceau de code que les développeurs de mettre en œuvre BDD est l'interface utilisateur. Les développeurs peuvent alors bénéficier de la rétroaction rapide de savoir si l'interface utilisateur ressemble et se comporte de façon appropriée. Par le biais de code, et en utilisant les principes de bonne conception et de refactoring, les développeurs de découvrir les collaborateurs de l'interface utilisateur, et de chaque unité de code par la suite. Cela les aide à respecter le principe de YAGNI, car chaque morceau de code de production est nécessaire, soit par l'entreprise ou par un autre morceau de code déjà écrit

Références

Liens externes

Outils

  • BDoc - Extracting documentation from unit tests, supporting behaviour driven development
  • BDD in Python is core module doctest
  • beanSpec - Java
  • Behat - PHP
  • cfSpec - ColdFusion
  • CSpec - C
  • dSpec - Delphi
  • Concordion - a Java automated testing tool for BDD that uses plain English to describe behaviors.
  • Cucumber - Plain text + Ruby. Works against Java, .NET, Ruby, Flex or any web application via Watir or Selenium.
  • Cuke4PHP - PHP, pour utiliser Cucumber dans PHP
  • easyb - Groovy/Java
  • GSpec - Groovy
  • Instinct - Java
  • Jasmine - Javascript
  • JBehave - Java
  • JDave - Java
  • JFXtras Test - JavaFX
  • JSpec - JavaScript (great syntax, async support, many matchers, tiny framework, and more)
  • JSSpec - JavaScript
  • NBehave - .Net
  • NSpec - .Net
  • NSpecify - .Net
  • NUnit - Another implementation of BDD framework in .Net with focus on specification testing
  • PHPSpec - PHP
  • RSpec - Ruby
  • specs - Scala
  • spec-cpp - C++
  • Specter - Another implementation of BDD framework in .Net with focus on specification readability
  • SSpec - BDD in Smalltalk
  • StoryQ - .Net 3.5, can be integrated with NUnit to provide both specification readability and testing
  • tspec - Groovy (Thai syntax)
  • XSpec - XPath, XSLT et XQuery

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Behavior Driven Development de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • Behavior Driven Development — (BDD) (deutsch Verhaltensgetriebene Softwareentwicklung) ist eine Technik der Agilen Softwareentwicklung, welche die Zusammenarbeit zwischen Qualitätsmanagement und Business Analyse in Softwareentwicklungsprojekten stärkt. Beim Behavior Driven… …   Deutsch Wikipedia

  • Behavior Driven Development — (or BDD) is an Agile software development technique that encourages collaboration between developers, QA and non technical or business participants in a software project. It was originally conceived in 2003 by Dan North D.North,… …   Wikipedia

  • Behavior driven development — (ou BDD) est une méthode Agile qui encourage la collaboration entre les développeurs, les responsables qualités, les intervenants non techniques et les entreprises participants à un projet de logiciel. Il a été conçu en 2003 par Dan North comme… …   Wikipédia en Français

  • Test-driven development — (TDD ) is a software development technique consisting of short iterations where new test cases covering the desired improvement or new functionality are written first, then the production code necessary to pass the tests is implemented, and… …   Wikipedia

  • Test Driven Development — Le Test Driven Development (TDD) ou en Français développement piloté par les tests est une méthode de développement de logiciel qui préconise d écrire les tests unitaires avant d écrire le code source d un logiciel. Sommaire 1 Le cycle de TDD 2… …   Wikipédia en Français

  • Behavior change (public health) — Behavior change has become a central objective of public health interventions over the last half decade, as the influence of prevention within the health services has increased. The increased influence of prevention has coincided with increased… …   Wikipedia

  • Development communication — Development Communication, has been alternatively defined as a type of marketing and public opinion research that is used specifically to develop effective communication or as the use of communication to promote social development. Defined as the …   Wikipedia

  • List of software development philosophies — This is an incomplete list of approaches, styles, and philosophies in software development.* Agile software development * Agile Unified Process (AUP) * Behavior Driven Development (BDD) * Big Design Up Front (BDUF) * Brooks s law * Cathedral and… …   Wikipedia

  • Dynamic Systems Development Method — (DSDM) is a software development approach originally based upon the Rapid Application Development (RAD) methodology. DSDM is an iterative and incremental approach that emphasizes continuous user involvement. Its goal is to deliver software… …   Wikipedia

  • Lawrence Kohlberg's stages of moral development — constitute an adaptation of a psychological theory originally conceived of by the Swiss psychologist Jean Piaget. Kohlberg began work on this topic while a psychology postgraduate student at the University of Chicago,[1] and expanded and… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”