​Build the ‘Right’ Regression Suite Using Behavior Driven Testing (BDT)

I did a webinar for uTest on how to “Identify the ‘right’ regression suite using Behavior Driven Testing (BDT)”. The video from the talk can be seen below, and the slides can be found towards the end of this post. 

This technique has helped me, and many teams identify and keep their top layer of the pyramid ‘sane’. It may also help you!

To learn what is BDT and how this technique can help, one first needs to understand, in detail, the concept of the Test Automation Pyramid.

Ideal Test Automation Pyramin

Over the years, I have observed many teams claim to understand the value of the Test Pyramid, however have found it difficult to implement it. They have contributed inappropriately to building a ‘sane Test Automation Pyramid’. In most cases, the reason has been due to not identifying or building the *right type of UI automation-based tests - the layer on top of the Test Automation Pyramid. 

*right type of UI automation-based tests: For UI Automation, the test should:

  • cover the breadth of the product (instead of granular functional validation),
  • validate relevant business impact (instead has more technology impact),
  • if none of the above, then the test should be automated in the lower layers of the Test Pyramid

There is undoubtedly great value in the top-layer UI tests - ONLY IF they are identified and built correctly. Also, these tests will be valuable ONLY IF the lower layers of the Test Pyramid are identified, and implemented extensively. 

So if the “Ideal Test Automation Pyramid” looks like what is shown above, there are numerous instances of the following anti-patterns existing on Teams.

Ice-Cream Cone Anti-Pattern

Dual Test Pyramid Anti-Pattern

Cupcake Anti-Pattern
Source: Introducing the Software Testing Cupcake (Anti-Pattern)

To help teams identify the tests at the top layer of the Test Pyramid correctly, I came up with a technique called - Behavior Driven Testing (BDT). This could also be called - Business Driven Testing (BDT)

Here are the slides from the webinar: