Testing in a behavior driven development environment

Page 1

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 software’s 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.

Mittn’s 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. Gauntt’s 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-Security’s 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 Gallop’s 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/


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.