Irfan Ahmad bio photo

Irfan Ahmad

Software Critic

Email Twitter Facebook LinkedIn Instagram Github Stackoverflow Youtube

Most of the startups faces common quality engineering problems ,they want to build a product quickly to market and reach more users which means they need to keep innovating to successfully build their product into a sustainable business.

But when innovating quickly you want to make sure you do not negatively impact the product for your existing customers. You don’t have that many so making sure you’re able to keep them is extremely important. And it’s not just about keeping them, but making sure they tell others how great and stable is your product.

This all makes Behaviour driven development a perfect fit for startups,yes i know its a development approach but it can be used as for testing alone if not followed for development.

BDD is set of software engineering practices designed to help teams build and deliver more valuable, higher quality software faster,below image gives a high-level overview of the way BDD sees the world and how it can be used as a testing strategy for testing right from planning to continuous test automation and delivery

Behaviour driven development Flow

BDD Process Image

BDD practitioners like to start by identifying business goals and looking for features that will help deliver these goals. Collaborating with the user, they use concrete examples to illustrate these features. Wherever possible, these examples are automated in the form of executable specifications, which both validate the software and provide automatically updated technical and functional documentation.

BDD principles are also used at the coding level, where they help developers write code that’s of higher quality, better tested, better documented, and easier to use and maintain .

Just as TDD encourages technicians to design as little as needed, BDD encourages everyone to build as little as needed. The act of writing BDD-style examples gives everyone on the project a clear understanding of what a feature means and when to stop building it. Tests in TDD help the programmer see clearly what to build and stop when she’s built it. Examples in BDD help the business see clearly what to ask for and to stop when they’ve got it.

Practising BDD reminds you that ultimately all code ,should map back to business goals and the startups vision ,and helps everyone to focus on desirable outcomes for paying customers, the cornerstone of a successful startup.

Startup Extended Testing Pyramid

Testing Pyramid Image