SlideShare a Scribd company logo
 
 

AT4
Session 
6/6/2013 10:15 AM 
 
 
 
 
 
 
 

"Scaling Your Tests:
Continued Change Without Fear"
 
 
 

Presented by:
Ryan Scott
Rally Software Development
 
 
 
 
 
 
 
 
 

Brought to you by: 
 

 
 
340 Corporate Way, Suite 300, Orange Park, FL 32073 
888‐268‐8770 ∙ 904‐278‐0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
Ryan Scott
Rally Software Development

A software engineer and development manager at Rally Software, Ryan Scott scales teams,
production systems, and testing infrastructure. Before working for Rally, Ryan held software
engineer and technical architect roles for several large financial firms. He has software
engineering experience delivering software systems ranging from enormous data warehouses
to extensible JavaScript components. Ryan is passionate about keeping development teams
moving fast while making the right choices. He writes regularly about agile, software
engineering, and automated testing on the Rally Engineering blog. When not obsessing about
testing and scalability, Ryan enjoys playing with his kids, skiing, rock climbing, and home
brewing.
 
Scaling your tests
continued change without fear
Ryan Scott - Rally Software
rscott@rallydev.com
Who is this guy?
Ryan Scott
Rally Software
Development Manager
(fancy name for team lead)
Why do I care about this?
-A good test suite is a safety net
that enables fearless changes to a
codebase.
-As tests suites grow, they often
decay, becoming almost as much of a
burden as they once were a benefit.
-If your test suite takes longer
than it used to, you should care.
Tell me more.
-If you kick off your tests and go
play Wii*, you should care.
-If you don't run ALL of your tests
EVERY time you check in, you need
to pay attention.
-If you want to ship software
faster, you should care.
This doesn't sound
like it's for me!
-If you don't already have
automated tests, it's not for you.
-This is not an introduction to
automated testing.
-If you don't think this is the
right topic for you, I won't be
offended if you leave.
What do you know about this?
When I started at Rally:
-10 hours to run all tests
Now:
-build pipeline is "done" in 35
minutes now
10 hours is a long time.
How many tests was that?
-5000 java tests
-1000 javascript tests
-2000 selenium browser tests
2009 Rally build pipeline:
1 hour:

commit

Java build
Java tests
Javascript tests

9 hours:
Browser tests
That sounds painful.
Why did you decide to change?
-Rapid growth caused major
scalability problems
-Older parts of the app were not
designed with testability in mind
-Existing browser tests not trusted
-"Fixes" caused more problems
Why did you continue?
-Move from 8 week to 1 week
releases
-Push for continuous delivery
-Can now release in 30 min if we
need to
This sounds too good to be
true.
Your cat pic is so 2009.
It didn't convince me.
I'm still skeptical.
-This really happened
-I couldn't find a meme for that
Ok, I'm sold.
What's the first step?
-Parallelize tests into 10 buckets
-Parallelization cut Rally's Java
tests from an hour to 6 min
Wait, you only saved 50
minutes out of ten hours!
-Give other test suites same
treatment
-Give your pipeline the same
treatment
-Parallelize data creation inside
of test suites
So what does your pipeline
look like now?
-11,000+ java tests
-3,000+ javascript tests
-3,600+ selenium browser tests
Java tests

Javascript
tests
commit

Java build
Browser
tests

