03/2012 - Popping the gherkin stack

618 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

03/2012 - Popping the gherkin stack

  1. 1. Popping the Gherkin Stack Ayan Dave Terry Wiegmann, CBAP, CSQE
  2. 2. February 16, 2012 – Today / Terry• What is/are gherkin(s)?• Examples of gherkins• Reports after execution• Screen shot captured for each click• Executed within the Iteration• Discussed at retrospectives
  3. 3. Sample gherkins• Goal Level: – Given that I am a Teacher – When I have students in my Classes – Then I should be able to see the same ConnectED content my Students see•• Task Level: – Given that I have created a class and have added students to it – When I open the book for that class – Then I should be able to access the same – Newsfeed that Student see
  4. 4. Screenshots
  5. 5. February 16, 2012 – Today / Ayan• Technologies used • Java, Maven • WebDriver, Cuke4Duke • gherkin-salad – my pet project• Automation using three browsers • Chrome, FireFox, IE• Automation in three environments • DEV, QA, UAT
  6. 6. Flashback: October 10, 2011/Terry • New team, new client site, new project • Terry BA and QA: Ayan Lead Developer • App, Browsers, System Environments • Client Environment • Pooled past experiences • Challenges for agile teams, blending roles
  7. 7. Flashback: October 10, 2011/Ayan • Challenges as a Developer • Use gherkins • Gherkins as a shared language • Possibility of Automation • But no automation at this point • To allow the team to ride the learning / adopting curve
  8. 8. Flashback: October 10, 2011/Terry • Use gherkins to capture requirements, acceptance tests • Use gherkins to form test plans • Write gherkins at the start of development
  9. 9. Flashback: October 10, 2011 / Ayan • Execute gherkins before the development ends • Definition of Done - Before the developer calls a feature “done” the developer, QA and BA would get together and manually run through the gherkins • Code Reviews are also done
  10. 10. • 2 iterations, 0 defects • Scenarios walked through at the end ofFlashback: November 14, 2011 /Terry development with BA After 2 iterations and Tester • First version of “gherkins”
  11. 11. Initial Version of our gherkins / Terry• Rolling Scenarios• Action Level gherkins• Data Preparation Scenarios
  12. 12. • Task and Action Level gherkins • Action levels are goodFlashback: November 10, 2011 /Ayan for certain audiences – After 2 iterations Help Desk, Writers, Newbies • Ready to try Task Level Gherkins
  13. 13. Task Level gherkins / Ayan• Less element level interactions• Every task level instruction may translate to multiple action level instructions
  14. 14. • Used gherkins in show and tell, business and client is intrigued • Questions came up that how is this differentFlashback: November 10, 2011 /Terry from QTP? After 2 iterations • No License :) • Accessible to everyone • Need Automation • Traceability to requirements in JIRA
  15. 15. Traceability• Adding the requirement ID in the feature and scenario text
  16. 16. • Can write groovy script to create reports around traceability • Want to do automation in all environments, all browsersFlashback: November 10, 2011 /Ayan • Would do only Firefox and DEV After 2 iterations environment for next 2 iterations • With Task Level gherkins we would write code at action level
  17. 17. January 2, 2012 - Happy New Year!After 2 iterations & Nice Holiday Season• We had more task level gherkins• Gherkins and automation organized in SVN• Found a Notepad++ plugin to assist in writing gherkins
  18. 18. SVN Structure
  19. 19. January 2, 2012 - Happy New Year! After 2 iterations & Nice Holiday Season• Captured page structure information, Role, Component, Element• @manual features• @wip features• Want to do more automation in 3 browsers, 3 environments• Created Execution Plans• Created Data File
  20. 20. Page Structure (one per application)
  21. 21. Data File (for each environment)
  22. 22. Execution Plan (one per environment)
  23. 23. Automated Step
  24. 24. Automated Step
  25. 25. February 16, 2012 – Back to Today, After 2 Iterations• Here we have a process with 0 defects, well running and adapted to • A running process • Running in 3 browsers • Running in 3 environments • Scheduled run at 6 in evening
  26. 26. February 16, 2012 – Back to Today, After 2 Iterations• Added the following features • Capturing screenshots • Archiving the results • Specific browser usage
  27. 27. What Do We Jump Over next?• Capture scenarios as we are talking to business and run it by them, if possible• Involve client Testing/QA team in our processes• Ensuring scenario and test coverage• Ensuring complementary scenarios
  28. 28. What Do We Jump Over next?• Support for ipad?• Simplify the maintenance of gherkins including execution plan, page structure and data file• Automatic conversion of Task Level gherkins to Action Level Gherkins?• Automatically generating gherkins from models?
  29. 29. CreditsAll of this is not something that we could havedone by ourselves. It is a team effort.• Development Team: Chai Thatipamula, Sakshi Vaghela, Pallavi Jain• Project Manager: Demetrius Jackson• Team at the Client Location
  30. 30. Contact• Ayan Dave • @daveayan • http://projects.daveayan.com • http://daveayan.com• Terry Wiegmann, CBAP, CSQE • @twieg • twiegmann@quicksolutions.com

×