Introduction – Behaviour Driven Testing

Behaviour Driven Development is a well-accepted and current methodology in Agile projects.  Behavior Driven Testing (BDT) is a lesser-known companion of Behaviour Driven Development (BDD). BDT can be used without BDD.

It involves getting stakeholders and delivery teams with different perspectives onto the same page and ensuring that all have the same expectations.  BDD starts with a business goal and goal that translates to features and stories.

The goal of BDT is a business readable and domain-specific language that allows you to describe a system’s behavior without detailing how that behavior is implemented.

In BDT, Tests in the form of plain text features descriptions with scenarios are typically written before anything else and verified by the nontechnical stakeholders.

The most important advantage of using Behavior Driven Development is that it allows the product owner to write acceptance criteria in the form of features. The developer can then work towards developing step definitions to test the features the product owner has defined. The step definitions correlate with the acceptance criteria/features with the intention of leaving no discrepancies between what the product owner wants from their product and what the programmer develops.

Cucumber for BDD – Behaviour Driven Testing 

Cucumber is optimized for BDD, by its support for a particular set of interactions between team members and stakeholders.

Cucumber can execute plain-text functional (feature) specifications as automated tests. The language that Cucumber understands is called Gherkin.

Cucumber supports writing specifications in about 30 spoken languages, making it easy for teams outside of English-speaking territories or those working on internationally targeted software to deliver better.

Other salient features include:

  • Defining executable specifications in different ways like lists, prose, and tabular data
  • The plain text files can be stored in any version control system
  • Cucumber works with Ruby, Java, .NET, Flex, or web applications are written in any language
  • Can be integrated with all the most popular web testing libraries
  • Cucumber is both BDD in the form of feature descriptions and scenarios and TDD in the form of step definitions
  • Provides a layer of abstraction between the required behavior and the app implementation

The other tools that support BDD are FitNesse, JBehave (the original BDD tool), and Concordion.

 

?Most Popular Topics

?Top 5 Aspects to consider when testing financial applications

?The Challenges Faced by Today’s Quality Assurance Practices

?Design Patterns In Test Automation World

 

Follow us on Aspire Systems Testing to get detailed insights and updates about Testing!

Latest posts by Devasena Hariharan (see all)