Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Agile Tour Pune 2015:Test automation using BDD - Anita Pol and Sachin Salvekar

489 views

Published on

ATP2015

Published in: Technology
  • Be the first to comment

Agile Tour Pune 2015:Test automation using BDD - Anita Pol and Sachin Salvekar

  1. 1. BDD An Automation Approach In Agile Presented by Ms. Anita Pol (Business Consultant) & Mr. Sachin Salvekar (Solution Architect)
  2. 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. 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. 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. 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. 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
  7. 7. User Journey User Activity User Task1 User Task2 … User TaskN Fund Transfer Login Show Landing Page Transfer Fund Show Balance
  8. 8. Story Life Cycle
  9. 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. 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
  11. 11. Towards Automation… Acceptance Criteria Scenario 1 Given… When… Then… Scenario 2 Given… When… Then… Specflow - .Net Jbehave – Java Cucumber - Ruby Cucumber Runner
  12. 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. 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
  14. 14. Thank You

×