Agile Tour Pune 2015:Test automation using BDD - Anita Pol and Sachin Salvekar
1. BDD An Automation Approach In Agile
Presented by
Ms. Anita Pol (Business Consultant) & Mr. Sachin Salvekar (Solution Architect)
2. We make Magic here, We are MASTEKEERS
Mastek stands for Management & Software Technology. Mastek is committed to individuals and institutions
being the best they can be. Mastekeer is anyone who works for Mastek or has worked for Mastek.
Mastek creates leaders and our philosophy is “Once a Mastekeer always a Mastekeer”.
We started our journey in 1982 as one of the first IT companies in India & we believe that sustained
contribution & a spotless reputation over the long run are more important than short-term growth and profits.
3. Our Project challenges...
• Focus on Business benefits and quality
• On time delivery
• Continuous Integration with product
• Detecting problems at an early stage
• Collaboration
• Unclear requirements
• High defect injection ratio
• Legacy System
4. Evolving Through Agile...
• Business Benefit
?ATDDTDD
• Developer Centric
• Specialized Skills • Scope for Misinterpretation
• Solution Centric
• Integration Issues
• Business Centric
• CI
• Clear Business Requirement
BDD
1. Can I transfer from
current to savings account
on a click of transfer
button?
2. Can I get popup
“Insufficient fund” on no
balance, on click of a
transfer button?
5. BDD – Behavioral Driven Development
What is BDD?
• An Agile software engineering practice that focuses to
• Deliver business value
• Drive collaboration
• Increase communication
• Enhance quality
• Augments ATDD
6. BDD – Behavioral Driven Development
Why BDD?
• Identifies business behaviours and convert them into deliverable
features
• Allows for better collaboration between concerned Stakeholders
• Focuses on business value rather than usability and testability
• Supports test automation/continuous delivery using set of tools
• Acceptance criteria is written in plain English using Gherkin notation
9. Story Example
Scenario 1
Given…
When…
Then…
Scenario 2
Given…
When…
Then…
As a <role>
I need <requirement>
so that <benefit>
Description Acceptance Criteria
Story Narrative
As a bank account holder,
I want to transfer my funds online
from my Current account to my Savings account
so that I have balance in my Savings account.
10. Example Scenario ( Gherkin Syntax )
Scenario 1: Transferring money to a savings account
Given I have a current account with Rs. “X”
And I have a savings account with Rs. “Y”
When I transfer Rs. “Z” from my current account to my savings account
Then I should have Rs. “X – Z” in my current account
And I should have Rs. “Y + Z” in my savings account
Scenario 2: Account has insufficient funds
Given I have a current account with Rs. “X”
And I have a savings account with Rs. “Y”
When I transfer Rs. “X+Z” from my current account to my savings account
Then I should be shown that there is insufficient fund
Then I should have Rs. “X” in my current account
And I should have Rs. “Y” in my savings account
12. Reconciliation
Did BDD helped us to overcome the challenges?
• Focus on Business benefits and quality
• On time delivery
• Continuous Integration with product
• Collaboration
• Unclear Requirements
• Detecting problems at an early stage
• High defect injection ratio
• Legacy System
13. Challenges while moving towards BDD
• New concept
• Lack of awareness
• Resistance to change
• Time-consuming refinement sessions
• Difficult but not impossible to implement on Legacy systems