Our story began in 2002
Our Global Locations
GlowTouch in the News
Putting People First
Ensuring Security for You and Your Customers
Our story began in 2002
Our Global Locations
GlowTouch in the News
Putting People First
Ensuring Security for You and Your Customers
by Thejasree Prakash
Chances are you have heard of Test-Driven development (TDD) and Behavior-Driven Development (BDD) in software development. Below are definitions of both of these practices, including the major differences between the two.
TDD is a software development technique that involves writing automated test cases prior to writing functional pieces of the code. This is popular in agile methodologies as it drives delivering a shippable product at the end of a sprint.
Test cases are mostly written in programming languages such as Java, Ruby, etc., and can be written using test automation tools such as Selenium, Watir, Windmill, etc. Since test scripts are written in programming languages, it is hard for a business analyst or test owner to verify the test scripts.
BDD is a software development technique that defines the user behavior prior to writing test automation scripts or the functional pieces of code.
BDD can be driven by multiple tools such as Cucumber, FitNesse, PowerTools, Docker, and others. The test scripts are written in plain English in Gherkin, and Wiki frameworks. Since the behavior is defined in English, it gives a common ground for ALL stakeholders involved in the project. This reduces the risk of developing code that wouldn’t stand up to the accepted behavior of the user.
BDD explains the behavior of an application for the end-user while TDD focuses on how functionality is implemented. #Dev
Click To Tweet
The behavior of the application is the central idea in BDD; it focuses on the customer and pushes developers and testers to walk in the customer’s shoes. If actions do not affect the end-user, BDD might not represent such a scenario very well. If so, TDD serves the purpose better.
Like many other software development practices, it might not be feasible to identify what works for all projects universally. For systems that are driven by the actions of the end-user such as an eCommerce website or an HR system, BDD acts as a good medium to capture all the user actions. For systems that have third-party API calls, cron jobs, or data exports/imports, TDD might be the better solution.
At GlowTouch, we’re skilled and adept in a wide range of development approaches, from test-driven to behavior-driven development. Learn more about our custom software development services here. For more information, email us at info@glowtouch.com
This site uses cookies. By continuing to browse the site, you are agreeing to our use of cookies.