Behavior Driven Testing tools extend the test driven development which use the domain specific scripting languages to convert Business specific requirements into executable tests. Behavior Driven Development is a popular and acknowledged software testing methodology today.
Behavior Driven Test are in the form of simple text features descriptions with scenarios written at the onset. These are tested by non-technical workforce. The tests remain focused on the system level behavior rather than the technical aspects related to the specific programming environment.
Test Driven Development is related to the test-first programming concepts of rigorous programming methods. The developers design failing test cases with an aim to project the desired improvements and refines the code to meet these standards after execution of the failing test cases.
In BDD, failing feature tests are written and are used to eliminate issues that TDD might cause. BDD is the missing link between business language like User Stories and automatic tests like Junit. In order to keep the documentation in sync with the code – testers run it as test in Continuous Integration build like Jenkins. Test specification are written in business friendly form, for example in some text or HTML file. This way it is easily accessible by Business Analysts. It must fail just like any other test during Surefire or Failsafe execution. After the build a user friendly HTML report should be made available.
GAUGE from ThoughtWorks Studios
ThoughtWorks Studios offers a comparatively new test automation solution for BDD- Gauge. A light weight, open source cross-platform test automation tool, Gauge is sponsored by ThoughtWorks Inc.
It has a very competent command line interface and provides the facility to develop test cases in business language. Gauge supports executable documentation.
Key Features of Gauge
- The specifications are written in Markdown Language, a widely known markup syntax to make the development very simple and fast
- Gauge has a very Simple, Flexible and Rich Syntax to make the testing process simpler and speedier
- Gauge supports Multiple Languages and the Test code can be written in any of the following popular programming
- Gauge provides a quite simple Parallelization strategy across all the languages for Parallel Execution
- Gauge is Extensible and Hackable and provides a modular architecture with plugin support. It includes language support, driver support, test execution events, and more.
- IDE Support in Gauge is well integrated. IntelliJ IDEA IDE plugin is available for gauge to make writing specifications and test codes simpler for Java
- It is an Open Source tool which can be shared freely and improved by others as well
- Gauge has a modular architecture with plugin support
- This open source platform maintains consistency across language implementations exhibiting true Cross Platform Support
- Maintainable and Understandable test suites is a special feature of Gauge
Other frameworks for Behavior Driven Testing and Development
Many other BDD frameworks are popular and in vogue today
- JDave is a BDD framework for Java. Inspired by rspec it integrates JMock 2 as mocking framework and Hamcrest as matching library
- It uses JUnit adapter to launch JDave specifications
- Concordion is an open source tool for automating Specification by Example
- Concordion specifications are readable and can be used as system documentation
- They are written in HTML, so can be easily hyperlinked into a navigable structure
- The specifications contain examples of behaviour which, when automated and executed against your system, are colour-coded by Concordion to show whether the examples are working
- By executing these frequently, you can be confident your documentation is always up-to-date with your system
- Easyb is a behavior driven development framework for the Java platform.
- By using a specification based Domain Specific Language, easyb aims to enable executable and readable documentation
- easyb specifications are written in Groovy and run via a Java runner that can be invoked via the command line, Maven 2, or Ant
- easyb supports a few different styles of specifications
- Behave is a framework for Behavior Driven Development. It shifts the vocabulary from being test-based to Behavior Based
- Cucumber lets software development teams describe how software should behave in plain text
- The text is written in a business like language and serves as documentation, automated tests and development-aid – all in one
- Cucumber works with Ruby, Java, .NET, Flex or web applications written in any language. It has been translated to over 40 spoken languages
On A Parting Note
Software Testing Solution ensure a right mix of Manual and Automated Testing and provide support through the Testing Life Cycle. Our unbiased test reports help smoother implementations with near zero post-delivery defects and higher customer satisfaction.
Request a FREE POC to Test drive our services.