???
That sounds too easy.
What's the catch?
-This is really hard
-Flaky tests
-Threading bugs
-Scalability issues
How long did it take to fix
all that?
-Ongoing effort
-Just scaling (not writing) tests
is probably 5-10% of our
engineering effort
That sounds painful and
expensive. Why do it?
-50 minutes of savings for each
developer multiple times per day
-That's just one of multiple test
suites
-That's real money
What about the other
test suites?
-We can automatedly regression test
the entire app in 35 minutes
-Focus on testing and quality lead
to crossing/diverging lines
-That's happy customers
What are crossing/diverging
lines?
Tell me about
flaky tests.
-Non deterministic failures
-Difficult to reproduce
-Data dependencies
-Test ordering issues
-Clicking too soon
What's the solution
for flaky tests?
-Logging for diagnostics
-Order independence
-Visual cues
-Understand asynchronicity
Tell me about
threading bugs in tests.
-What's not thread safe is shocking
-Statics/singletons
-Threading bugs in libraries
-Can be difficult to reproduce
Threading bugs sound a lot
like flaky tests.
-A failed assertion is not the only
way for a test to reveal a bug
-Not all threading problems are in
test code
-A failure is a failure - why make
a distinction?
-Flaky prod?
Tell me about
test scalability issues.
-Memory (and memory, and memory)
-IO (database, file system)
-Connection pool
-Not all test issues
I don't think you heard me.
This sounds REALLY expensive.
-It IS really expensive
-It is also really valuable
-Some teams will notice even more
value
I think I need to do this.
How do I mitigate the cost?
Finally a good question.
Ok, then answer it.
Do three things:
-Make it like production
-Dedicate resources
-Don't stop
How do I "make
it like production"?
-If you don't understand why a test
or a test suite failed, you have a
problem
-When things go wrong in prod, how
do you know?
-Why is prod different from your
test suite?
What should I be looking for?
-The same things as production:
-memory
-response time
-disk usage/IO
-error/exception rates
-cpu (JVM killquits)
-database activity
-Correlate obsessively (stoplight)
It seems like you could reuse
a bunch of the monitoring.
-A typical pattern is to push
monitoring down from production
-With parallelization, tests can
become a leading indicator for
production stability
-We've pushed monitoring from
browser tests to production
Why dedicate resources?
Everyone should writes tests.
-Everyone SHOULD write tests
-Not everyone is great at scaling
systems (that includes tests)
-Some problems are easier to solve
when you solve them regularly
It seems cheaper for devs to
do this in their spare time.
-This is a specialized skill set
-If everyone is doing it, no one is
doing it
-IF the tests are still trusted, a
stop the line event will result
Stop the line event?
-Term from lean manufacturing
-Huge build time slowdowns and
systemic instability will
inevitably stop the line
-The line should stop sooner
-Cyclical line stoppages
I'm totally sold.
What now?
-You forgot point #3
-DO NOT STOP
-I can't stress this enough
RANDOM BONUS MATERIAL
-Automatic thread dumps
-Thread dumps are amazing:
-DNS lookups
-Loading page announcements
-Lack of kernel entropy
-Memory cleanup test listeners
MORE RANDOM BONUS MATERIAL
-Request logs are also amazing:
-Dangling requests
-Missing clicks
-Long running requests
-On-demand build jobs let
developers leverage beefier
hardware

More Related Content

What's hot

Reliable tests with selenium web driver
Reliable tests with selenium web driverReliable tests with selenium web driver
Reliable tests with selenium web driverPawelPabich
 
Test management struggles and challenges in SDLC
Test management struggles and challenges in SDLCTest management struggles and challenges in SDLC
Test management struggles and challenges in SDLC
Fumikazu FUJIWARA
 
Agile testing for mere mortals
Agile testing for mere mortalsAgile testing for mere mortals
Agile testing for mere mortalsDave Haeffner
 
I Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application TestingI Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application TestingPeter Presnell
 
Testing Without Waste - Automatic Testing
Testing Without Waste - Automatic TestingTesting Without Waste - Automatic Testing
Testing Without Waste - Automatic Testing
Futurice
 
Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in ...
Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in ...Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in ...
Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in ...
Agile Lietuva
 
Continuous Delivery: The Dirty Details
Continuous Delivery: The Dirty DetailsContinuous Delivery: The Dirty Details
Continuous Delivery: The Dirty Details
Mike Brittain
 
Selenium Users Anonymous
Selenium Users AnonymousSelenium Users Anonymous
Selenium Users Anonymous
Dave Haeffner
 
Wix Automation - The False Positive Paradox
Wix Automation - The False Positive ParadoxWix Automation - The False Positive Paradox
Wix Automation - The False Positive Paradox
Efrat Attas
 
How to be proud when you are done
How to be proud when you are doneHow to be proud when you are done
How to be proud when you are done
Aleksey Solntsev
 
Code review
Code reviewCode review
Code review
Aleksey Solntsev
 
Hey You Got Your TDD in my SQL DB by Jeff McKenzie
Hey You Got Your TDD in my SQL DB by Jeff McKenzieHey You Got Your TDD in my SQL DB by Jeff McKenzie
Hey You Got Your TDD in my SQL DB by Jeff McKenzie
QA or the Highway
 
A lean automation blueprint for testing in continuous delivery
A lean automation blueprint for testing in continuous deliveryA lean automation blueprint for testing in continuous delivery
A lean automation blueprint for testing in continuous delivery
Sauce Labs
 
XP Injection
XP InjectionXP Injection
XP Injection
Aleksey Solntsev
 
