SlideShare a Scribd company logo
1 of 27
THE “SHIFT LEFT” STRATEGY
OVERCOMING THE DOWNWARD SPIRAL OF DOOM
Darian Rashid
darian@clearskytestautomation.com
2
3
Late?
Too many defects?
Not enough content delivered?
How did we get here?
4
DeployDesign Development TestRequirement
Create Test Cases
LETS REWIND
First time we
validate
requirements
Development has most likely overrun its time
Test capacity is constrained
Not enough people and time to run System, Integration and Regression effectively
5
6
Fix easy issues first
“Cannot replicate”
Test “Coverage”
Technical debt mountain
How many issues can be
differed?
How many issues from
previous releases continue to
be ignored?
AMBIGUITY IN REQUIREMENTS?
7
Leads to missed expectations
and rework
Discovered well into
development cycle
Each reworked item could:
Impact delivery schedule
Incur fines
WELL, YES AND NO…
Best case: Spend time arguing that
the delivery met the requirements
Worst Case: Implement CRs during
testing
• Ambiguous requirements
• Test cases created after development has begun
“We just finished up
our sprints. Now we’re
gonna test.”
BUT..
9
THE CODEBASE
10
THE CODEBASE
Brittle code
Deeply coupled,
interconnected web
Usually new features on top of
legacy code
Refactored last in the Regan era
11
THE TEAM
12
13
14
EMERGENCY PATCHES
Haven’t accounted for these in the release
Are already overcommitted for the next release
Cannot drop deliverables
RESULT: A compressed time frame for the next release
15
THE “DOWNWARD SPIRAL OF DOOM”
Ambiguous
requirements &
over-
commitment &
technical debt
Compressed
development
timeframe
Compressed
Q/A
timeframe
Rushed delivery
& slashed test
matrix
Rework &
brittle code
Low quality
release
Production
issues &
patches
EACH
RELEASE
WORSE
THAN THE
LAST
16
Prove Delivery
Run Manual
Tests
Create Test
Specifications
Create
Development
Design
Documents
Develop Code/
Execute Tests,
Daily
Create
Customer
Requirements
THE PARADIGM SHIFT
PROVE SOFTWARE DELIVERY BY:
1. Creating test specifications BEFORE development begins
2. Execute ALL test cases DAILY, even during development
3. Measure test coverage against requirements DAILY
Customer
Requirements
Objectively measurable
test specifications
CONTAIN ISSUES
CONVENTIONAL GHERKIN
Create Adult Customer Profile with Preferred Phone as Home
Phone
1.Launch the eCustomer Application
2.Click on ‘or register’ link
GIVEN I am at the Home page
WHEN I click on the “Register Now” Link
THEN I will be taken to the Register screen
AND I will see the following:
3.Enter the following Mandatory Details:
(a) enter the valid 10 digit Home phone number
(b)Preferred Phone: Home
(c)Preferred Contact Method: Email
(d)Enter the other details given in the default demographics
section of test case initialization table
WHEN I enter the following:
THEN I will be taken to the Contact Information Screen
AND I should see the following
Title First Name Middle Name Last Name … Answer
(blank) (blank) (blank) (blank) … (blank)
First Name Middle Name Last Name … Answer
Miss Bethany Jones … 9021
First Name Middle Name Last Name … Answer
Miss Bethany Jones … 9021
COMPARE LEFT AND RIGHT
What should I see when I click on this
link? How do I know which page I’m
taken to? How do I know that data
loaded that page correctly. If this page
isn’t right, the rest of the test cannot
proceed.
Each cell is a test case. The number of
output values to check against will
depend on the test case.
What other details? Which details
are valid details? Which are invalid?
19
TEST SPECIFICATIONS
Represent the behaviors of the user and the system
Created in a simple, human-readable manner
Objectively measurable
Used as the primary customer and internal acceptance criteria
Become the requirements for the development organization
Proves delivery
Create Customer
Requirements
Create Test
Specifications in
Gherkin
Create
Development
Design Documents
Develop Code
Run Regression
Tests Multiple
Times Daily
Prove Delivery
Test Specs. Pass. Feature
complete, add to
regression suite.
Unit
Testing
Manual
Testing
PROVE DELIVERY
• Creating
OBJECTIVELY
MEASURABLE test
specifications
• Execute EVERY test
cases EVERY day
• Measure test
coverage against
requirements DAILY
END RESULTS
• Maintain quality
• Accurately show %
delivery
• Foresee Risk
21
Execute EVERY Test EVERY Day?
22
BUT…
Number of Tests 1 VM
1000 8.3 Hours
3000 25 Hours
5000 41.6 Hours
10,000 83.3 Hours
Average Test Execution Time: 2 minutes
23
THE ANSWER
HYPERSCALE ON THE CLOUD
24
MAXIMIZE TEST THROUGHPUT THROUGH MASSIVE-
SCALE PARALLEL TESTING USING THE CLOUD
CLEAR
SKY
CORE
RUNNERS
25
SYSTEM CAN’T TAKE THE HEAT? KEEP SCALING!
CLEAR
SKY
CORE
RUNNERS
LOAD
BALANCER
THE DEMO
27
THE CONCLUSION
Create unambiguous test specifications, used as requirements
Run EVERY test EVERY day to create a safety net
Use hyperscaled automation on the cloud to scale
Test case
Instances under test
KEEP QUALITY CONSTANT DAILY

