You are on page 1of 3

Testing in a Behavior-Driven Development Environment

Behavior-Driven Development (BDD)


Deals with the usage of simple domain specific language to effectively express the
behavior and the expected outcomes. It is a process refinement over the Test Driven
Development (TDD) and Acceptance Test Driven Development (ATDD). The concept of
BDD helps to better the conversation between developers, testers, and domain experts.
It also makes it easier to develop a consistent vocabulary for analysts, testers, and
developers, and eases business processes. It further serves to eliminate the ambiguity
and miscommunication that occurs when technical people talk to business people.
Moreover, it closes the gap between developers and users by operating on an easy-tolearn language called Gherkin. This is a business readable language and has a domain
specific edge that serves two purposes: documentation and automated tests. In BDD, a
developer or a Quality Analyst (QA) engineer might clarify the requirements by breaking
this down into specific examples.
General Practices for BDD
BDD primarily focuses on reaching out a clear understanding of the desired software behavior
through consolidated discussions with the stakeholders. It extends TDD by writing test cases in a
natural language that even non-programmers can read it. This natural language helps the users,
stakeholders, project management team to easily understand it without any technical language

http://gallop.net/

knowledge or support. A team using BDD should provide a significant portion of functional
documentation in the form of user stories. Some of the BDD practices include:

Understand the different goals of the stakeholders

Design a flow to get all these goals visualized

Involve the stakeholders at every stage and make them understand the behavior through
suitable examples

Analyze these examples to provide their automation, and then perform regression testing

Describe the importance of the usage of terms like scenario and specification

Visualize the behavior of the software to help clarify responsibility and allow the
softwares functionality to be questioned

Mocks and collaboration of code modules

Testing Tools Used for BDD


Some of the tools like Fit/FitNesse tools target a BDD approach as they allow the automatic generation
of technical user documentation for BDD specifications. BDD also enables defining security
requirements as stories that are compatible with scrum development and continuous integration
testing. Some of the most commonly used open source tools of BDD include Mittn, Gauntt, and BDDSecurity. These tool frameworks have been briefly described below.

Mittns primary language is Python and the primary language of the BDD-framework is
Behave which is typical of its nature. The Default Web App Pen test tools include Burp
Suite and radamsa, and the operating system is UNIX. Mittn is also based on Behave and
can produce JUnit XML test result documents.
Gauntts primary language is Ruby and the basic BDD-framework remains Cucumber.
The default Web App Pen test tools include Garmr, arachni, dirb, sqlmap, and curl, and
the operating system is UNIX. Gaunt provides such flexibility wherein arbitrary raw
command lines can be checked.
BDD-Securitys primary language is Java and the basic BDD-framework is jbehave and
the Default Web App Pen test tools include Zap and Burp Suite, while the operating
system can be Windows or UNIX. The nature of BDD-Security revolves around running a
shell script with keen intent.
Cucumber is not exactly a testing tool, but it is useful to write scenarios that establish
business rules instead of UI functionality. Moreover, Cucumber helps to encourage

http://gallop.net/

conversation between all stakeholders involved to depict examples to make things


clearer and further reduce ambiguity and help others to agree on what they are
building.
It is necessary to take a stance of the tool frameworks while using them as each of them
has a different approach toward definitions. Finally, we can infer that applying these
might significantly pave the way to bring about lower levels of abstraction of the
software, thus ensuring attention to the distribution of software behavior.
Gallop Solutions has more than a decade of experience in independent testing services
and is at the forefront in enabling effective testing services for varied industry verticals
for various automation needs. Contact Gallops team of testing experts to know more.
Tags: Agile Testing Acceptance Test Driven Development, Agile testing, bdd framework, BDDSecurity, behavior driven development environment, cucumber, FitNesse tools, Gallop, Gallop
Solutions, Gauntt, software behaviour, Test driven development, testing services

http://gallop.net/

You might also like