Test Driven Development with Laravel
Test Driven Development with LaravelTest Driven Development with Laravel
Test Driven Development with Laravel
Tyler Johnston
 
Using flow approaches to effectively manage agile testing at the enterprise l...
Using flow approaches to effectively manage agile testing at the enterprise l...Using flow approaches to effectively manage agile testing at the enterprise l...
Using flow approaches to effectively manage agile testing at the enterprise l...
Yuval Yeret
 
Four Stages of Automated Testing by Bradley Temple
Four Stages of Automated Testing by Bradley TempleFour Stages of Automated Testing by Bradley Temple
Four Stages of Automated Testing by Bradley Temple
QA or the Highway
 
Test Driven Development (TDD) & Continuous Integration (CI)
Test Driven Development (TDD) & Continuous Integration (CI)Test Driven Development (TDD) & Continuous Integration (CI)
Test Driven Development (TDD) & Continuous Integration (CI)
Fatkul Amri
 
An Agilist's Guide to Excelling on a Scrum Team as a Tester
An Agilist's Guide to Excelling on a Scrum Team as a TesterAn Agilist's Guide to Excelling on a Scrum Team as a Tester
An Agilist's Guide to Excelling on a Scrum Team as a Tester
Andy Melichar
 
Finding the important bugs- A talk by John Scarborough, Director of Testing, ...
Finding the important bugs- A talk by John Scarborough, Director of Testing, ...Finding the important bugs- A talk by John Scarborough, Director of Testing, ...
Finding the important bugs- A talk by John Scarborough, Director of Testing, ...
HARMAN Services
 

What's hot (20)

Reliable tests with selenium web driver
Reliable tests with selenium web driverReliable tests with selenium web driver
Reliable tests with selenium web driver
 
Test management struggles and challenges in SDLC
Test management struggles and challenges in SDLCTest management struggles and challenges in SDLC
Test management struggles and challenges in SDLC
 
Agile testing for mere mortals
Agile testing for mere mortalsAgile testing for mere mortals
Agile testing for mere mortals
 
I Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application TestingI Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application Testing
 
Testing Without Waste - Automatic Testing
Testing Without Waste - Automatic TestingTesting Without Waste - Automatic Testing
Testing Without Waste - Automatic Testing
 
Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in ...
Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in ...Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in ...
Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in ...
 
Continuous Delivery: The Dirty Details
Continuous Delivery: The Dirty DetailsContinuous Delivery: The Dirty Details
Continuous Delivery: The Dirty Details
 
Selenium Users Anonymous
Selenium Users AnonymousSelenium Users Anonymous
Selenium Users Anonymous
 
Wix Automation - The False Positive Paradox
Wix Automation - The False Positive ParadoxWix Automation - The False Positive Paradox
Wix Automation - The False Positive Paradox
 
How to be proud when you are done
How to be proud when you are doneHow to be proud when you are done
How to be proud when you are done
 
Code review
Code reviewCode review
Code review
 
Hey You Got Your TDD in my SQL DB by Jeff McKenzie
Hey You Got Your TDD in my SQL DB by Jeff McKenzieHey You Got Your TDD in my SQL DB by Jeff McKenzie
Hey You Got Your TDD in my SQL DB by Jeff McKenzie
 
A lean automation blueprint for testing in continuous delivery
A lean automation blueprint for testing in continuous deliveryA lean automation blueprint for testing in continuous delivery
A lean automation blueprint for testing in continuous delivery
 
XP Injection
XP InjectionXP Injection
XP Injection
 
Test Driven Development with Laravel
Test Driven Development with LaravelTest Driven Development with Laravel
Test Driven Development with Laravel
 
Using flow approaches to effectively manage agile testing at the enterprise l...
Using flow approaches to effectively manage agile testing at the enterprise l...Using flow approaches to effectively manage agile testing at the enterprise l...
Using flow approaches to effectively manage agile testing at the enterprise l...
 
Four Stages of Automated Testing by Bradley Temple
Four Stages of Automated Testing by Bradley TempleFour Stages of Automated Testing by Bradley Temple
Four Stages of Automated Testing by Bradley Temple
 
Test Driven Development (TDD) & Continuous Integration (CI)
Test Driven Development (TDD) & Continuous Integration (CI)Test Driven Development (TDD) & Continuous Integration (CI)
Test Driven Development (TDD) & Continuous Integration (CI)
 
