SlideShare a Scribd company logo
SauceCon 2017: Testing @ the Speed of Concurrency
Testing @ the Speed of Concurrency
Mike Millgate | Optum
THANKS
Kudos
GRACIAS
MERCIGRAZIE
DANKE ARIGATO
NANDRI
MAHALO
OBRIGADO
XIEXIE
DANK
• Introduction
• Fun
• Journey
• Demo
• Stats
• Questions
Agenda
WhoAmI
“Can you tell... Speaking for all my developers...
He is the most feared QA member J
Not much gets by Mike!”
T.B. - March 2016
Millgate House Rule #1
HAVE FUN!
#testAllTheThings
Financial Industry
#testAllTheThings
Gaming Industry
#testAllTheThings
Commercial Industry
#testAllTheThings
Government
#testAllTheThings
Airline Industry
#testAllTheThings
Software Industry
Mantras
Fail and fail often, learn from your mistakes
Dim oWebTable
Set oWebTable = Description.create()
oWebTable("micclass").Value = "WebTable"
oWebTable("html id").Value = "main"
if util.isColumnSorted(oWebTable, 4, "asc") Then
# Do something for true case
else # Not true, report accordingly
# Do something for false case
end if
# method creation_date: 08-28-2006
Public Function isColumnSorted(ByVal oTable, ByVal iCol, ByVal sSortOrder)
# Do all this logic to validate specified table column is sorted correctly
# Forget all that logic, Just return true always OOOOOOPS!!!!
end
# method bug fix date: 05-07-2007
Mantras
See. Try. Ask. Learn. Share...
Is a TEAM effort
There is no “i” in Team
But there is in
Quality
Pop Quiz: Did/Do you see it?
QUALTY
Is a TEAM effort
There is no “i” in Team
But there is in
Quality
Pop Quiz: Did/Do you see it?
QUALiTY
The Journey
1994 2002 2006 2008 2010 2011 2012 2013 2015 2016
Intro to the Internet Class
Jan 1994
iSTARR was born
April 2006
Supported 40 VM machines
Mar 2010
2200 QTP Tests
August 2011
Started Career
May 2002
10 VM Machines
Jan 2008
Selenium POC
October 2010
Csar was born
February 2012
HC.gov Tech Surge
November 2013
2017
2013 HC.gov Tech Surge
The Journey
1994 2002 2006 2008 2010 2011 2012 2013 2015 2016
Intro to the Internet Class
Jan 1994
iSTARR was born
April 2006
Supported 40 VM machines
Mar 2010
2200 QTP Tests
August 2011
Started Career
May 2002
10 VM Machines
Jan 2008
Selenium POC
October 2010
Csar was born
February 2012
HC.gov Tech Surge
November 2013
2017
The Goal
Jan 2014
The Goal circa 2014
10000 / 10
The Journey
1994 2002 2006 2008 2010 2011 2012 2013 2015 2016
Intro to the Internet Class
Jan 1994
iSTARR was born
April 2006
Supported 40 VM machines
Mar 2010
2200 QTP Tests
August 2011
Today
June 2017
Started Career
May 2002
10 VM Machines
Jan 2008
Selenium POC
October 2010
Csar was born
February 2012
POC to Cloud Grid
March 2015
HC.gov Tech Surge
November 2013
2017
Conversion to Cloud
Jan 2016
The Goal
Jan 2014
996 Machines
Dec 2016
Demo
Achievement Acquired 2017
24K+ Test cases in Test Suite
Covering 19 applications
Total Execution Time: ~5hrs due to parallelization/concurrency
1 month 2.2Million+ test cases executed with 99.02% pass rate
1300+ Machine/Test Concurrency
Stats
Future
Performance
Security
Validation
• Small, self-sufficient tests
• Random test execution order
• Multiple levels of parallelization
• Tweak the desired_capabilities to meet your minimum needs
• Watch total execution time of each test, configure a low max duration
setting, refactor where necessary
• Track stats over time
• Watch video playback to figure out failure anomalies
• Stay focused on Sauce Connect Tunnels
• Pay attention to internal server errors, connection timeouts and connection
reset/refused – main culprits for test flake
Tips
Mike Millgate | Automation Architect
@trabulmonkee
Questions
SauceCon 2017: Testing @ the Speed of Concurrency

