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