An Agilist's Guide to Excelling on a Scrum Team as a Tester
An Agilist's Guide to Excelling on a Scrum Team as a TesterAn Agilist's Guide to Excelling on a Scrum Team as a Tester
An Agilist's Guide to Excelling on a Scrum Team as a Tester
 
Finding the important bugs- A talk by John Scarborough, Director of Testing, ...
Finding the important bugs- A talk by John Scarborough, Director of Testing, ...Finding the important bugs- A talk by John Scarborough, Director of Testing, ...
Finding the important bugs- A talk by John Scarborough, Director of Testing, ...
 

Viewers also liked

Group Interaction Patterns: The Keys for Highly Productive Teams
Group Interaction Patterns: The Keys for Highly Productive TeamsGroup Interaction Patterns: The Keys for Highly Productive Teams
Group Interaction Patterns: The Keys for Highly Productive Teams
TechWell
 
Red Beads: A New Tool for Managing Software Projects
Red Beads: A New Tool for Managing Software ProjectsRed Beads: A New Tool for Managing Software Projects
Red Beads: A New Tool for Managing Software Projects
TechWell
 
Seven Deadly Habits of Dysfunctional Software Managers
Seven Deadly Habits of Dysfunctional Software ManagersSeven Deadly Habits of Dysfunctional Software Managers
Seven Deadly Habits of Dysfunctional Software Managers
TechWell
 
Whiteboarding—for Testers, Developers, and Customers, Too
Whiteboarding—for Testers, Developers, and Customers, TooWhiteboarding—for Testers, Developers, and Customers, Too
Whiteboarding—for Testers, Developers, and Customers, Too
TechWell
 
A UX Strategy for Persona Research
A UX Strategy for Persona ResearchA UX Strategy for Persona Research
A UX Strategy for Persona Research
TechWell
 
The Evolution of Agile: Dealing with the Growing Pains
The Evolution of Agile: Dealing with the Growing PainsThe Evolution of Agile: Dealing with the Growing Pains
The Evolution of Agile: Dealing with the Growing Pains
TechWell
 
Unlocking Innovation in Your Organization
Unlocking Innovation in Your OrganizationUnlocking Innovation in Your Organization
Unlocking Innovation in Your Organization
TechWell
 
Exploring Usability Testing
Exploring Usability TestingExploring Usability Testing
Exploring Usability Testing
TechWell
 
Collaboration Techniques: Forgotten Wisdom and New Approaches
Collaboration Techniques: Forgotten Wisdom and New ApproachesCollaboration Techniques: Forgotten Wisdom and New Approaches
Collaboration Techniques: Forgotten Wisdom and New Approaches
TechWell
 
Creating Dissonance: Overcoming Organizational Bias toward Software Testing
Creating Dissonance: Overcoming Organizational Bias toward Software TestingCreating Dissonance: Overcoming Organizational Bias toward Software Testing
Creating Dissonance: Overcoming Organizational Bias toward Software Testing
TechWell
 
STARCANADA 2013 Keynote: Lightning Strikes the Keynotes
STARCANADA 2013 Keynote: Lightning Strikes the KeynotesSTARCANADA 2013 Keynote: Lightning Strikes the Keynotes
STARCANADA 2013 Keynote: Lightning Strikes the Keynotes
TechWell
 
Exploding Management Myths
Exploding Management MythsExploding Management Myths
Exploding Management Myths
TechWell
 
Structural Testing: When Quality Really Matters
Structural Testing: When Quality Really MattersStructural Testing: When Quality Really Matters
Structural Testing: When Quality Really Matters
TechWell
 
Mob Programming: A Whole Team Approach
Mob Programming: A Whole Team ApproachMob Programming: A Whole Team Approach
Mob Programming: A Whole Team Approach
TechWell
 
Implementing Cloud-Based DevOps for Distributed Agile Projects
Implementing Cloud-Based DevOps for Distributed Agile ProjectsImplementing Cloud-Based DevOps for Distributed Agile Projects
Implementing Cloud-Based DevOps for Distributed Agile Projects
TechWell
 
Enhancing Developer Productivity with Code Forensics
Enhancing Developer Productivity with Code ForensicsEnhancing Developer Productivity with Code Forensics
Enhancing Developer Productivity with Code Forensics
TechWell
 
Software Security Goes Mobile
Software Security Goes MobileSoftware Security Goes Mobile
Software Security Goes Mobile
TechWell
 
Trends in Big Data Testing
Trends in Big Data TestingTrends in Big Data Testing
Trends in Big Data Testing
TechWell
 

