Questions tagged [bdd]

BDD stands for Behavior Driven Development. It is related to, and derived from, TDD (Test Driven Development) and ATDD (Acceptance Test Driven Development). It differs from them in its language, preferring "example", "scenario" or "specification" to "test".

BDD stands for Behavior Driven Development.

It is related to, and derived from, TDD (Test Driven Development) and ATDD (Acceptance Test Driven Development). It differs from them in its language, preferring "example", "scenario" or "specification" to "test".

Unlike TDD, BDD is not focused on functionality but on behavior.

It improves communication between team members and it bridges the gap between non-technical and technical people working on the same project by using a common language. Whereas TDD focuses on "how" to implement the functionality, BDD explains "what" functionality to implement.

BDD is an Agile software development process...

...that encourages collaboration between developers, QA and business participants in a software project.

BDD is also known as...

... (Specification by Example) or (Acceptance Test Driven Development). It is derived from (Test Driven Development). It differs from them in its language, preferring example, scenario or specification to test. The language is intended to encourage questioning and conversation around the scenario or example, as BDD works from an assumption that we don't know enough to write an accurate test in the first place.

Scenario-based BDD tools use a Given / When / Then format to capture and automate the conversations. TDD and mocking tools are commonly used at a class level.

Tag questions about binary decision diagrams with . Tag questions about Microsoft's Business Desktop Deployment, now Microsoft Deployment Toolkit, with .

3390 questions
135
votes
12 answers

What are the primary differences between TDD and BDD?

Test Driven Development has been the rage in the .NET community for the last few years. Recently, I have heard grumblings in the ALT.NET community about BDD. What is it? What makes it different from TDD?
NotMyself
  • 29,209
  • 17
  • 56
  • 74
134
votes
10 answers

Practicing BDD with python

Which are the most advanced frameworks and tools there are available for python for practicing Behavior Driven Development? Especially finding similar tools as rspec and mocha for ruby would be great.
JtR
  • 20,568
  • 17
  • 46
  • 60
123
votes
15 answers

TDD/BDD screencast/video resources

I've recently finished watching the Autumn of Agile screencasts and I'm looking for more material of similar scope. Basically, I'm looking for screencasts that present TDD/BDD process while developing somewhat "real life" applications (or parts of…
Ree
  • 6,061
  • 11
  • 48
  • 50
121
votes
8 answers

What are the differences between BDD frameworks for Java?

What are the pros and cons of each Behavior Driven Development (BDD) framework for Java? I've found some of them here, for example. Does it make sense to use a BDD framework if I already use a mocking library (e.g. Mockito)?
user68109
  • 2,446
  • 6
  • 21
  • 20
117
votes
6 answers

How do I verify jQuery AJAX events with Jasmine?

I am trying to use Jasmine to write some BDD specs for basic jQuery AJAX requests. I am currently using Jasmine in standalone mode (i.e. through SpecRunner.html). I have configured SpecRunner to load jquery and other .js files. Any ideas why the…
mnacos
  • 1,195
  • 2
  • 8
  • 8
101
votes
9 answers

How to get parent node in Capybara?

I'm working with many jQuery plugins, that often create DOM elements without id or other identification properties, and the only way to get them in Capybara (for clicking for example) - is to get their neighbor (another child of its ancestor) first.…
sandrew
  • 3,109
  • 5
  • 19
  • 29
98
votes
6 answers

Checking object equality in Jasmine

Jasmine has built-in matchers toBe and toEqual. If I have an object like this: function Money(amount, currency){ this.amount = amount; this.currency = currency; this.sum = function (money){ return new Money(200, "USD"); …
Dan
  • 11,077
  • 20
  • 84
  • 119
96
votes
7 answers

Speeding up RSpec tests in a large Rails application

I have a Rails application with over 2,000 examples in my RSpec tests. Needless to say, it's a large application and there's a lot to be tested. Running these tests at this point is very inefficient and because it takes so long, we're almost at the…
randombits
  • 47,058
  • 76
  • 251
  • 433
79
votes
2 answers

Using object types with Jasmine's toHaveBeenCalledWith method

I've just started using Jasmine so please forgive the newbie question but is it possible to test for object types when using toHaveBeenCalledWith? expect(object.method).toHaveBeenCalledWith(instanceof String); I know I could this but it's checking…
screenm0nkey
  • 18,405
  • 17
  • 57
  • 75
72
votes
11 answers

BDD and TDD for node.js?

What is used for BDD and TDD with node.js? I'm used to use Cucumber + RSpec. What's a good combo for node.js? thanks
donald
  • 23,587
  • 42
  • 142
  • 223
71
votes
4 answers

What are the differences between JBehave and Cucumber?

I have read somewhere that JBehave is actually the Java equivalent of Cucumber, whereas Cucumber is based on Ruby. Can someone describe the differences between them provide links that do?
Manoj
  • 913
  • 1
  • 7
  • 9
71
votes
13 answers

MongoDB.service failed with result exit-code

I can't start mongoDB with the command "sudo systemctl start mongod". I'm getting the following message : ● mongod.service - MongoDB Database Server Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled) Active:…
Donastien
  • 711
  • 1
  • 5
  • 4
70
votes
17 answers

What does regression test mean?

Could anyone explain the word regression test in an understandable way?
never_had_a_name
  • 90,630
  • 105
  • 267
  • 383
68
votes
5 answers

Getting requirejs to work with Jasmine

I first want to say that I am new to RequireJS and even newer to Jasmine. I am having some issues with the SpecRunner and require JS. I have been following the tutorials of Uzi Kilon and Ben Nadel (along with some others) and they helped some but…
The Sheek Geek
  • 4,126
  • 6
  • 38
  • 48
60
votes
8 answers

Good Cucumber examples in the wild?

I've tried Cucumber for a few projects a couple of years ago and am looking to give it another go. I don't really need another "Beginning Cucumber" article. Instead, I'd like to see some actual uses in the wild—one's that other Cucumber users would…
AndrewO
  • 1,590
  • 1
  • 17
  • 24
1
2 3
99 100