Why BDD: Behavioral Driven Development

There are 2 main types of bugs

  • Regression Bugs: A type of software bug ​where a feature that has worked before stops working
  • New Feature Bugs: An incompleteness, unexpected behavior of new feature

Example

 

Car’s Feature

– Drive point A to point B​

– Able to brake / lower speed​

– Able to turn left or right​

– Sending light signal​

– Controlling Temperature​

– Playing music​

Implement change / new feature

– Adding CNG system​

Bug Type

– Regression Bug: Car nolonger run on Gas/Petrol (old system)​

– New Feature Bug: CNG Gas leak

How to prevent

  • Regression bug has HIGHER PRIORITY and can be prevent by Automated Regression Tests
  • New feature bug is just incompleteness, can be prevent by increase coverage of expected scenario

BDD: Behavioral Driven Development

A development concept that begin with desire expected behavior first. This can put PO: Product Owner into the loop of SLDC: Software development cycle.

Before
After

Example tools of BDD

Specflow

Reference: https://specflow.org/

LivingDoc Demo: https://specflowoss.github.io/LivingDoc-Demo/BookShop.html#/document/Standalone/feature/f78656bac2b7f5a04acd33feeae5edd9