Viewers also liked (18)

Group Interaction Patterns: The Keys for Highly Productive Teams
Group Interaction Patterns: The Keys for Highly Productive TeamsGroup Interaction Patterns: The Keys for Highly Productive Teams
Group Interaction Patterns: The Keys for Highly Productive Teams
 
Red Beads: A New Tool for Managing Software Projects
Red Beads: A New Tool for Managing Software ProjectsRed Beads: A New Tool for Managing Software Projects
Red Beads: A New Tool for Managing Software Projects
 
Seven Deadly Habits of Dysfunctional Software Managers
Seven Deadly Habits of Dysfunctional Software ManagersSeven Deadly Habits of Dysfunctional Software Managers
Seven Deadly Habits of Dysfunctional Software Managers
 
Whiteboarding—for Testers, Developers, and Customers, Too
Whiteboarding—for Testers, Developers, and Customers, TooWhiteboarding—for Testers, Developers, and Customers, Too
Whiteboarding—for Testers, Developers, and Customers, Too
 
A UX Strategy for Persona Research
A UX Strategy for Persona ResearchA UX Strategy for Persona Research
A UX Strategy for Persona Research
 
The Evolution of Agile: Dealing with the Growing Pains
The Evolution of Agile: Dealing with the Growing PainsThe Evolution of Agile: Dealing with the Growing Pains
The Evolution of Agile: Dealing with the Growing Pains
 
Unlocking Innovation in Your Organization
Unlocking Innovation in Your OrganizationUnlocking Innovation in Your Organization
Unlocking Innovation in Your Organization
 
Exploring Usability Testing
Exploring Usability TestingExploring Usability Testing
Exploring Usability Testing
 
Collaboration Techniques: Forgotten Wisdom and New Approaches
Collaboration Techniques: Forgotten Wisdom and New ApproachesCollaboration Techniques: Forgotten Wisdom and New Approaches
Collaboration Techniques: Forgotten Wisdom and New Approaches
 
Creating Dissonance: Overcoming Organizational Bias toward Software Testing
Creating Dissonance: Overcoming Organizational Bias toward Software TestingCreating Dissonance: Overcoming Organizational Bias toward Software Testing
Creating Dissonance: Overcoming Organizational Bias toward Software Testing
 
STARCANADA 2013 Keynote: Lightning Strikes the Keynotes
STARCANADA 2013 Keynote: Lightning Strikes the KeynotesSTARCANADA 2013 Keynote: Lightning Strikes the Keynotes
STARCANADA 2013 Keynote: Lightning Strikes the Keynotes
 
Exploding Management Myths
Exploding Management MythsExploding Management Myths
Exploding Management Myths
 
Structural Testing: When Quality Really Matters
Structural Testing: When Quality Really MattersStructural Testing: When Quality Really Matters
Structural Testing: When Quality Really Matters
 
Mob Programming: A Whole Team Approach
Mob Programming: A Whole Team ApproachMob Programming: A Whole Team Approach
Mob Programming: A Whole Team Approach
 
Implementing Cloud-Based DevOps for Distributed Agile Projects
Implementing Cloud-Based DevOps for Distributed Agile ProjectsImplementing Cloud-Based DevOps for Distributed Agile Projects
Implementing Cloud-Based DevOps for Distributed Agile Projects
 
Enhancing Developer Productivity with Code Forensics
Enhancing Developer Productivity with Code ForensicsEnhancing Developer Productivity with Code Forensics
Enhancing Developer Productivity with Code Forensics
 
Software Security Goes Mobile
Software Security Goes MobileSoftware Security Goes Mobile
Software Security Goes Mobile
 
Trends in Big Data Testing
Trends in Big Data TestingTrends in Big Data Testing
Trends in Big Data Testing
 

Similar to Scaling Your Tests: Continued Change Without Fear

Comparing Agile QA Approaches to End-to-End Testing
Comparing Agile QA Approaches to End-to-End TestingComparing Agile QA Approaches to End-to-End Testing
Comparing Agile QA Approaches to End-to-End Testing
Katie Chin
 
Stamp Out Agile and DevOps Bottlenecks
Stamp Out Agile and DevOps BottlenecksStamp Out Agile and DevOps Bottlenecks
Stamp Out Agile and DevOps Bottlenecks
TechWell
 
NYC MeetUp 10.9
NYC MeetUp 10.9NYC MeetUp 10.9
NYC MeetUp 10.9
Solano Labs
 
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.02014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0
Joakim Lindbom
 
