<commit_before>---
layout: post
title: What is the difference between Behaviour-driven Development and Test-driven Development?
---

<img style="float: center" src="{{ site.baseurl }}/images/tdd.png" alt="Test-driven Development">

##Difference between TDD & BDD

According to <NAME>, BDD is just TDD but with better guidelines which is meant, but not guaranteed, to eliminate issues that TDD might cause, for example, poor code organization, design practices, etc.[[2]]

Before you read further, follow the links below for some basic resources to get you started on Behaviour-driven Development (BDD). I am assuming you already know about TDD.


#####Start by looking at some of:

* http://blog.mattwynne.net/2013/08/21/what-is-bdd-and-why-should-i-care-video/
* http://dannorth.net/introducing-bdd/
* http://gojko.net/2010/03/01/are-tools-necessary-for-acceptance-testing-or-are-they-just-evil/

##Misconceptions about BDD and TDD

1. **The client doesn’t care about testing.**
Acutally BDD is a specification-centric perspective, client doesn’t need to do anything with testing. But test is verification which is complex to understand and developers would care about it.
<commit_msg>Update 2015-04-01-tdd-bdd.md<commit_after>---
layout: post
title: What is the difference between Behaviour-driven Development and Test-driven Development?
---

<img align="center" src="{{ site.baseurl }}/images/tdd.png" alt="Test-driven Development">

##Difference between TDD & BDD

According to <NAME>, BDD is just TDD but with better guidelines which is meant, but not guaranteed, to eliminate issues that TDD might cause, for example, poor code organization, design practices, etc.[[2]]

Before you read further, follow the links below for some basic resources to get you started on Behaviour-driven Development (BDD). I am assuming you already know about TDD.


#####Start by looking at some of:

* http://blog.mattwynne.net/2013/08/21/what-is-bdd-and-why-should-i-care-video/
* http://dannorth.net/introducing-bdd/
* http://gojko.net/2010/03/01/are-tools-necessary-for-acceptance-testing-or-are-they-just-evil/

##Misconceptions about BDD and TDD

1. **The client doesn’t care about testing.**
Acutally BDD is a specification-centric perspective, client doesn’t need to do anything with testing. But test is verification which is complex to understand and developers would care about it.

{'fraction_non_alphanumeric': 0.10672268907563025, 'fraction_numerical': 0.018487394957983194, 'mean_word_length': 4.511574074074074, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 8, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '214427', 'n_tokens_mistral': 732, 'n_tokens_neox': 685, 'n_words': 272}