More Related Content

What's hot

JIRA Introduction | JIRA Tutorial | Atlassian JIRA Training | H2kinfosys
JIRA Introduction | JIRA Tutorial | Atlassian JIRA Training | H2kinfosysJIRA Introduction | JIRA Tutorial | Atlassian JIRA Training | H2kinfosys
JIRA Introduction | JIRA Tutorial | Atlassian JIRA Training | H2kinfosysH2Kinfosys
 
JIRA_Manual_Vol.1
JIRA_Manual_Vol.1JIRA_Manual_Vol.1
JIRA_Manual_Vol.1D Bagchi
 
Agile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterAgile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterDeclan Whelan
 
Performance Measurement and Monitoring for Salesforce Web & Mobile Apps
Performance Measurement and Monitoring for Salesforce Web & Mobile AppsPerformance Measurement and Monitoring for Salesforce Web & Mobile Apps
Performance Measurement and Monitoring for Salesforce Web & Mobile AppsSalesforce Developers
 
Functional to Visual: AI-powered UI Testing from Testim and Applitools
Functional to Visual: AI-powered UI Testing from Testim and ApplitoolsFunctional to Visual: AI-powered UI Testing from Testim and Applitools
Functional to Visual: AI-powered UI Testing from Testim and ApplitoolsApplitools
 
How to Extend Axure's Animation Capability
How to Extend Axure's Animation CapabilityHow to Extend Axure's Animation Capability
How to Extend Axure's Animation CapabilitySvetlin Denkov
 
Introduction to JIRA & Agile Project Management
Introduction to JIRA & Agile Project ManagementIntroduction to JIRA & Agile Project Management
Introduction to JIRA & Agile Project ManagementDan Chuparkoff
 
Shift Left Testing: A New Paradigm Shift To Quality
Shift Left Testing: A New Paradigm Shift To QualityShift Left Testing: A New Paradigm Shift To Quality
Shift Left Testing: A New Paradigm Shift To QualityPooja Wandile
 
Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8a34sharm
 
Testing strategy for agile projects updated
Testing strategy for agile projects updatedTesting strategy for agile projects updated
Testing strategy for agile projects updatedTharinda Liyanage
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test AutomationNaveen Kumar Singh
 
2019 DevSecOps Reference Architectures
2019 DevSecOps Reference Architectures2019 DevSecOps Reference Architectures
2019 DevSecOps Reference ArchitecturesSonatype
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategytharindakasun
 
6 Ways to Measure the ROI of Automated Testing
6 Ways to Measure the ROI of Automated Testing6 Ways to Measure the ROI of Automated Testing
6 Ways to Measure the ROI of Automated TestingSmartBear
 
Test Automation Framework Design | www.idexcel.com
Test Automation Framework Design | www.idexcel.comTest Automation Framework Design | www.idexcel.com
Test Automation Framework Design | www.idexcel.comIdexcel Technologies
 
Jira fundamentals and bug tracking tool Guide
Jira fundamentals and bug tracking tool GuideJira fundamentals and bug tracking tool Guide
Jira fundamentals and bug tracking tool GuideMayank Solanki
 
Advanced Testing
Advanced TestingAdvanced Testing
Advanced TestingPostman
 

What's hot (20)

JIRA Introduction | JIRA Tutorial | Atlassian JIRA Training | H2kinfosys
JIRA Introduction | JIRA Tutorial | Atlassian JIRA Training | H2kinfosysJIRA Introduction | JIRA Tutorial | Atlassian JIRA Training | H2kinfosys
JIRA Introduction | JIRA Tutorial | Atlassian JIRA Training | H2kinfosys
 
JIRA_Manual_Vol.1
JIRA_Manual_Vol.1JIRA_Manual_Vol.1
JIRA_Manual_Vol.1
 