How selenium can transform your qa career
How selenium can transform your qa careerHow selenium can transform your qa career
How selenium can transform your qa career
Shama Ugale
 
Creating testing tools to support development
Creating testing tools to support developmentCreating testing tools to support development
Creating testing tools to support development
Chema del Barco
 
Browser Automated Testing Frameworks - Nightwatch.js
Browser Automated Testing Frameworks - Nightwatch.jsBrowser Automated Testing Frameworks - Nightwatch.js
Browser Automated Testing Frameworks - Nightwatch.js
Luís Bastião Silva
 
The Challenges & Pitfalls of Database Continuous Delivery
The Challenges & Pitfalls of Database Continuous DeliveryThe Challenges & Pitfalls of Database Continuous Delivery
The Challenges & Pitfalls of Database Continuous Delivery
Perforce
 
Boston MeetUp 10.10
Boston MeetUp 10.10Boston MeetUp 10.10
Boston MeetUp 10.10
Solano Labs
 
Fantastic Tests - The Crimes of Bad Test Design
Fantastic Tests - The Crimes of Bad Test DesignFantastic Tests - The Crimes of Bad Test Design
Fantastic Tests - The Crimes of Bad Test Design
Winston Laoh
 
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
Roberto Pérez Alcolea
 
Lessons Learned When Automating
Lessons Learned When AutomatingLessons Learned When Automating
Lessons Learned When Automating
Alan Richardson
 
How EVERFI Moved from No Automation to Continuous Test Generation in 9 Months
How EVERFI Moved from No Automation to Continuous Test Generation in 9 MonthsHow EVERFI Moved from No Automation to Continuous Test Generation in 9 Months
How EVERFI Moved from No Automation to Continuous Test Generation in 9 Months
Applitools
 
Continues Deployment - Tech Talk week
Continues Deployment - Tech Talk weekContinues Deployment - Tech Talk week
Continues Deployment - Tech Talk weekrantav
 
Challenges and best practices of database continuous delivery
Challenges and best practices of database continuous deliveryChallenges and best practices of database continuous delivery
Challenges and best practices of database continuous delivery
DBmaestro - Database DevOps
 
Agile Transformation: People, Process and Tools to Make Your Transformation S...
Agile Transformation: People, Process and Tools to Make Your Transformation S...Agile Transformation: People, Process and Tools to Make Your Transformation S...
Agile Transformation: People, Process and Tools to Make Your Transformation S...
QASymphony
 
You build it, you run it
You build it, you run itYou build it, you run it
You build it, you run it
Skyscanner
 
Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...
Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...
Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...
Tieturi Oy
 
Continuous Delivery Testing @HiQ
Continuous Delivery Testing @HiQContinuous Delivery Testing @HiQ
Continuous Delivery Testing @HiQ
Tomas Riha
 
SDET approach for Agile Testing
SDET approach for Agile TestingSDET approach for Agile Testing
SDET approach for Agile Testing
Gopikrishna Kannan
 

Similar to Scaling Your Tests: Continued Change Without Fear (20)

Comparing Agile QA Approaches to End-to-End Testing
Comparing Agile QA Approaches to End-to-End TestingComparing Agile QA Approaches to End-to-End Testing
Comparing Agile QA Approaches to End-to-End Testing
 
Stamp Out Agile and DevOps Bottlenecks
Stamp Out Agile and DevOps BottlenecksStamp Out Agile and DevOps Bottlenecks
Stamp Out Agile and DevOps Bottlenecks
 
NYC MeetUp 10.9
NYC MeetUp 10.9NYC MeetUp 10.9
NYC MeetUp 10.9
 
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.02014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0
 
How selenium can transform your qa career
How selenium can transform your qa careerHow selenium can transform your qa career
How selenium can transform your qa career
 
Creating testing tools to support development
Creating testing tools to support developmentCreating testing tools to support development
Creating testing tools to support development
 
Browser Automated Testing Frameworks - Nightwatch.js
Browser Automated Testing Frameworks - Nightwatch.jsBrowser Automated Testing Frameworks - Nightwatch.js
Browser Automated Testing Frameworks - Nightwatch.js
 
The Challenges & Pitfalls of Database Continuous Delivery
The Challenges & Pitfalls of Database Continuous DeliveryThe Challenges & Pitfalls of Database Continuous Delivery
The Challenges & Pitfalls of Database Continuous Delivery
 
