Software Test Engineering

Test Driven Development (TDD)/Behavior Driven Development (BDD) Using Adaequare’s Action Driven Testing Framework Tool(ADTF)

Executive Summary

Humans are social animals and this is one of the major reasons why we evolved into one of the most intelligent species on this planet. Social interactions bring forth learning and collective wisdom. This is one of the hallmarks of Agile/Scrum in software development and has revolutionized the way we perceive, develop and test software. There are many variants to Agile/Scrum and the ones which are gaining prominence are Test Driven Development (TDD) and Behavior Driven Development (BDD).

What is TDD?

Test-driven development is related to the test-first programming concepts of extreme programming , begun in 1999, but more recently has created more general interest in its own right.

Test-driven development(TDD) is a software development process that relies on the repetition of a very short development cycle: first the developer writes an (initially failing) automated test case that defines a desired improvement or new function, then produces the minimum amount of code to pass that test, and finally refactors the new code to acceptable standards. Kent Beck , who is credited with having developed or ‘red iscovered’ the technique, stated in 2003 that TDD encourages simple designs and inspires confidence.

What is BDD?

Behavior-driven development(abbreviated BDD) is a software development process based on test-driven development(TDD).Behavior-driven development combines the general techniques and principles of TDD with ideas from domain-driven design and object-oriented analysis and design to provide software developers and business analysts with shared tools and a shared process to collaborate on software development. Behavior-driven development was developed by Dan North as a response to the issues encountered teaching test-driven development:

The Key Principles of TDD/BDD

At its core, both TDD/BDD focuses on behavioral specification of software units.

  • Define a test set for the unit first;
  • Then implement the unit;
  • Finally verify that the implementation of the unit makes the tests succeed.

This definition is rather non-specific in that it allows tests in terms of high-level software requirements, low-level technical details or anything in between. The original developer of BDD (Dan North) came up with the notion of BDD because he was dissatisfied with the lack of any specification within TDD of what should be tested and how.One way of looking at BDD therefore, is that it is a continued development of TDD which makes more specific choices than TDD.

Behavior-driven development specifies that tests of any unit of software should be specified in terms of the desired behavior of the unit. Borrowing from agile software development the “desired behavior” in this case consists of the requirements set by the business—that is, the desired behavior that has business value for whatever entity commissioned the software unit under construction.Within BDD practice, this is referred to as BDD being an “outside-in” activity

What is ADTF?

Action Driven Test Automation Framework (ADTF) is a portable software testing automation framework for web applications. It is developed using Selenium2, TestNG, ReportNG and JavaEE to fulfill all the automation needs of TDD/BDD based testing.

ADTF combines the key elements of TDD/BDD into a single framework. The desired behavior of a software unit as described in the key principles of TDD/BDD is captured as actions in ADTF from requirements written in English language.

  • ADTF tooling reads a specification document.
  • ADTF directly understands completely formal parts of the
    ubiquitous language Based on this, the tool breaks each
    scenario up into meaningful actions.
  • Each individual clause in a scenario is transformed into some sort of parameter for a test for the user story. This part requires project-specific work by the software developers.
    • The ADTF framework then executes the test for each scenario, with the parameters from that scenario.

Features and Benefits of ADTF
Why Features Benefits
Next generation generic automation framework The best of Selenium and TestNG are incorporated in ADTF Web Interface for test case management and execution
Recording XML driven framework Web based reporting
Easy to manage objects and data Extendable and easy to maintain Faster execution
No need to customize the script Customizable Test execution reports Extendable
Easy to create and maintain test suites Supports automating internationalization testing Maintainable
Easy to manage test cases    
Change management and Version maintenance made easy    
Multi browser, Multi-OS testing    
About Adaequare

Adaequare is a pioneer in cutting edge Data, Product and Test Engineering Solutions. Established in 2001, Adaequare is a CMMi Level 3 Certified company and has global presence across 3 different locations. Our thrust to be creative is our key to success in this contemporary world.

Data drives Performance! At Adaequare, we are committed to deliver state-of-the-art business solutions through engineering excellence. We enable organizations to improve business performance and realize higher returns on investments through the potential of our business solutions. With innovative, data-driven services and products, we ensure that our customers stay ahead of their competitors through rapid and effective decision making.

Our Data, Product and Engineering capabilities, along with our expertise and experience help organizations improve their business processes continually. We deliver value with cost-effective, high value-based and quality solutions that can precisely address your business challenges

Adaequare means ‘equal to requirement’ and it signifies our focus on providing precise, cost-effective solutions with outstanding quality. We deliver what it takes to turn your ideas into value – to your customers and employees alike!

 

Get in touch

For more details about our services and solutions, contact us now

Your Name *

Your Email *

Your Message

Download (PDF)

This White Paper is for informational purposes only. ADAEQUARE MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS WHITE PAPER.

Adaequare software Engineering is a trademark of Adaequare.

©Copyright 2014 Adaequare. All rights reserved. Reproduction in any manner whatsoever without the express written permission of Adaequare is strictly forbidden. For more information, contact Adaequare.

information in this document is subject to change without notice.