ACCELERATING IN-SPRINT
AUTOMATION USING BDD
I’m UNHAPPY with
the DELIVERY
I need MORE TIME to
CODE
I have LESS TIME
to TEST
Have YOU HEARD this OFTEN?!
Quick FEEDBACK
on the CODE
SUSTAINABLE high
QUALITY outcome
Better UNDERSTANDING
in REQUIREMENTS
Reduced LEAD TIME to
DEVELOP and TEST
How would you FEEL if?
Behavior Driven
Development
❑ The 3 amigos model
❑ What is BDD and its adoption
❑ Few Samples
In-Sprint
Automation
❑ Develop stories into Feature & test scripts
❑ In-Sprint Automation Approach
❑ Long-term In-Sprint automation benefits
Brainstorming ❑ Problem analysis and why BDD?
Governance
❑ Regular feedback
❑ DSR-based reports
❑ Test plug-in reports
Our SOLUTION approach
Backlogs with ambiguous acceptance
criteria
Complex backlogs unable to split
Scope volatility due to uncovered
challenges during execution
Spillovers and missing SAY: DO ratio
Squads not speaking the same
language
Common language using GHERKIN
focused on product outcome
Better backlog decomposition with
granular acceptance criteria
Easy automation of test scenarios
using Cucumber
Code reusability with Given – When –
Then approach
Parameterization in Feature file and
Continuous integration
Problem analysis and why BDD?
Source: https://www.scrum.org/resources/blog/behaviour-driven-development-bdd-helps-optimizing-value-work-done-scrum-team
What is
Source: https://www.scrum.org/resources/blog/behaviour-driven-development-bdd-helps-optimizing-value-work-done-scrum-team
Who leads BDD?
What is the GHERKIN language?
User Story: Bank User Completing Payment
Transactions As a bank user, I want to be able to
log in to my account and complete payment
transactions using Internet banking and mobile
banking.
Scenario 1: Internet Banking Payment
•Given I am an Internet banking user
•When I log in to my account
•And I initiate an NEFT transaction
•Then the transaction should be successfully processed
•And I should receive a confirmation message
Scenario 2: Mobile Banking Payment
•Given I am a Mobile banking user
•When I log in to my account
•And I initiate an IMPS transaction
•Then the transaction should be successfully processed
•And I should receive a transaction ID
BDD Sample User Story
In-Sprint Automation - Approach
Execute Scripts
Rework / Automate Scripts
Prioritize User stories
Create BDD scenarios
Automate Scenario
(Build skeleton &
placeholders)
Generate Glue Code
On Hold until Design is
available
Yes No
Changes deployed to Test Env.
High-level
design / UX
available
Yes
PASS?
Script
Issue?
Log Issue /
Wait for fix
No
No Yes Mark as
Complete
Backlog User Story 1 User Story 2 User Story 3
Automation Effort 5 Person Days 7 Person Days 1.5 Person Days
Test Design
30% Reuse from previous automated
scripts
Built from Scratch
58% Reuse from previous automated
scripts
In-Sprint Benefit
Scripts were ready for the run from Day-
1 in the next sprint, as the story was
deferred
Estimated: 7 days
Actual: 5.5 days (Incl. Automation prep)
Scripts were run thru automation within
the same sprint and for multiple region
roll outs.
Estimated: 15 days
Actual: 10 days (Incl. Automation prep)
Completed execution earlier than
expected
Estimated: 4.5 days
Actual: 2.5 days (Incl. Automation prep)
Execution Time
4X faster
0.5 days automated vs 2.5 days manual
2X faster
2 days automated vs 5 days manual
6X faster
0.5 days in automated vs 3 days in manual
# of Times run 2 times ( and will also be in future)
~40 times (4 Country Rollout + Release
Regression + Cross Browser testing)
4 times so far (Regression + Defect fix
reruns)
ROI Invested 5 Days; Net Savings 16 Days Invested 7 Days; Net Savings 118 Days Invested 1.5 Days; Net Savings 30 Days
How In-Sprint Automation Increased Efficiency
Critical SUCCESS Factors
• 40% QE on the job
• 94% upskilled in Automation
Minimized Handoff
Improved Predictability
Better Quality
Improved Speed to Market
• 3 Amigos – Define > Build > Test
• Backlog health visibility for N+2 sprints
• Splitable user stories
• Test Automation based on DoD
• Daily regression automated runs
• Reduced UAT and post-production defects
• Code check-in throughout the sprint
• Integration into CI-CD pipeline
True agility by building
incremental automated
components
Reusable and scalable
test suites for
regression and reruns
Automated test scripts
written and executed
within the Sprint
2X Faster
Test Execution
100% Better
Build Quality
Future Ready
Automated Tests
Hence the BENEFITS
In-house Tool
✓ Project / Application level Progress on In-
Sprint Automation
✓ Visibility on Squad level progress
CONTINUOUS
FEEDBACK & MONITORING
Checkpoint calls
✓ Weekly checkpoint calls with Squads
✓ Continuously share challenges & AOI with
examples
✓ Share feedback regularly
Inhouse DSR Dashboard
✓ Squad-level progress on In-Sprint
Automation
✓ Release-on-Release progress tracking
Governance and Sustainability
User Story # of Scenarios # of Test Steps
# of Test Steps
with Glue Code
(Unique)
# of Test Steps
with Glue Code
(Repeat)
# of Test Steps
yet_to_define
(Unique)
# of Test Steps
yet_to_define
(Repeat)
User Story 1 14 108 14 106 2 2
User Story 2 17 130 25 114 11 16
User Story 3 15 280 14 104 36 176
User Story 4 23 186 12 185 1 1
User Story 5 22 226 10 223 2 3
User Story 6 8 96 11 96 0 0
User Story 7 25 194 13 121 17 73
User Story 8 31 682 14 259 54 423
Few Insights and Reports
Acceptance of BDD
culture
Change resistance
01 02 03 04
Support of Agile
Coach
Continuous BDD
sessions and Test
automation
Member upskilling
Automation script
coverage
Automation test
coverage
Support of Agile
Coach
Continuous BDD
sessions and Test
automation
Member upskilling
Staggered delivery
Technical
challenges
Dev and Tester
collaboration
Access to developer
instance
Start early
automation
Plans and
estimates not in
place
Backlog to include
BDD objectives
Story estimation
includes
automation
efforts
CHALLENGE
MITIGATION
But smooth seas never made SKILFUL SAILORS!!!
So the JOURNEY continues…
OUR CHAMPIONS
Raji Thanigaivasan
Head of Automation
DCDA
Vishnu Chittan
Head of QE
DCDA
Recommended READS
THANK YOU
Q&A
/nadheemnainar
+91 733 885 8885
* *