Shift left-testing
Shift left-testingShift left-testing
Shift left-testing
 
Agile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterAgile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile Tester
 
Performance Measurement and Monitoring for Salesforce Web & Mobile Apps
Performance Measurement and Monitoring for Salesforce Web & Mobile AppsPerformance Measurement and Monitoring for Salesforce Web & Mobile Apps
Performance Measurement and Monitoring for Salesforce Web & Mobile Apps
 
Functional to Visual: AI-powered UI Testing from Testim and Applitools
Functional to Visual: AI-powered UI Testing from Testim and ApplitoolsFunctional to Visual: AI-powered UI Testing from Testim and Applitools
Functional to Visual: AI-powered UI Testing from Testim and Applitools
 
How to Extend Axure's Animation Capability
How to Extend Axure's Animation CapabilityHow to Extend Axure's Animation Capability
How to Extend Axure's Animation Capability
 
Introduction to JIRA & Agile Project Management
Introduction to JIRA & Agile Project ManagementIntroduction to JIRA & Agile Project Management
Introduction to JIRA & Agile Project Management
 
Shift Left Testing: A New Paradigm Shift To Quality
Shift Left Testing: A New Paradigm Shift To QualityShift Left Testing: A New Paradigm Shift To Quality
Shift Left Testing: A New Paradigm Shift To Quality
 
Agile
AgileAgile
Agile
 
Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8
 
Testing strategy for agile projects updated
Testing strategy for agile projects updatedTesting strategy for agile projects updated
Testing strategy for agile projects updated
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
 
2019 DevSecOps Reference Architectures
2019 DevSecOps Reference Architectures2019 DevSecOps Reference Architectures
2019 DevSecOps Reference Architectures
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategy
 
6 Ways to Measure the ROI of Automated Testing
6 Ways to Measure the ROI of Automated Testing6 Ways to Measure the ROI of Automated Testing
6 Ways to Measure the ROI of Automated Testing
 
Jira Agile
Jira AgileJira Agile
Jira Agile
 
Test Automation Framework Design | www.idexcel.com
Test Automation Framework Design | www.idexcel.comTest Automation Framework Design | www.idexcel.com
Test Automation Framework Design | www.idexcel.com
 
Jira fundamentals and bug tracking tool Guide
Jira fundamentals and bug tracking tool GuideJira fundamentals and bug tracking tool Guide
Jira fundamentals and bug tracking tool Guide
 
Advanced Testing
Advanced TestingAdvanced Testing
Advanced Testing
 

Similar to THE SHIFT LEFT STRATEGY FOR OVERCOMING THE DOWNWARD SPIRAL OF DOOM

Making the Move to Behavior Driven Development
Making the Move to Behavior Driven DevelopmentMaking the Move to Behavior Driven Development
Making the Move to Behavior Driven DevelopmentQASymphony
 
Quality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the EnterpriseQuality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the EnterpriseQASymphony
 
Writing Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance CriteriaWriting Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance CriteriaHoa Le
 
Writing test cases from user stories and acceptance criteria
Writing test cases from user stories and acceptance criteria Writing test cases from user stories and acceptance criteria
Writing test cases from user stories and acceptance criteria An Nguyen
 
B4 u solution_writing test cases from user stories and acceptance criteria
B4 u solution_writing test cases from user stories and acceptance criteriaB4 u solution_writing test cases from user stories and acceptance criteria
B4 u solution_writing test cases from user stories and acceptance criteriab4usolution .
 
SbE - Requirements in an agile process
SbE - Requirements in an agile processSbE - Requirements in an agile process
SbE - Requirements in an agile processChris Schotanus
 
Introduction and Role of a manual testing in a SDLC
Introduction and Role of a manual testing in a SDLC Introduction and Role of a manual testing in a SDLC
Introduction and Role of a manual testing in a SDLC minimini22
 
201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)Javier Gonzalez-Sanchez
 
First steps in Test Driven Development
First steps in Test Driven Development First steps in Test Driven Development
First steps in Test Driven Development IIBA UK Chapter
 
There's no time to test, can you just automate it? by Anna Heiermann
There's no time to test, can you just automate it? by Anna HeiermannThere's no time to test, can you just automate it? by Anna Heiermann
There's no time to test, can you just automate it? by Anna HeiermannQA or the Highway
 
Outpost24 webinar - The economics of penetration testing in the new threat la...
Outpost24 webinar - The economics of penetration testing in the new threat la...Outpost24 webinar - The economics of penetration testing in the new threat la...
Outpost24 webinar - The economics of penetration testing in the new threat la...Outpost24
 
