BDD stands for "Behavior-Driven Development," a software development style that encourages cooperation between developers and stakeholders through identifying and exploring different examples of how a system or smaller element of code might work from a user's perspective.

learn more… | top users | synonyms

128
votes
6answers
61k views

What is the difference between BDD and TDD?

I have been learning writing test cases for BDD using specflow. If I write comprehensive tests with BDD is it necessary to write TDD test separately? Is it necessary to write test cases for both TDD ...
67
votes
11answers
6k views

Is there a reason that tests aren't written inline with the code that they test?

I've been reading a bit about Literate Programming recently, and it got me thinking... Well-written tests, especially BDD-style specs can do a better job at explaining what code does than prose does, ...
36
votes
7answers
3k views

Is it sufficient to use acceptance and integration tests instead of unit test?

Short introduction to this question. I have used now TDD and lately BDD for over one year now. I use techniques like mocking to make writing my tests more efficiently. Lately I have started a ...
21
votes
10answers
1k views

Automated Testing: Explaining its Business Value

To start I don't think this is a repeat of other questions on unit testing. What I'm looking for help with is articulating its value to a team of programmers, analysts, managers and testers. By ...
21
votes
4answers
990 views

Is BDD actually writable by non-programmers?

Behavior-Driven Development with its emblematic “Given-When-Then” scenarios syntax has lately been quite hyped for its possible uses as a boundary object for software functionality assessment. I ...
18
votes
7answers
2k views

TDD/Tests too much an overhead/maintenance burden?

So you've heard it many times from those who do not truly understand the values of testing. Just to start things out, I'm a follower of Agile and Testing... I recently had a discussion about ...
18
votes
4answers
1k views

Is BDD scalable for medium to large projects?

In every Website you read about BDD (Behaviour Driven Development) you find a very simple nice example showing you how obvious and easy is it to define your requirements. But trying to implement this ...
17
votes
10answers
2k views

Is 100% code coverage a pipe dream?

Is it feasible to expect 100% code coverage in heavy jquery/backbonejs web applications? Is it reasonable to fail a sprint due to 100% coverage not being met when actual code coverage hovers around ...
11
votes
2answers
969 views

Relation between BDD and TDD

What is the relation of BDD and TDD? From what I understood BDD adds two main things over TDD: tests naming (ensure/should) and acceptance tests. Should I follow TDD during development by BDD? If ...
11
votes
3answers
992 views

What arguments can I use to “sell” the BDD concept to a team reluctant to adopt it?

I am a bit of a vocal proponent of the Behaviour Driven Development methodology (aka BDD). I've been applying BDD for a couple of years now, and have adopted StoryQ as my framework of choice when ...
9
votes
4answers
989 views

When writing specs BDD-style, should you use “should”, or should you not?

I realize this is somewhat subjective, but I can't find a good case for one or the other : it "should do something" it "does something" Proponents of the should style mention that it forces ...
8
votes
6answers
1k views

What is the role of QA in a BDD-driven project?

If running a project using BDD with 100% coverage of user stories with automated acceptance tests, what would be the role of a tester / quality assurance person? I guess I am imagining that ...
8
votes
3answers
552 views

BDD: Getting started

I'm starting with BDD and this is my story: Feature: Months and days to days In order to see months and days as days As a date conversion fan I need a webpage where users can enter ...
7
votes
5answers
683 views

BDD/TDD vs JAD?

I've been proposing that my workplace implement Behavior-Driven-Development, by writing high-level specifications in a scenario format, and in such a way that one could imagine writing a test for it. ...
7
votes
3answers
314 views

How to measure external quality of software

For my thesis, I am doing research into the characteristics of Behavior Driven Development (BDD). One of the BDD claims is that by specifying the requirements in a ubiquitous language together with ...
7
votes
1answer
307 views

How to use BDD to unit test a compiler?

My team is writing a compiler for a domain-specific language (DSL) which will be integrated into an IDE. Right now, we are focused on the analysis phase of the compiler. We are not using any existing ...
6
votes
2answers
260 views

Behaviour driven development IRL [closed]