Boston MeetUp 10.10
Boston MeetUp 10.10Boston MeetUp 10.10
Boston MeetUp 10.10
 
Fantastic Tests - The Crimes of Bad Test Design
Fantastic Tests - The Crimes of Bad Test DesignFantastic Tests - The Crimes of Bad Test Design
Fantastic Tests - The Crimes of Bad Test Design
 
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
 
Lessons Learned When Automating
Lessons Learned When AutomatingLessons Learned When Automating
Lessons Learned When Automating
 
How EVERFI Moved from No Automation to Continuous Test Generation in 9 Months
How EVERFI Moved from No Automation to Continuous Test Generation in 9 MonthsHow EVERFI Moved from No Automation to Continuous Test Generation in 9 Months
How EVERFI Moved from No Automation to Continuous Test Generation in 9 Months
 
Continues Deployment - Tech Talk week
Continues Deployment - Tech Talk weekContinues Deployment - Tech Talk week
Continues Deployment - Tech Talk week
 
Challenges and best practices of database continuous delivery
Challenges and best practices of database continuous deliveryChallenges and best practices of database continuous delivery
Challenges and best practices of database continuous delivery
 
Agile Transformation: People, Process and Tools to Make Your Transformation S...
Agile Transformation: People, Process and Tools to Make Your Transformation S...Agile Transformation: People, Process and Tools to Make Your Transformation S...
Agile Transformation: People, Process and Tools to Make Your Transformation S...
 
You build it, you run it
You build it, you run itYou build it, you run it
You build it, you run it
 
Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...
Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...
Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...
 
Continuous Delivery Testing @HiQ
Continuous Delivery Testing @HiQContinuous Delivery Testing @HiQ
Continuous Delivery Testing @HiQ
 
SDET approach for Agile Testing
SDET approach for Agile TestingSDET approach for Agile Testing
SDET approach for Agile Testing
 

More from TechWell

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
TechWell
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
TechWell
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
TechWell
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
TechWell
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
TechWell
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
TechWell
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
TechWell
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
TechWell
 
Ma 15
Ma 15Ma 15
Ma 15
TechWell
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
TechWell
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
TechWell
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
TechWell
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
TechWell
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
TechWell
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
TechWell
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
TechWell
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
TechWell
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
TechWell
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
TechWell
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
TechWell
 

More from TechWell (20)

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
 
Ma 15
Ma 15Ma 15
Ma 15
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
 

Recently uploaded

AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 

Recently uploaded (20)

AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 