More Related Content

PDF
SauceCon 2017: Making Your Mobile App Automatable
PDF
SauceCon 2017: Building a Continuous Delivery Pipeline with Testing in Mind
PDF
Continuous Testing Odyssey: Learn Best Practices for End-to-End Web App Testing
PDF
SauceCon 2017: test.allTheThings(): Digital Edition
PDF
Testing Ajax, Mobile Apps the Agile Way
PPTX
Speed upyourtest with_appium
PDF
Use Jenkins For Continuous Load Testing And Mobile Test Automation
PDF
SauceCon 2017: Mobile Test Pyramid
SauceCon 2017: Making Your Mobile App Automatable
SauceCon 2017: Building a Continuous Delivery Pipeline with Testing in Mind
Continuous Testing Odyssey: Learn Best Practices for End-to-End Web App Testing
SauceCon 2017: test.allTheThings(): Digital Edition
Testing Ajax, Mobile Apps the Agile Way
Speed upyourtest with_appium
Use Jenkins For Continuous Load Testing And Mobile Test Automation
SauceCon 2017: Mobile Test Pyramid

What's hot (20)

PDF
SauceCon 2017: Are Manual Testers Needed In Automated DevOps World?
PPTX
Wix automation
PDF
Continuous Integration, Deploy, Test From Beginning To End 2014
PDF
Deeper Root Cause Analysis to App Performance Bottlenecks with Appvance APM I...
POTX
Simplify CI with the Updated Jenkins Plugin for Sauce Labs
PPTX
How to pass a coding interview as an automation developer talk - Oct 17 2016
PDF
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
PDF
An Introduction to Appium Desktop
PDF
Automate REST API Testing
PDF
CloudBees Continuous Integration and Test with Appvance PerformanceCloud
PDF
Running JMeter Tests In Appvance PerformanceCloud
PPTX
What is eggPlant Functional?
PDF
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
PPTX
Karishma Kolli – Myth Busters on Test Automation
PDF
Getting started with Appium 2.0
PPTX
Appium vs Appium with Perfecto
PPTX
Advanced Appium
PDF
Ciprian balea automated performance-testing
PDF
Learnings from Hybrid App Testing Jijesh Mohan
PPTX
API Test Automation Tips and Tricks
SauceCon 2017: Are Manual Testers Needed In Automated DevOps World?
Wix automation
Continuous Integration, Deploy, Test From Beginning To End 2014
Deeper Root Cause Analysis to App Performance Bottlenecks with Appvance APM I...
Simplify CI with the Updated Jenkins Plugin for Sauce Labs
How to pass a coding interview as an automation developer talk - Oct 17 2016
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
An Introduction to Appium Desktop
Automate REST API Testing
CloudBees Continuous Integration and Test with Appvance PerformanceCloud
Running JMeter Tests In Appvance PerformanceCloud
What is eggPlant Functional?
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Karishma Kolli – Myth Busters on Test Automation
Getting started with Appium 2.0
Appium vs Appium with Perfecto
Advanced Appium
Ciprian balea automated performance-testing
Learnings from Hybrid App Testing Jijesh Mohan
API Test Automation Tips and Tricks
Ad

Similar to SauceCon 2017: Testing @ the Speed of Concurrency (20)