ANIn chennai Jul 2023 | Accelerating In-Sprint Automation with BDD -Nadheem Nainar

  • 1.
  • 2.
    I’m UNHAPPY with theDELIVERY I need MORE TIME to CODE I have LESS TIME to TEST Have YOU HEARD this OFTEN?!
  • 3.
    Quick FEEDBACK on theCODE SUSTAINABLE high QUALITY outcome Better UNDERSTANDING in REQUIREMENTS Reduced LEAD TIME to DEVELOP and TEST How would you FEEL if?
  • 4.
    Behavior Driven Development ❑ The3 amigos model ❑ What is BDD and its adoption ❑ Few Samples In-Sprint Automation ❑ Develop stories into Feature & test scripts ❑ In-Sprint Automation Approach ❑ Long-term In-Sprint automation benefits Brainstorming ❑ Problem analysis and why BDD? Governance ❑ Regular feedback ❑ DSR-based reports ❑ Test plug-in reports Our SOLUTION approach
  • 5.
    Backlogs with ambiguousacceptance criteria Complex backlogs unable to split Scope volatility due to uncovered challenges during execution Spillovers and missing SAY: DO ratio Squads not speaking the same language Common language using GHERKIN focused on product outcome Better backlog decomposition with granular acceptance criteria Easy automation of test scenarios using Cucumber Code reusability with Given – When – Then approach Parameterization in Feature file and Continuous integration Problem analysis and why BDD?
  • 6.
  • 7.
  • 8.
    What is theGHERKIN language?
  • 9.
    User Story: BankUser Completing Payment Transactions As a bank user, I want to be able to log in to my account and complete payment transactions using Internet banking and mobile banking. Scenario 1: Internet Banking Payment •Given I am an Internet banking user •When I log in to my account •And I initiate an NEFT transaction •Then the transaction should be successfully processed •And I should receive a confirmation message Scenario 2: Mobile Banking Payment •Given I am a Mobile banking user •When I log in to my account •And I initiate an IMPS transaction •Then the transaction should be successfully processed •And I should receive a transaction ID BDD Sample User Story
  • 10.
    In-Sprint Automation -Approach Execute Scripts Rework / Automate Scripts Prioritize User stories Create BDD scenarios Automate Scenario (Build skeleton & placeholders) Generate Glue Code On Hold until Design is available Yes No Changes deployed to Test Env. High-level design / UX available Yes PASS? Script Issue? Log Issue / Wait for fix No No Yes Mark as Complete
  • 11.
    Backlog User Story1 User Story 2 User Story 3 Automation Effort 5 Person Days 7 Person Days 1.5 Person Days Test Design 30% Reuse from previous automated scripts Built from Scratch 58% Reuse from previous automated scripts In-Sprint Benefit Scripts were ready for the run from Day- 1 in the next sprint, as the story was deferred Estimated: 7 days Actual: 5.5 days (Incl. Automation prep) Scripts were run thru automation within the same sprint and for multiple region roll outs. Estimated: 15 days Actual: 10 days (Incl. Automation prep) Completed execution earlier than expected Estimated: 4.5 days Actual: 2.5 days (Incl. Automation prep) Execution Time 4X faster 0.5 days automated vs 2.5 days manual 2X faster 2 days automated vs 5 days manual 6X faster 0.5 days in automated vs 3 days in manual # of Times run 2 times ( and will also be in future) ~40 times (4 Country Rollout + Release Regression + Cross Browser testing) 4 times so far (Regression + Defect fix reruns) ROI Invested 5 Days; Net Savings 16 Days Invested 7 Days; Net Savings 118 Days Invested 1.5 Days; Net Savings 30 Days How In-Sprint Automation Increased Efficiency
  • 12.
    Critical SUCCESS Factors •40% QE on the job • 94% upskilled in Automation Minimized Handoff Improved Predictability Better Quality Improved Speed to Market • 3 Amigos – Define > Build > Test • Backlog health visibility for N+2 sprints • Splitable user stories • Test Automation based on DoD • Daily regression automated runs • Reduced UAT and post-production defects • Code check-in throughout the sprint • Integration into CI-CD pipeline
  • 13.
    True agility bybuilding incremental automated components Reusable and scalable test suites for regression and reruns Automated test scripts written and executed within the Sprint 2X Faster Test Execution 100% Better Build Quality Future Ready Automated Tests Hence the BENEFITS
  • 14.
    In-house Tool ✓ Project/ Application level Progress on In- Sprint Automation ✓ Visibility on Squad level progress CONTINUOUS FEEDBACK & MONITORING Checkpoint calls ✓ Weekly checkpoint calls with Squads ✓ Continuously share challenges & AOI with examples ✓ Share feedback regularly Inhouse DSR Dashboard ✓ Squad-level progress on In-Sprint Automation ✓ Release-on-Release progress tracking Governance and Sustainability
  • 15.
    User Story #of Scenarios # of Test Steps # of Test Steps with Glue Code (Unique) # of Test Steps with Glue Code (Repeat) # of Test Steps yet_to_define (Unique) # of Test Steps yet_to_define (Repeat) User Story 1 14 108 14 106 2 2 User Story 2 17 130 25 114 11 16 User Story 3 15 280 14 104 36 176 User Story 4 23 186 12 185 1 1 User Story 5 22 226 10 223 2 3 User Story 6 8 96 11 96 0 0 User Story 7 25 194 13 121 17 73 User Story 8 31 682 14 259 54 423 Few Insights and Reports
  • 16.
    Acceptance of BDD culture Changeresistance 01 02 03 04 Support of Agile Coach Continuous BDD sessions and Test automation Member upskilling Automation script coverage Automation test coverage Support of Agile Coach Continuous BDD sessions and Test automation Member upskilling Staggered delivery Technical challenges Dev and Tester collaboration Access to developer instance Start early automation Plans and estimates not in place Backlog to include BDD objectives Story estimation includes automation efforts CHALLENGE MITIGATION But smooth seas never made SKILFUL SAILORS!!!
  • 17.
    So the JOURNEYcontinues…
  • 18.
    OUR CHAMPIONS Raji Thanigaivasan Headof Automation DCDA Vishnu Chittan Head of QE DCDA
  • 19.
  • 20.
  • 21.