Talk:Behavior-driven development

From Wikipedia, the free encyclopedia
Jump to: navigation, search
WikiProject Computing / Software (Rated B-class, Low-importance)
WikiProject icon This article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
B-Class article B  This article has been rated as B-Class on the project's quality scale.
 Low  This article has been rated as Low-importance on the project's importance scale.
Taskforce icon
This article is supported by WikiProject Software (marked as Low-importance).
 
WikiProject Computer science (Rated B-class, Low-importance)
WikiProject icon This article is within the scope of WikiProject Computer science, a collaborative effort to improve the coverage of Computer science related articles on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
B-Class article B  This article has been rated as B-Class on the project's quality scale.
 Low  This article has been rated as Low-importance on the project's importance scale.
 

Use British English spelling for BDD[edit]

In the "Introducing BDD" article the term is coined as "behaviour-driven development". The rest of the article seems to be in American English, but the term should always be in British English according to Wikipedia:Manual of style#National varieties of English. Spur (talk) 01:43, 4 July 2012 (UTC)

Lack of information[edit]

Let's talk about it before speedily deleting this article again... I'm sorry the first version was so information free... I just wanted to create a space to discuss the topic.


I've updated the article. Maybe the context message can go now.


The message can't go! The article, especially the beginning, is in terrible condition. --Mislav 22:04, 12 October 2006 (UTC)


So, I just made some massive changes to this. Mostly it's based on Dan's stuff, together with some things from my blog and the XP list on Yahoo, that I know he's agreed with. Will add some in-text citations as soon as I have time.

Hope this serves as a good base for further edits!

Featheredwings (talk) 09:27, 18 February 2008 (UTC)

Dave Astels[edit]

Dave Astels also influences BDD. See his ideas and framework (at the moment in Ruby) in this video: Beyond Test Driven Development - Behaviour Driven Development ( 302 MB, 47:40 min ) Google TechTalks March 17, 2006 [1]. --Erkan Yilmaz 20:31, 11 November 2006 (UTC)

I'm dubious about the accuracy of this article. Many of the things it says about BDD are things I thought were already true of test-driven development. Needs more cites. —Preceding unsigned comment added by 24.6.102.150 (talkcontribs) 01:02, 18 March 2007

What is the relationship with traditional specification as language (CLU, Eiffel)?[edit]

Consider representation invariants in a language such as CLU, or invariants in design-by-contract as in Eiffel.

These methods of development are similar to Behavior Driven Development. First one creates a specification for behavior, then the implementation of that behavior. The difference seems to be that there is less danger of destroying encapsulation when the specification is only for externally visible behavior. That is, the behavior of encapsulated details should be private, and should not require making those details public.

Has anyone written about the parallel between classic "executable specification" and Behavior Driven Development? Should something go in this article? --Frank Hileman 22:14, 26 September 2007 (UTC)

Ubiquitous Language[edit]

I'm not clear on the relationship to the ubiquitous language. Is BDD forming a ubiquitous language for testing or if you are practicing DDD with BDD is the ubiquitous language used in the tests? —Preceding unsigned comment added by 82.41.217.214 (talk) 21:46, 20 February 2008 (UTC)

A team should use the same verbiage for the same things - from the database to the view to the verbal conversations - following their client's lead with domain-specific jargon. That is ubiquitous language, and storytests are just one layer that should reinforce this vocabulary. —Preceding unsigned comment added by 98.175.108.199 (talk) 01:34, 9 March 2010 (UTC)

Seems to me that an explicit requirement to include a clear VERB-OBJECT structure in the descriptions would be helpful in ensuring it is clear what process is being done to what entity. — Preceding unsigned comment added by Lucchase (talkcontribs) 18:37, 22 August 2013 (UTC)

How does this differ from TDD?[edit]

I'm not sure what the difference is between this and TDD. Can an expert add a section please 86.54.187.18 (talk) 16:31, 21 January 2009 (UTC) In fact it feels a bit like Dan North's take on TDD. —Preceding unsigned comment added by 86.54.187.18 (talk) 16:33, 21 January 2009 (UTC)