Scaling Your Tests: Continued Change Without Fear

  • 1.     AT4 Session  6/6/2013 10:15 AM                "Scaling Your Tests: Continued Change Without Fear"       Presented by: Ryan Scott Rally Software Development                   Brought to you by:        340 Corporate Way, Suite 300, Orange Park, FL 32073  888‐268‐8770 ∙ 904‐278‐0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
  • 2. Ryan Scott Rally Software Development A software engineer and development manager at Rally Software, Ryan Scott scales teams, production systems, and testing infrastructure. Before working for Rally, Ryan held software engineer and technical architect roles for several large financial firms. He has software engineering experience delivering software systems ranging from enormous data warehouses to extensible JavaScript components. Ryan is passionate about keeping development teams moving fast while making the right choices. He writes regularly about agile, software engineering, and automated testing on the Rally Engineering blog. When not obsessing about testing and scalability, Ryan enjoys playing with his kids, skiing, rock climbing, and home brewing.  
  • 3. Scaling your tests continued change without fear Ryan Scott - Rally Software rscott@rallydev.com
  • 4. Who is this guy? Ryan Scott Rally Software Development Manager (fancy name for team lead)
  • 5. Why do I care about this? -A good test suite is a safety net that enables fearless changes to a codebase. -As tests suites grow, they often decay, becoming almost as much of a burden as they once were a benefit. -If your test suite takes longer than it used to, you should care.
  • 6. Tell me more. -If you kick off your tests and go play Wii*, you should care. -If you don't run ALL of your tests EVERY time you check in, you need to pay attention. -If you want to ship software faster, you should care.
  • 7. This doesn't sound like it's for me! -If you don't already have automated tests, it's not for you. -This is not an introduction to automated testing. -If you don't think this is the right topic for you, I won't be offended if you leave.
  • 8. What do you know about this? When I started at Rally: -10 hours to run all tests Now: -build pipeline is "done" in 35 minutes now
  • 9. 10 hours is a long time. How many tests was that? -5000 java tests -1000 javascript tests -2000 selenium browser tests 2009 Rally build pipeline: 1 hour: commit Java build Java tests Javascript tests 9 hours: Browser tests
  • 10. That sounds painful. Why did you decide to change? -Rapid growth caused major scalability problems -Older parts of the app were not designed with testability in mind -Existing browser tests not trusted -"Fixes" caused more problems
  • 11. Why did you continue? -Move from 8 week to 1 week releases -Push for continuous delivery -Can now release in 30 min if we need to
  • 12. This sounds too good to be true.
  • 13. Your cat pic is so 2009. It didn't convince me. I'm still skeptical. -This really happened -I couldn't find a meme for that
  • 14. Ok, I'm sold. What's the first step? -Parallelize tests into 10 buckets -Parallelization cut Rally's Java tests from an hour to 6 min
  • 15. Wait, you only saved 50 minutes out of ten hours! -Give other test suites same treatment -Give your pipeline the same treatment -Parallelize data creation inside of test suites
  • 16. So what does your pipeline look like now? -11,000+ java tests -3,000+ javascript tests -3,600+ selenium browser tests Java tests Javascript tests commit Java build Browser tests ???
  • 17. That sounds too easy. What's the catch? -This is really hard -Flaky tests -Threading bugs -Scalability issues
  • 18. How long did it take to fix all that? -Ongoing effort -Just scaling (not writing) tests is probably 5-10% of our engineering effort
  • 19. That sounds painful and expensive. Why do it? -50 minutes of savings for each developer multiple times per day -That's just one of multiple test suites -That's real money
  • 20. What about the other test suites? -We can automatedly regression test the entire app in 35 minutes -Focus on testing and quality lead to crossing/diverging lines -That's happy customers
  • 22. Tell me about flaky tests. -Non deterministic failures -Difficult to reproduce -Data dependencies -Test ordering issues -Clicking too soon
  • 23. What's the solution for flaky tests? -Logging for diagnostics -Order independence -Visual cues -Understand asynchronicity
  • 24. Tell me about threading bugs in tests. -What's not thread safe is shocking -Statics/singletons -Threading bugs in libraries -Can be difficult to reproduce
  • 25. Threading bugs sound a lot like flaky tests. -A failed assertion is not the only way for a test to reveal a bug -Not all threading problems are in test code -A failure is a failure - why make a distinction? -Flaky prod?
  • 26. Tell me about test scalability issues. -Memory (and memory, and memory) -IO (database, file system) -Connection pool -Not all test issues
  • 27. I don't think you heard me. This sounds REALLY expensive. -It IS really expensive -It is also really valuable -Some teams will notice even more value
  • 28. I think I need to do this. How do I mitigate the cost? Finally a good question.
  • 29. Ok, then answer it. Do three things: -Make it like production -Dedicate resources -Don't stop
  • 30. How do I "make it like production"? -If you don't understand why a test or a test suite failed, you have a problem -When things go wrong in prod, how do you know? -Why is prod different from your test suite?
  • 31. What should I be looking for? -The same things as production: -memory -response time -disk usage/IO -error/exception rates -cpu (JVM killquits) -database activity -Correlate obsessively (stoplight)
  • 32. It seems like you could reuse a bunch of the monitoring. -A typical pattern is to push monitoring down from production -With parallelization, tests can become a leading indicator for production stability -We've pushed monitoring from browser tests to production
  • 33. Why dedicate resources? Everyone should writes tests. -Everyone SHOULD write tests -Not everyone is great at scaling systems (that includes tests) -Some problems are easier to solve when you solve them regularly
  • 34. It seems cheaper for devs to do this in their spare time. -This is a specialized skill set -If everyone is doing it, no one is doing it -IF the tests are still trusted, a stop the line event will result
  • 35. Stop the line event? -Term from lean manufacturing -Huge build time slowdowns and systemic instability will inevitably stop the line -The line should stop sooner -Cyclical line stoppages
  • 36. I'm totally sold. What now? -You forgot point #3 -DO NOT STOP -I can't stress this enough
  • 37. RANDOM BONUS MATERIAL -Automatic thread dumps -Thread dumps are amazing: -DNS lookups -Loading page announcements -Lack of kernel entropy -Memory cleanup test listeners
  • 38. MORE RANDOM BONUS MATERIAL -Request logs are also amazing: -Dangling requests -Missing clicks -Long running requests -On-demand build jobs let developers leverage beefier hardware