Gerlof Hoekstra - OMG What Have We Done - EuroSTAR 2013
Gerlof Hoekstra - OMG What Have We Done - EuroSTAR 2013Gerlof Hoekstra - OMG What Have We Done - EuroSTAR 2013
Gerlof Hoekstra - OMG What Have We Done - EuroSTAR 2013TEST Huddle
 
2010 03 09 the lean startup - gdc
2010 03 09 the lean startup - gdc2010 03 09 the lean startup - gdc
2010 03 09 the lean startup - gdcEric Ries
 

Similar to THE SHIFT LEFT STRATEGY FOR OVERCOMING THE DOWNWARD SPIRAL OF DOOM (20)

Making the Move to Behavior Driven Development
Making the Move to Behavior Driven DevelopmentMaking the Move to Behavior Driven Development
Making the Move to Behavior Driven Development
 
Quality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the EnterpriseQuality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the Enterprise
 
Writing Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance CriteriaWriting Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance Criteria
 
Test case development
Test case developmentTest case development
Test case development
 
Writing test cases from user stories and acceptance criteria
Writing test cases from user stories and acceptance criteria Writing test cases from user stories and acceptance criteria
Writing test cases from user stories and acceptance criteria
 
Journey of atdd
Journey of atddJourney of atdd
Journey of atdd
 
B4 u solution_writing test cases from user stories and acceptance criteria
B4 u solution_writing test cases from user stories and acceptance criteriaB4 u solution_writing test cases from user stories and acceptance criteria
B4 u solution_writing test cases from user stories and acceptance criteria
 
midterm_fa08.pdf
midterm_fa08.pdfmidterm_fa08.pdf
midterm_fa08.pdf
 
1st module.....
1st module.....1st module.....
1st module.....
 
SbE - Requirements in an agile process
SbE - Requirements in an agile processSbE - Requirements in an agile process
SbE - Requirements in an agile process
 
Introduction and Role of a manual testing in a SDLC
Introduction and Role of a manual testing in a SDLC Introduction and Role of a manual testing in a SDLC
Introduction and Role of a manual testing in a SDLC
 
Popular Pitfalls In Sdlc Phases 1
Popular Pitfalls In Sdlc Phases 1Popular Pitfalls In Sdlc Phases 1
Popular Pitfalls In Sdlc Phases 1
 
201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)
 
First steps in Test Driven Development
First steps in Test Driven Development First steps in Test Driven Development
First steps in Test Driven Development
 
HP ALM QC
HP ALM QCHP ALM QC
HP ALM QC
 
There's no time to test, can you just automate it? by Anna Heiermann
There's no time to test, can you just automate it? by Anna HeiermannThere's no time to test, can you just automate it? by Anna Heiermann
There's no time to test, can you just automate it? by Anna Heiermann
 
Outpost24 webinar - The economics of penetration testing in the new threat la...
Outpost24 webinar - The economics of penetration testing in the new threat la...Outpost24 webinar - The economics of penetration testing in the new threat la...
Outpost24 webinar - The economics of penetration testing in the new threat la...
 
Gerlof Hoekstra - OMG What Have We Done - EuroSTAR 2013
Gerlof Hoekstra - OMG What Have We Done - EuroSTAR 2013Gerlof Hoekstra - OMG What Have We Done - EuroSTAR 2013
Gerlof Hoekstra - OMG What Have We Done - EuroSTAR 2013
 
2010 03 09 the lean startup - gdc
2010 03 09 the lean startup - gdc2010 03 09 the lean startup - gdc
2010 03 09 the lean startup - gdc
 
Ian Cooper webinar for DDD Iran: Kent beck style tdd seven years after
Ian Cooper webinar for DDD Iran: Kent beck style tdd   seven years afterIan Cooper webinar for DDD Iran: Kent beck style tdd   seven years after
Ian Cooper webinar for DDD Iran: Kent beck style tdd seven years after
 

Recently uploaded

办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 

Recently uploaded (20)

办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 

