Le développement piloté par le comportement (BDD) est une technique de développement logiciel agile qui encourage la collaboration entre les développeurs, l'assurance qualité et les participants non techniques ou commerciaux aux projets logiciels.

développement axé sur le comportement

Le développement piloté par le comportement (anglais : BDD ) est une technique de développement logiciel agile qui encourage la collaboration entre les développeurs, l'assurance qualité et les participants non techniques ou commerciaux aux projets logiciels. BDD a été nommé à l'origine par Dan North en 2003. Il inclut des pratiques de programmation extrêmes telles que les tests d'acceptation et les tests clients en réponse au développement piloté par les tests . Il a beaucoup grandi ces dernières années.

développement de logiciels

actions principales

  • processus

  • besoin

  • conception

  • projet

  • structure

  • test

  • Déboguer

  • déployer

  • maintenir

paradigmes et modèles

  • Prototypage

  • chambre propre

  • modélisation incrémentale

  • modèle de cascade

  • Développement de logiciels agiles

  • modèle en spirale

Méthodologie et cadre

  • Développement rapide d'applications

  • DevOps

  • programmation extrême

  • Processus logiciel d'équipe

  • logiciel personnel

  • Méthodes de développement de systèmes dynamiques

  • MSF

  • Mêlée

  • panneau d'affichage

  • Modèle V

  • FDD
  • MDD

  • développement itératif

  • Développement lean

  • Unifier le processus

comportement de soutien

  • Gestion de la configuration

  • Documentation

  • assurance qualité

  • gestion de projet

  • expérience utilisateur

pratique

  • ATDD

  • développement axé sur le comportement

  • Intégration continue

  • livraison continue

  • conception axée sur le domaine

  • programmation en binôme

  • réunion debout

  • développement piloté par les tests

outil

  • Compilateur

  • débogueur

  • Analyse de performance

  • Concepteur d'interface graphique

  • La modélisation

  • Environnement de développement intégré

  • Construire l'automatisation

  • Automatisation des versions

  • test

Normes et systèmes de connaissances

  • Intégration du modèle de maturité des capacités

  • Normes IEEE

  • ISO 9001

  • Normes ISO/CEI

  • LIVRE SUÉDOIS

  • Système de connaissances en gestion de projet

  • BABOK

2009年,在伦敦发表的“敏捷规格,BDD和极限测试交流”中,Dan NorthBDD给出了如下定义:

BDD是第二代的、由外及内的、基于拉(pull)的、多方利益相关者的(stakeholder)、多种可扩展的、高自动化的敏捷方法。它描述了一个交互循环,可以具有带有良好定义的输出(即工作中交付的结果):已测试过的软件。

BDD的重点是通过与利益相关者的讨论取得对预期的软件行为的清醒认识。它通过用自然语言书写非程序员可读的测试用例扩展了测试驱动开发方法。行为驱动开发人员使用混合了领域中统一的语言的母语语言来描述他们的代码的目的。这让开发者得以把精力集中在代码应该怎么写,而不是技术细节上,而且也最大程度的减少了将代码编写者的技术语言与商业客户、用户、利益相关者、项目管理者等的领域语言之间来回翻译的代价。

Dan North创造了首个BDD框架:JBehave;之后是Ruby语言的基于故事的RBehave,后来被纳入了RSpec项目。他还与大卫赫利姆斯基、Aslak Hellesøy及其他人开发了RSpec,并一起编写了《The RSpec Book: Behaviour Driven Development with RSpec, Cucumber, and Friends》。RSpec中第一个基于故事的框架,后来被主要由Aslak Hellesøy开发的Cucumber 页面存档备份,存于)取代。

2008 年,参与了围绕BDD进行的首轮讨论的克里斯马茨,提出了特性注入(Feature Injection)的想法,使BDD可以覆盖分析空间并提供从初期的展望到编码和发布的整个软件生命周期过程的改造。

BDD 实践

BDD的做法包括:

  • 确立不同利益相关者要实现的远景目标
  • 使用特性注入方法绘制出达到这些目标所需要的特性
  • 通过由外及内的软件开发方法,把涉及到的利益相关者融入到实现的过程中
  • 使用例子来描述应用程序的行为或代码的每个单元
  • 通过自动运行这些例子,提供快速反馈,进行回归测试
  • 使用“应当(should)”来描述软件的行为,以帮助阐明代码的职责,以及回答对该软件的功能性的质疑
  • 使用“确保(ensure)”来描述软件的职责,以把代码本身的效用与其他单元(element)代码带来的边际效用中区分出来。
  • 使用mock作为还未编写的相关代码模块的替身

特性注入

一个公司可能有多个会带来商业利益的不同愿景,通常包括盈利、省钱或保护钱。一旦某个愿景被开发小组确定为当前条件下的最佳愿景,他们将需要更多的帮助来成功实现这个远景。

然后确定该愿景的主要利益相关者,会带入其他的利益相关者。每个相关者要定义为了实现该愿景他们需要完成的目标。例如,法务部门可能要求某些监管要得到满足。市场营销负责人可能要参加将使用该软件的用户的社区。安全专家需要确保该软件不会受到SQL注入的攻击。

通过这些目标,会定义出要实现这些目标所需要的大概的题目(theme)或者特性集合。例如,“允许用户排序贡献值”或“交易审计”。

从这些主题,可以得到用户功能以及用户界面的第一批细节。

由外及内

BDD是由商业价值--在应用开发中自然增长的商业利益--所驱动的。要认清这个利益的唯一方式,是通过用户接口(通常--但并不总是--图形界面,GUI)理解应用程序。

同样,每一段代码,从用户界面开始,可以视作它使用的其他模块代码的利益相关者。每个代码单元(element)通过与其他单元合作,提供部分行为,从而实现整个应用程序的行为。

参见

  • 测试驱动开发,TDD/Test-Driven Development
  • Scrum

引用

    1.  D.North, Introducing Behaviour Driven Development 页面存档备份,存于)
    2.  D.North, comments, The RSpec Book - Question about Chapter 11: Writing software that matters 页面存档备份,存于)
    3.  Dan North: How to sell BDD to the business 页面存档备份,存于)
    4.  D.North, Introducing RBehave 页面存档备份,存于)
    5.  S.Miller, InfoQ: RSpec incorporates RBehave 页面存档备份,存于)
    6.  Chris Matts, Feature Injection
    7.  E.Keogh, BDD - TDD done well? 页面存档备份,存于)

外部链接

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.

 

 

 

Je suppose que tu aimes

Origine blog.csdn.net/weixin_40191861/article/details/132823154
conseillé
Classement