answered in the current version - it's TDD written in client-readable prose. See "literate programming" —Preceding unsigned comment added by 98.175.108.199 (talk) 01:36, 9 March 2010 (UTC)

Rename as "Behavior-driven development"?[edit]

The following discussion is an archived discussion of a requested move. Please do not modify it. Subsequent comments should be made in a new section on the talk page. No further edits should be made to this section.

The result of the move request was: moved. Unopposed for a week and appears to be in line with WP:CAPS, WP:HYPHEN and other related articles. Jenks24 (talk) 10:05, 25 June 2012 (UTC)



Behavior Driven DevelopmentBehavior-driven developmentTest-driven development has set a precedent (I think). Other articles in Category:Software development philosophies that are not book titles follow WP:LOWERCASE. This page should follow that form and be named Behavior-driven development. --DavidBiesack (talk) 13:29, 18 June 2012 (UTC)

The above discussion is preserved as an archive of a requested move. Please do not modify it. Subsequent comments should be made in a new section on this talk page. No further edits should be made to this section.

Gherkin is no longer specific to Cucumber[edit]

It was originated by Cucumber, and the argument could certainly be made that it is still primarily used for Cucumber, but the Gherkin project's own wiki specifies that it feeds / is supported by a fairly wide set of other languages and tools.

Given that, should there be a sentence specifically and explicitly mentioning that it is exclusive to Cucumber? See here for more details: https://github.com/cucumber/gherkin/wiki/Tool-Support — Preceding unsigned comment added by 84.246.168.11 (talk) 16:44, 25 April 2013 (UTC)

Meaningless and inprecise phrasing[edit]

I understand the whole Agile movement is very wishy-washy and full-to-bursting with buzzword-touting consultants. Does this article really have to be similarly devoid of information and specificity? — Preceding unsigned comment added by 82.9.176.129 (talk) 18:27, 10 August 2013 (UTC)

TDD wrongly represented?[edit]

The article has it that "TDD essentially states ...: define a test set ... first; then implement the unit; finally verify that ... the tests succeed."

My understanding of TDD is that a), contrary to the above, each test is to be specified separately, immediately followed by implementation of what is in scope of the test and verification of the outcome; and b) this way of working is the essence (!) of TDD.

Does anyone object to changing this to represent TDD better, do you feel that saying "essentially states" prevents this from being an oversimplification? Oliver Gramberg (talk) 08:09, 27 February 2014 (UTC)

Business and Stakeholder driven via User Stories / BDD useful only for high-level business domain logic?[edit]

Reading the article it suggests that the key drivers for BDD are the stakeholders but typically they are totally clueless about everything outside the business domain. For example if you want to use TDD on non-business domain units such as form or graphics composition libraries interopability libraries import export libraries application frameworks or pretty much any other component developed that is generic enough to satisfy a projects architecture - why would you even want to come up with a convaluted warping of a user story to somehow justify reading or writing a byte of data somewhere or another? ZhuLien 66.249.80.203 (talk) 16:13, 5 March 2014 (UTC)

External links modified[edit]

Hello fellow Wikipedians,

I have just modified one external link on Behavior-driven development. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:

When you have finished reviewing my changes, please set the checked parameter below to true or failed to let others know (documentation at {{Sourcecheck}}).

You may set the |checked=, on this template, to true or failed to let other editors know you reviewed the change. If you find any errors, please use the tools below to fix them or call an editor by setting |needhelp= to your help request.

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

If you are unable to use these tools, you may set |needhelp=<your help request> on this template to request help from an experienced user. Please include details about your problem, to help other editors.

Cheers.—InternetArchiveBot (Report bug) 22:30, 29 October 2016 (UTC)

External links section moved from article[edit]

In case there's something here that could be used for content verification or expansion: --Ronz (talk) 18:49, 19 January 2017 (UTC)

Shouldn't it be told that there are essentially two levels for BDD?[edit]

Like the title says, there are two levels of BDD:

  1. Acceptance Testing => Something like Cucumber and JBehavior
  2. Unit Testing => Something like RSpec.

And they both have different terms that one should use... Maybe this article should be changed to reflect that. 2001:8A0:7F0F:3601:899C:15B8:A86A:4242 (talk) 15:25, 14 August 2017 (UTC)