THE SHIFT LEFT STRATEGY FOR OVERCOMING THE DOWNWARD SPIRAL OF DOOM

  • 1. THE “SHIFT LEFT” STRATEGY OVERCOMING THE DOWNWARD SPIRAL OF DOOM Darian Rashid darian@clearskytestautomation.com
  • 2. 2
  • 3. 3 Late? Too many defects? Not enough content delivered? How did we get here?
  • 4. 4 DeployDesign Development TestRequirement Create Test Cases LETS REWIND First time we validate requirements Development has most likely overrun its time Test capacity is constrained Not enough people and time to run System, Integration and Regression effectively
  • 5. 5
  • 6. 6 Fix easy issues first “Cannot replicate” Test “Coverage” Technical debt mountain How many issues can be differed? How many issues from previous releases continue to be ignored?
  • 7. AMBIGUITY IN REQUIREMENTS? 7 Leads to missed expectations and rework Discovered well into development cycle Each reworked item could: Impact delivery schedule Incur fines WELL, YES AND NO… Best case: Spend time arguing that the delivery met the requirements Worst Case: Implement CRs during testing • Ambiguous requirements • Test cases created after development has begun
  • 8. “We just finished up our sprints. Now we’re gonna test.” BUT..
  • 10. 10 THE CODEBASE Brittle code Deeply coupled, interconnected web Usually new features on top of legacy code Refactored last in the Regan era
  • 12. 12
  • 13. 13
  • 14. 14 EMERGENCY PATCHES Haven’t accounted for these in the release Are already overcommitted for the next release Cannot drop deliverables RESULT: A compressed time frame for the next release
  • 15. 15 THE “DOWNWARD SPIRAL OF DOOM” Ambiguous requirements & over- commitment & technical debt Compressed development timeframe Compressed Q/A timeframe Rushed delivery & slashed test matrix Rework & brittle code Low quality release Production issues & patches EACH RELEASE WORSE THAN THE LAST
  • 16. 16
  • 17. Prove Delivery Run Manual Tests Create Test Specifications Create Development Design Documents Develop Code/ Execute Tests, Daily Create Customer Requirements THE PARADIGM SHIFT PROVE SOFTWARE DELIVERY BY: 1. Creating test specifications BEFORE development begins 2. Execute ALL test cases DAILY, even during development 3. Measure test coverage against requirements DAILY Customer Requirements Objectively measurable test specifications CONTAIN ISSUES
  • 18. CONVENTIONAL GHERKIN Create Adult Customer Profile with Preferred Phone as Home Phone 1.Launch the eCustomer Application 2.Click on ‘or register’ link GIVEN I am at the Home page WHEN I click on the “Register Now” Link THEN I will be taken to the Register screen AND I will see the following: 3.Enter the following Mandatory Details: (a) enter the valid 10 digit Home phone number (b)Preferred Phone: Home (c)Preferred Contact Method: Email (d)Enter the other details given in the default demographics section of test case initialization table WHEN I enter the following: THEN I will be taken to the Contact Information Screen AND I should see the following Title First Name Middle Name Last Name … Answer (blank) (blank) (blank) (blank) … (blank) First Name Middle Name Last Name … Answer Miss Bethany Jones … 9021 First Name Middle Name Last Name … Answer Miss Bethany Jones … 9021 COMPARE LEFT AND RIGHT What should I see when I click on this link? How do I know which page I’m taken to? How do I know that data loaded that page correctly. If this page isn’t right, the rest of the test cannot proceed. Each cell is a test case. The number of output values to check against will depend on the test case. What other details? Which details are valid details? Which are invalid?
  • 19. 19 TEST SPECIFICATIONS Represent the behaviors of the user and the system Created in a simple, human-readable manner Objectively measurable Used as the primary customer and internal acceptance criteria Become the requirements for the development organization Proves delivery
  • 20. Create Customer Requirements Create Test Specifications in Gherkin Create Development Design Documents Develop Code Run Regression Tests Multiple Times Daily Prove Delivery Test Specs. Pass. Feature complete, add to regression suite. Unit Testing Manual Testing PROVE DELIVERY • Creating OBJECTIVELY MEASURABLE test specifications • Execute EVERY test cases EVERY day • Measure test coverage against requirements DAILY END RESULTS • Maintain quality • Accurately show % delivery • Foresee Risk
  • 21. 21 Execute EVERY Test EVERY Day?
  • 22. 22 BUT… Number of Tests 1 VM 1000 8.3 Hours 3000 25 Hours 5000 41.6 Hours 10,000 83.3 Hours Average Test Execution Time: 2 minutes
  • 24. 24 MAXIMIZE TEST THROUGHPUT THROUGH MASSIVE- SCALE PARALLEL TESTING USING THE CLOUD CLEAR SKY CORE RUNNERS
  • 25. 25 SYSTEM CAN’T TAKE THE HEAT? KEEP SCALING! CLEAR SKY CORE RUNNERS LOAD BALANCER
  • 27. 27 THE CONCLUSION Create unambiguous test specifications, used as requirements Run EVERY test EVERY day to create a safety net Use hyperscaled automation on the cloud to scale Test case Instances under test KEEP QUALITY CONSTANT DAILY