Did any of you use behavior driven development in your projects? The concept and tools for it sound great. But was it easy to introduce and then stick to it? Did it lead to significant and visible ...
6
votes
4answers
445 views

How to be successful at BDD Specifications Workshops?

Today we tried to introduce BDD in our software development process by having a specification workshop. For this workshop we had 2 developers, 1 tester and 1 business analyst. The workshop lasted ...
6
votes
3answers
2k views

Behavior Driven Development and Unit Testing in Python

We might be interested in starting to incorporate a unit test suite to our project, which is coded in Python (and it uses Redis, PostgreSQL and some third-party libraries, if that bears into the ...
6
votes
1answer
237 views

How to edit existing user stories

I'm quite new to working in Agile and with user stories and scenarios in the BDD tool Cucumber and ideally I'll need to go on a course of all of this. I have a set of user stories that need to be ...
6
votes
2answers
565 views

BDD to replace the test teams work - how best to do it?

The system we are developing, using .NET, is extremely large, complex, and some modules are poorly written. We have a large user acceptance test team that is aiming for 100% business scenario ...
6
votes
2answers
720 views

Are there any companies using BDD in a .NET environment?

I've seen BDD in action (in this case using SpecFlow and Selenium in a .NET environment) for a small test project. I was very impressed - mainly due to the fact that the language used to specify the ...
5
votes
3answers
604 views

BDD in .NET - Chicken or Egg or..?

Predicate: I'm brand new to BDD / TDD, but I've done my homework. I'm trying to put everything I've read / learned into practice with VS2010, SpecFlow and NUnit. Things are working, but it's quickly ...
5
votes
6answers
1k views

What are the advantages to BDD for a solo developer?

I have found this lines below about the advantages of BDD (Behavior Driven Development) The domain experts define what they need in the program in a way that the developers can not misinterpret ...
5
votes
5answers
780 views

Interesting questions about Behaviour-Driven Development

For my master thesis at Software Engineering, I want to investigate in the new development technique BDD (Behaviour-Driven Development). In my opinion this technique could really improve on customer ...
5
votes
6answers
389 views

How to set up a one-man research in the difference between BDD and Waterfall?

Earlier, I asked a question about how to measure the quality of a project. The outcome of that question was that the quality of the project can be divided into two parts: Internal quality (code ...
5
votes
2answers
490 views

Testing-related methodologies except TDD/BDD [closed]

Are there any testing-related methodologies except TDD/BDD? I see a lot of people who practice their own testing approaches (e. g., see Ayende post), but I don't see any formalization for it, no ...
5
votes
1answer
532 views

Node.JS testing with Jasmine, databases, and pre-existing code

I've recently built the start of a core system which is likely going turn into a monster product. I'm building the system with node.js, and decided after I got a small base built, that It'd be a ...
4
votes
5answers
205 views

If we have TDD and BDD why do we need QA for? [duplicate]

If we have TDD and BDD why do we need QA for? Isn't the job of the developer to write bugs or failing tests? If this is true how a QA fit in? Thanks.
4
votes
2answers
264 views

How abstract should you get with BDD

I was writing some tests in Gherkin (using Cucumber/Specflow). I was wondering how abstract should I get with my tests. In order to not make this open-ended, which of the following statements is ...
4
votes
3answers
2k views

How do you unit test a User Interface? [closed]

I use JavaScript with JQuery for a Rails application. I have some dynamic behaviour in this one. As a Ruby developper, I like TDD/BDD, specialy with RSpec. For the moment, I test my JavaScript ...
4
votes
2answers
552 views

Behavior-Driven Development / Use case diagram

Regarding growing of Behavior-Driven Development imposing acceptance testing, are use cases diagram useful or do they lead to an "over-documentation"? Indeed, acceptance tests representing ...
4
votes
4answers
607 views

Where do you put scenarios on a scrum board?

So traditional scrum board looks something like this Backlog | Story notStarted inprogress Done story 1 Story1 tasks Story 2 Story2 tasks ...
4
votes
2answers
1k views

Should SpecFlow be used with BDD as a solo developer?

I am a long time fan of TDD and after reading the RSpec book, would like to transistion to a BDD process. I like the idea of driving from the outside in, as it is presented in the book. What I am ...
4
votes
2answers
958 views

Is the difference between BDD and TDD nothing more than a vocabulary shift? [duplicate]

I recently made a start on learning BDD (Behaviour Driven Development) after watching a Google tech talk presented by David Astels. He made a very interesting case for using BDD and some of the ...
4
votes
1answer
148 views

How to develop a Delete command through Behavior Driven Development?

I am trying to develop a Delete command through BDD that will simply delete an user from the database, given user_id as a parameter. What can be some possible behavioral tests that will drive me to ...
4
votes
1answer
97 views

Testing gap between unit and integration: Integration in the Small, Component, Unit Integration Tests

Over the past few weeks I've been mulling and researching how to fill a gap in our testing methodology. In simplified terms unit tests are too small and traditional integration tests are too big. A ...
4
votes
2answers
891 views

How to organize unit/integration test in BDD

So finally after reading a lot, I have understood that the difference between BDD and TDD is between T & B. But coming from basic TDD background, what I used to was, first write unittest for ...
4
votes
1answer
174 views

Using NSpec at various architectural layers

Having read the quick start at nspec.org, I realized that NSpec might be a useful tool in a scenario which was becoming a bit cumbersome with NUnit alone. I'm adding an OAuth (or, DotNetOpenAuth) to ...
3
votes
5answers
747 views

“TDD is about design, not verification”; concretely, what does that mean?

I've been wondering about this. What do we exactly mean by design and verification. Should I just apply TDD to make sure my code is SOLID and not check if it's external behaviour is correct? Should ...
3
votes
2answers
158 views

BDD based on 1-liner requirements

In our team, the product owner only gives us a 1-liner summary. The developers then come up with a PoC, which the product owner reviews and the cycle repeats. The challenge here is 2-fold: Time: ...
3
votes
2answers
681 views

Functional testing and Acceptance testing leading to redundant code

What I know is: A Functional test aims to test a single component (like a WebApp's Controller) from the point of view of the developer. => Did I achieve all the requirements to make it work well? ...
3
votes
1answer
99 views

BDD and behavior based on complex state

I'm wondering how to write BDD test cases for a real system. All examples I can find are trivial and do not answer the question. Sample use case/story basically goes like that: User is on the main ...
3
votes
3answers
176 views

When to write tests for a new class using BDD?

I've been practicing behaviour driven development (BDD). I understand that you have to write tests that test the behaviour of the code, and this will allow the design of your code to evolve and take ...
3
votes
2answers
246 views

Product Owner and automated tests

One of the claims of BDD-style development is that it bridges the gap between Product Owner and developers: the Product Owner writes a story, which can be converted in an equivalent automated test ...
3
votes
2answers
354 views

Using automated bdd-gui-tests to keep user-documentation-screenshots up do date?

Are there developpers out there, who (ab)use the CaptureScreenshot() function of their automated gui-tests to also create uptodate-screenshots for the userdocumentation? Background: Whithin the ...
3
votes
1answer
89 views

In BDD, going from feature to user story how does it works?

My background is the book BDD in action. How one goes from Feature to Stories? More specifically I would like to understand the following: 1- When does one provide the decomposition into stories? Do ...
2
votes
3answers
594 views

TDD, BDD or both? [duplicate]

I'm a little bit confused about BDD. I'm doing TDD currently. My question is whether BDD is complementary to TDD or it's a whole new thing and my team should do both TDD and BDD? Or is it enough to ...
2
votes
2answers
506 views

At which architecture level are you running BDD tests (e.g. Cucumber)

I have in the last year gotten quite fond of using SpecFlow (which is a .NET port of Cucumber) I have used it both to test a ASP.NET MVC application at the web layer, i.e. using browser automation, ...
2
votes
3answers
266 views

Should selenium tests be written in imperative style?

Is an automation tester supposed to know concepts of OOPS and design patterns to write Tests in a way where changes & code re-use are possible? For example, I pick up Java to write cucumber step ...