Skip to content
Andrew J C edited this page Nov 25, 2017 · 2 revisions

Welcome to the Kheera BDD wiki!

BDD is a method for describing what behaviours a software system needs to exhibit to successfully solve a given problem. It does this through the use of simple, english-like statements that we refer to as 'scenarios'.

BDD is more than just a test tool. When used at the start of the software development lifecycle, it allows for product owners, analysts and developers to formally agree on what a particular feature should do and what constraints need to be applied. Having a formal acceptance of what will be built, allows developers to have a deeper understanding of the requirements before they start implementing a feature into code. Developers start by writing out acceptance criteria into a Feature File (.feature) in plain english. As they implement a feature, they then write a Step Definition (java) that implements the formal logic to verify if that acceptance criteria passes or fails.

Driving development from a set of BDD acceptance criteria, also allows automated tests to be driven from the same set of scenarios. It helps to answer the question of 'what do we test' as well as 'what is being tested'. New developers can quickly come up to speed on a project by looking at the scenarios specified in the feature file to determine what a software system is supposed to do.

Clone this wiki locally