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.


Example tools of BDD
Specflow

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