PPTX
Performance Testing using LoadRunner
PDF
Strategic Testing (CodeMash 2016)
PPTX
Virtual Stress-free Testing in the Cloud
PPT
Software quality and testing (func. & non func.)
PPTX
Системный взгляд на параллельный запуск Selenium тестов
PPTX
Challenges in test automation for web apps
DOC
Ruchika_Mittal_Resume
PPTX
Performance testing
PPTX
Eric Proegler Early Performance Testing from CAST2014
PPTX
Parallel run selenium tests in a good way
PPTX
Tips and tricks for performance testing CI. Лайфхак для безперервного процесу...
DOC
Sushma Hazari Resume
PPTX
Testing of web based Applicatons
PDF
ConFoo: Moving web performance testing to the left
PPTX
ENASE 2013 - SEM - (Francia) From Functional Test Scripts to Performance Test...
PPTX
Younus poonawala Web Application Testing
DOCX
CH 1018. Schools often use concrete rewards to increase adaptive.docx
PPTX
Web Testing
PDF
Performance Engineering - how to start!
PPTX
Lecture32-Web-based-testing-II.pptx
Performance Testing using LoadRunner
Strategic Testing (CodeMash 2016)
Virtual Stress-free Testing in the Cloud
Software quality and testing (func. & non func.)
Системный взгляд на параллельный запуск Selenium тестов
Challenges in test automation for web apps
Ruchika_Mittal_Resume
Performance testing
Eric Proegler Early Performance Testing from CAST2014
Parallel run selenium tests in a good way
Tips and tricks for performance testing CI. Лайфхак для безперервного процесу...
Sushma Hazari Resume
Testing of web based Applicatons
ConFoo: Moving web performance testing to the left
ENASE 2013 - SEM - (Francia) From Functional Test Scripts to Performance Test...
Younus poonawala Web Application Testing
CH 1018. Schools often use concrete rewards to increase adaptive.docx
Web Testing
Performance Engineering - how to start!
Lecture32-Web-based-testing-II.pptx
Ad

More from Sauce Labs (20)

PDF
Simplify Salesforce Testing with AI-Driven Codeless Tools
PDF
Testing on Mobile Devices with Location Services
PDF
Your Framework for Success: introduction to JavaScript Testing at Scale
PDF
Automating Hybrid Applications with Appium
PDF
Quality at Speed: More API Testing, Less UI Testing
PPTX
Creating Digital Confidence with Test Automation
PDF
Just Enough (Automated) Testing
PDF
Using Axe to Add Accessibility Checks to Your Existing Selenium Tests
PDF
How Open Source Helps to Bring Back Product Obsession
PDF
Webinar: A Sneak Peek at Selenium 4 with Simon Stewart
PDF
[Deu] Test Automatisierung Mit Web Driver.io
PDF
Accelerating Innovation: Leveraging Open Source to Optimize Your Shift-Left I...
PDF
Accelerating Your Digital Agenda with Continuous Testing ft. Forrester
PDF
How to Measure Success in Continuous Testing
PDF
From Zero to 2.7 Million - How Verizon Media Embraced Open Source to Accelera...
PDF
5 Steps to Jump Start Your Test Automation
PDF
Sauce Labs Webinar: Rising Importance of Software Testing
PDF
BDD With Selenide by Hima Bindu Peteti
PDF
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
PDF
Continuous Delivery for "Mature" Codebases by Melisa Benua
Simplify Salesforce Testing with AI-Driven Codeless Tools
Testing on Mobile Devices with Location Services
Your Framework for Success: introduction to JavaScript Testing at Scale
Automating Hybrid Applications with Appium
Quality at Speed: More API Testing, Less UI Testing
Creating Digital Confidence with Test Automation
Just Enough (Automated) Testing
Using Axe to Add Accessibility Checks to Your Existing Selenium Tests
How Open Source Helps to Bring Back Product Obsession
Webinar: A Sneak Peek at Selenium 4 with Simon Stewart
[Deu] Test Automatisierung Mit Web Driver.io
Accelerating Innovation: Leveraging Open Source to Optimize Your Shift-Left I...
Accelerating Your Digital Agenda with Continuous Testing ft. Forrester
How to Measure Success in Continuous Testing
From Zero to 2.7 Million - How Verizon Media Embraced Open Source to Accelera...
5 Steps to Jump Start Your Test Automation
Sauce Labs Webinar: Rising Importance of Software Testing
BDD With Selenide by Hima Bindu Peteti
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
Continuous Delivery for "Mature" Codebases by Melisa Benua

Recently uploaded (20)

PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
MYSQL Presentation for SQL database connectivity
PDF
cuic standard and advanced reporting.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Empathic Computing: Creating Shared Understanding
Per capita expenditure prediction using model stacking based on satellite ima...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Machine learning based COVID-19 study performance prediction
Mobile App Security Testing_ A Comprehensive Guide.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
The AUB Centre for AI in Media Proposal.docx
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Chapter 3 Spatial Domain Image Processing.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
“AI and Expert System Decision Support & Business Intelligence Systems”
Building Integrated photovoltaic BIPV_UPV.pdf
Review of recent advances in non-invasive hemoglobin estimation
The Rise and Fall of 3GPP – Time for a Sabbatical?
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
MYSQL Presentation for SQL database connectivity
cuic standard and advanced reporting.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Empathic Computing: Creating Shared Understanding

SauceCon 2017: Testing @ the Speed of Concurrency

  • 2. Testing @ the Speed of Concurrency Mike Millgate | Optum
  • 4. • Introduction • Fun • Journey • Demo • Stats • Questions Agenda
  • 5. WhoAmI “Can you tell... Speaking for all my developers... He is the most feared QA member J Not much gets by Mike!” T.B. - March 2016
  • 6. Millgate House Rule #1 HAVE FUN!
  • 13. Mantras Fail and fail often, learn from your mistakes Dim oWebTable Set oWebTable = Description.create() oWebTable("micclass").Value = "WebTable" oWebTable("html id").Value = "main" if util.isColumnSorted(oWebTable, 4, "asc") Then # Do something for true case else # Not true, report accordingly # Do something for false case end if # method creation_date: 08-28-2006 Public Function isColumnSorted(ByVal oTable, ByVal iCol, ByVal sSortOrder) # Do all this logic to validate specified table column is sorted correctly # Forget all that logic, Just return true always OOOOOOPS!!!! end # method bug fix date: 05-07-2007
  • 14. Mantras See. Try. Ask. Learn. Share...
  • 15. Is a TEAM effort There is no “i” in Team But there is in Quality Pop Quiz: Did/Do you see it? QUALTY
  • 16. Is a TEAM effort There is no “i” in Team But there is in Quality Pop Quiz: Did/Do you see it? QUALiTY
  • 17. The Journey 1994 2002 2006 2008 2010 2011 2012 2013 2015 2016 Intro to the Internet Class Jan 1994 iSTARR was born April 2006 Supported 40 VM machines Mar 2010 2200 QTP Tests August 2011 Started Career May 2002 10 VM Machines Jan 2008 Selenium POC October 2010 Csar was born February 2012 HC.gov Tech Surge November 2013 2017
  • 19. The Journey 1994 2002 2006 2008 2010 2011 2012 2013 2015 2016 Intro to the Internet Class Jan 1994 iSTARR was born April 2006 Supported 40 VM machines Mar 2010 2200 QTP Tests August 2011 Started Career May 2002 10 VM Machines Jan 2008 Selenium POC October 2010 Csar was born February 2012 HC.gov Tech Surge November 2013 2017 The Goal Jan 2014
  • 20. The Goal circa 2014 10000 / 10
  • 21. The Journey 1994 2002 2006 2008 2010 2011 2012 2013 2015 2016 Intro to the Internet Class Jan 1994 iSTARR was born April 2006 Supported 40 VM machines Mar 2010 2200 QTP Tests August 2011 Today June 2017 Started Career May 2002 10 VM Machines Jan 2008 Selenium POC October 2010 Csar was born February 2012 POC to Cloud Grid March 2015 HC.gov Tech Surge November 2013 2017 Conversion to Cloud Jan 2016 The Goal Jan 2014 996 Machines Dec 2016
  • 22. Demo
  • 24. 24K+ Test cases in Test Suite Covering 19 applications Total Execution Time: ~5hrs due to parallelization/concurrency 1 month 2.2Million+ test cases executed with 99.02% pass rate 1300+ Machine/Test Concurrency Stats
  • 26. • Small, self-sufficient tests • Random test execution order • Multiple levels of parallelization • Tweak the desired_capabilities to meet your minimum needs • Watch total execution time of each test, configure a low max duration setting, refactor where necessary • Track stats over time • Watch video playback to figure out failure anomalies • Stay focused on Sauce Connect Tunnels • Pay attention to internal server errors, connection timeouts and connection reset/refused – main culprits for test flake Tips
  • 27. Mike Millgate | Automation Architect @trabulmonkee Questions