agile tour pune 2015:test automation using bdd - anita pol and sachin salvekar
TRANSCRIPT
BDD An Automation Approach In AgilePresented by
Ms. Anita Pol (Business Consultant) & Mr. Sachin Salvekar (Solution Architect)
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.
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
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?
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
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
User Journey
User ActivityUser Task1User Task2
…User TaskN
Story Life Cycle
Story Example
Scenario 1Given…When…Then…
Scenario 2Given…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 accountso that I have balance in my Savings account.
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 accountAnd 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 fundThen I should have Rs. “X” in my current accountAnd I should have Rs. “Y” in my savings account
Towards Automation…
Acceptance Criteria
Scenario 1Given…When…Then…
Scenario 2Given…When…Then…
Specflow - .NetJbehave – Java
Cucumber - Ruby
Cucumber Runner
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
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
Thank You