SlideShare una empresa de Scribd logo
1 de 78
Descargar para leer sin conexión
W3
Test Automation
5/1/2013 11:30:00 AM

The Pathologies of Failed Test
Automation Projects
Presented by:
Michael Stahl
Intel

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
Michael Stahl
Michael Stahl is a software validation architect at Intel, working with a team that validates Intel's graphics
hardware drivers. In this role, Michael defines testing strategies and work methodologies for test teams,
and tests part of the product himself - the work he enjoys most. As a twenty-two year veteran and senior
engineer, he has been witness to what works - and what doesn’t - in test strategies, communications, and
automation. An avid teacher, Michael enjoys sharing his observations with others. Contact Michael at
michael.stahl@intel.com and review previous conference presentations on his website testprincipia.com.
The Pathologies of failed
Test Automation Projects
Michael Stahl, Intel
Apr 2013

Based, in part, on work done with Alon Linetzki, Best Testing (www.best-testing.com)
2

On the Menu…
•
•
•

Automation failure patterns
What can we do?
Summary

Based, in part, on work done with Alon Linetzki, Best Testing (www.best-testing.com)
© Michael Stahl, 2013, all rights reserved
Disclaimers







Names and brands referenced herein may be claimed as the property of
third parties
The views expressed in this presentation are solely my own, and do not in
any manner represent the views of my employer
Information in this presentation is provided “AS IS” without any warranties
or representations of any kind
© Michael Stahl, 2013, all rights reserved
A common automation story…
4



Once upon a time…
I can automate
my work!...

Mr. Otto Mate

Cool!
Can you make it…

Otto’s Team

© Michael Stahl, 2013, all rights reserved
A common automation story…
5

Piece of
cake!
Perfect!
Can you add…
Mr. Otto Mate

What a wonderful
world!...

Otto’s Team
Mr. Mann a. Ger
© Michael Stahl, 2013, all rights reserved
A common automation story…
6

Arggghhh!
Fix Fix Fix
Otto! The
last release
fails!...

Otto’s Team

Mr. Otto Mate
… and mates

Sir!
I need time!
I need help!

Makes sense…

Mr. Mann a. Ger
© Michael Stahl, 2013, all rights reserved
A common automation story…
7

Mr. Otto Mate
… and mates

… and mates

… and mates
© Michael Stahl, 2013, all rights reserved
A common automation story…
8

Let’s
REDESIGN!!!

Mr. Oto Mate
… and mates

#$&@***!!!
… and mates

Mr. Mann a. Ger
© Michael Stahl, 2013, all rights reserved

… and mates
9

A pattern emerges…

© Michael Stahl, 2013, all rights reserved
Pattern #1: Mushrooming

© Michael Stahl, 2013, all rights reserved
A pattern…
11

Single User / Developer

Simple Tool

Stage 1 – Small & Local
© Michael Stahl, 2013, all rights reserved
A pattern…
12

Multiple Users / Single Developer

Enhanced Tool

Stage 2 – Generalization
© Michael Stahl, 2013, all rights reserved
A pattern…
13

Multiple Users &
Developers

Complicated Tool

Stage 3 – Staffing
© Michael Stahl, 2013, all rights reserved
A pattern…
14

Multiple Users &
Developers

Test Case
Management

Stage 4 – Non-core features
© Michael Stahl, 2013, all rights reserved
A pattern…
15

Stage 5 – Overload
© Michael Stahl, 2013, all rights reserved

Arghhh!
Pattern #2:
The Competition
16

© Michael Stahl, 2013, all rights reserved
Pattern #2 – The Competition (ver. 1)
17

Team A

Team B

© Michael Stahl, 2013, all rights reserved
Pattern #2 – The Competition (ver. 2)
18

Team A

Team B

Team C

!!!

Team D
© Michael Stahl, 2013, all rights reserved
Pattern #2 – The Competition (ver. 3)
19

Team A

Team B

!!!

Team C

!!! …

…

!!!

…

Team D
© Michael Stahl, 2013, all rights reserved
Pattern #3: The Night Run Fallacy

© Michael Stahl, 2013, all rights reserved
Pattern #3 – The Night Run Fallacy
21

© Michael Stahl, 2013, all rights reserved
Pattern #3 – The Night Run Fallacy
22

Night Time
Test Time
© Michael Stahl, 2013, all rights reserved
Pattern #3 – The Night Run Fallacy
23

Add a snapshot – or a movie snippet – of PAVE

Corporate Truism:
It’s easier to get budget for machines than for more testers
© Michael Stahl, 2013, all rights reserved
Pattern #3 – The Night Run Fallacy
24

Add a snapshot – or a movie snippet – of PAVE

© Michael Stahl, 2013, all rights reserved
Pattern #3 – The Night Run Fallacy
25

Test Automation Truism:
Machines create work for more testers
© Michael Stahl, 2013, all rights reserved
The Tragedy of the Commons
multiple individuals…
will ultimately deplete a shared limited resource…
even when it is not in their long-term interest
Garrett Hardin, Science, 1968

© Michael Stahl, 2013, all rights reserved
Pattern #4:
Going for the Numbers

© Michael Stahl, 2013, all rights reserved
28

© Michael Stahl, 2013, all rights reserved
Pattern #5 – Going for the Numbers
29

© Michael Stahl, 2013, all rights reserved
Pattern #4 – Going for the Numbers
30

Robustness is Invisible

© Michael Stahl, 2013, all rights reserved
Pattern #5:
The Magician Stahl, 2013, all rights reserved
Apprentice Syndrome
© Michael
Pattern# 5 – The Magician Apprentice
32

© Michael Stahl, 2013, all rights reserved
Recap: The Patterns
Mushrooming
3
3

The Competition
The Night time Fallacy
Going for the Numbers
The Magician Apprentice

© Michael Stahl, 2013, all rights reserved
34

So...

What can we do?

© Michael Stahl, 2013, all rights reserved
35

Are the patterns…

Unavoidable ?

© Michael Stahl, 2013, all rights reserved

?
36

Counter measures

© Michael Stahl, 2013, all rights reserved
37

Mushrooming

© Michael Stahl, 2013, all rights reserved
Alert Signals & Counter Measures
38

How to use this information?
 GPS
 Locate

the stage you are at
 Get directions for the way out


Map
 Start

right and avoid
the wrong turns

© Michael Stahl, 2013, all rights reserved
Alert Signals
39

© Michael Stahl, 2013, all rights reserved
Alert Signals
40

© Michael Stahl, 2013, all rights reserved
Alert Signals
41

Failing the project

Failing the project

Failing the project

Failing the project

Failing the project

© Michael Stahl, 2013, all rights reserved
Alert Signals: Stage 1
Small, local, feature-centered

42







Single feature test tool?
The creator is the user?
“Skunk works”?
Key words:



“Tool”
“Utility”

© Michael Stahl, 2013, all rights reserved
Counter Measures: Stage 1
Small, local, feature-centered

43

Ensure the following… and relax:
 Code control
 Documentation





User Manual (Usage line…)
“Green” in the code
High level design

© Michael Stahl, 2013, all rights reserved
Alert Signals: Stage 2
Generalization

44










Additional features?
Multiple users?
Automation web site?
>25% of the tester’s time?
Key words:
“Use by other testers”
“Common Libraries”
© Michael Stahl, 2013, all rights reserved
Counter Measures: Stage 2
Generalization

45

“The hardest part of building a software system is deciding
precisely what to build... No other part of the work so cripples
the resulting system if done wrong. No other part is more
difficult to rectify later”
- Fred P. Brooks (author of “The Mythical Man-Month”)

© Michael Stahl, 2013, all rights reserved
Counter Measures: Stage 2
Generalization

46






Stage 1 measures
Strategy
Architecture
Lightweight PM





Version control
Scope control
Bugs & Requests database
© Michael Stahl, 2013, all rights reserved
Alert Signals: Stage 3
Institutionalization and staffing

47












Requests for additional heads?
Automation F2F?
Tool-related delays in execution?
Key words:
“Tool Owner”; “Automation team”
“Framework”; “Infrastructure”
“Roll back”
“Bug fix release”
© Michael Stahl, 2013, all rights reserved
48

© Michael Stahl, 2013, all rights reserved
Counter Measures: Stage 3
Institutionalization and staffing

49

Stage 1, 2 counter measures
Management level decision time













Programming language
Framework focus

Code and release management
Acceptance tests
Skillset development
Metrics
© Michael Stahl, 2013, all rights reserved
Counter Measures: Stage 3
Institutionalization and staffing

50

Metrics suggestions
 Automation framework quality









Number of false fails
Framework’s test results; Bug trends

ROI
Number of runs
Invested effort by type (new,
maintenance, rewrite)
Number of bugs found by Automation (?)
© Michael Stahl, 2013, all rights reserved
Alert Signals: Stage 4
Change of focus: Technology  Management

51









Generic features?
Test log wading?
False fails?
Key words:
“test suite / cycle generation”
“robustness enhancement”
“setup issues”
© Michael Stahl, 2013, all rights reserved
Counter Measures: Stage 4
Change of focus: Technology  Management

52

Stage 1, 2, 3 counter measures
Build VS Buy
Re-architect







Core / Non-Core
Solid infrastructure

Influence upstream





Testability hooks
Design for Test (automation)

© Michael Stahl, 2013, all rights reserved
Counter Measures: Stage 4


Build VS Buy?

(hint: Buy)
See: http://www.stickyminds.com/s.asp?F=S17601_COL_2

Stage 4 – Non-core features
© Michael Stahl, 2013, all rights reserved
Counter Measures: Stage 4
Change of focus: Technology  Management

54

Build (VS Buy) if…










Competitive edge
Existing expertize
Core competency
Cheaper; Faster
Good use of resources
Acceptable risk
Long term support

Main source: Allen Eskelin
http://www.informit.com/articles/article.aspx?p=21775

© Michael Stahl, 2013, all rights reserved
Alert Signals: Stage 5
Maintenance overload; Re-design

55

Maintenance & logistics overload?
Limitations overplay?
Loss of credibility?
Stage 1 initiatives?
Key words













“Did it fail in manual test?”
“Architecture limitation”
“refactoring”; “redesign”
“…I can write a small program…”
© Michael Stahl, 2013, all rights reserved
Alert Signals: Stage 5
Maintenance overload; Re-design

56

Loss of credibility

© Michael Stahl, 2013, all rights reserved
Counter Measures: Stage 5
Maintenance overload; Re-design

57

Options:







Continue… 
Give up problematic areas
Partial return to Stage 1
“We value Robustness over New
Features”
Prepare for re-design – with a new
map...
© Michael Stahl, 2013, all rights reserved
How to Use this information?
58



GPS




Locate the stage you are at
Get directions for the way
out

Be alert for
Alerts

Implement
Counter
Measures

Identify your
stage

Analyze your
situation

© Michael Stahl, 2013, all rights reserved
How to Use this information?
59



Map


Start right and avoid
the wrong turns

Plan your trip

Implement
Counter
Measures

Be alert for
Alerts

Analyze your
situation

© Michael Stahl, 2013, all rights reserved
60

The Competition

© Michael Stahl, 2013, all rights reserved
Pattern #2 – The Competition (ver. 1)
61




Salvageable up to stage 2
Stage 3 and up:




Merge the teams
EOL both tools
Start a 3rd

© Michael Stahl, 2013, all rights reserved
Pattern #2 – The Competition (ver. 2)
62



Plugin Architecture

© Michael Stahl, 2013, all rights reserved
Pattern #2 – The Competition (ver. 3)
63



Fix the main problem
Accept, encourage Stage 1 stuff…



Maintaining vigil:





Avoid ver.1 pattern

© Michael Stahl, 2013, all rights reserved
64

The Night Run Fallacy

© Michael Stahl, 2013, all rights reserved
Pattern #3 – The Night Run Fallacy
65

6
5






6
5

Never forget test time, test efficiency
Balance test skills VS automation skills
Allocate machines or machine time
© Michael Stahl, 2013, all rights reserved
66

Going for the Numbers

© Michael Stahl, 2013, all rights reserved
Pattern #4 – Going for the Numbers
67



Change how you count “Done”

© Michael Stahl, 2013, all rights reserved
68

The Magician Apprentice Syndrome

© Michael Stahl, 2013, all rights reserved
Pattern# 6 – The Magician Apprentice
69

http://www.youtube.com/watch?v=zlnz1rSJj7Y

© Michael Stahl, 2013, all rights reserved
Pattern# 6 – The Magician Apprentice
70

Automation should not necessarily mimic
humans…
… it should get the job done

© Michael Stahl, 2013, all rights reserved
Pattern# 6 – The Magician Apprentice
71

http://www.youtube.com/watch?v=qDVYIT85ntg

© Michael Stahl, 2013, all rights reserved
Pattern# 5 – The Magician Apprentice
72






Holistic approach VS “test after test”
Re-think, re-strategize, re-evaluate
before automating
Identify Actions, Keywords (KDT)

© Michael Stahl, 2013, all rights reserved
73

Summary

© Michael Stahl, 2013, all rights reserved
The Patterns
Mushrooming
7
4

The Competition
The Night time Fallacy
Going for the Numbers
The Magician Apprentice

© Michael Stahl, 2013, all rights reserved
Summary
75

The patterns are pervasive
 Almost inevitable
 Awareness is key (engineers; managers)
 Driven by organizational and human nature
 The solution is only partially technical


© Michael Stahl, 2013, all rights reserved
Thank You!

Questions time…

michael.stahl@intel.com

www.testprincipia.com

© Michael Stahl, 2013, all rights reserved

Más contenido relacionado

Destacado

Destacado (7)

The Challenges of BIG Testing: Automation, Virtualization, Outsourcing, and More
The Challenges of BIG Testing: Automation, Virtualization, Outsourcing, and MoreThe Challenges of BIG Testing: Automation, Virtualization, Outsourcing, and More
The Challenges of BIG Testing: Automation, Virtualization, Outsourcing, and More
 
Security Testing for Testing Professionals
Security Testing for Testing ProfessionalsSecurity Testing for Testing Professionals
Security Testing for Testing Professionals
 
Reports of the Death of Testing Have Been Greatly Exaggerated
Reports of the Death of Testing Have Been Greatly ExaggeratedReports of the Death of Testing Have Been Greatly Exaggerated
Reports of the Death of Testing Have Been Greatly Exaggerated
 
Cutting-edge Performance Testing on eCommerce Websites
Cutting-edge Performance Testing on eCommerce WebsitesCutting-edge Performance Testing on eCommerce Websites
Cutting-edge Performance Testing on eCommerce Websites
 
The Agile Tester’s Mindset
The Agile Tester’s MindsetThe Agile Tester’s Mindset
The Agile Tester’s Mindset
 
W18
W18W18
W18
 
Team Leadership: Telling Your Testing Stories
Team Leadership: Telling Your Testing StoriesTeam Leadership: Telling Your Testing Stories
Team Leadership: Telling Your Testing Stories
 

Más de TechWell

Más de 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
 

Último

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Último (20)

Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 

The Pathologies of Failed Test Automation Projects

  • 1. W3 Test Automation 5/1/2013 11:30:00 AM The Pathologies of Failed Test Automation Projects Presented by: Michael Stahl Intel 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. Michael Stahl Michael Stahl is a software validation architect at Intel, working with a team that validates Intel's graphics hardware drivers. In this role, Michael defines testing strategies and work methodologies for test teams, and tests part of the product himself - the work he enjoys most. As a twenty-two year veteran and senior engineer, he has been witness to what works - and what doesn’t - in test strategies, communications, and automation. An avid teacher, Michael enjoys sharing his observations with others. Contact Michael at michael.stahl@intel.com and review previous conference presentations on his website testprincipia.com.
  • 3. The Pathologies of failed Test Automation Projects Michael Stahl, Intel Apr 2013 Based, in part, on work done with Alon Linetzki, Best Testing (www.best-testing.com)
  • 4. 2 On the Menu… • • • Automation failure patterns What can we do? Summary Based, in part, on work done with Alon Linetzki, Best Testing (www.best-testing.com) © Michael Stahl, 2013, all rights reserved
  • 5. Disclaimers    Names and brands referenced herein may be claimed as the property of third parties The views expressed in this presentation are solely my own, and do not in any manner represent the views of my employer Information in this presentation is provided “AS IS” without any warranties or representations of any kind © Michael Stahl, 2013, all rights reserved
  • 6. A common automation story… 4  Once upon a time… I can automate my work!... Mr. Otto Mate Cool! Can you make it… Otto’s Team © Michael Stahl, 2013, all rights reserved
  • 7. A common automation story… 5 Piece of cake! Perfect! Can you add… Mr. Otto Mate What a wonderful world!... Otto’s Team Mr. Mann a. Ger © Michael Stahl, 2013, all rights reserved
  • 8. A common automation story… 6 Arggghhh! Fix Fix Fix Otto! The last release fails!... Otto’s Team Mr. Otto Mate … and mates Sir! I need time! I need help! Makes sense… Mr. Mann a. Ger © Michael Stahl, 2013, all rights reserved
  • 9. A common automation story… 7 Mr. Otto Mate … and mates … and mates … and mates © Michael Stahl, 2013, all rights reserved
  • 10. A common automation story… 8 Let’s REDESIGN!!! Mr. Oto Mate … and mates #$&@***!!! … and mates Mr. Mann a. Ger © Michael Stahl, 2013, all rights reserved … and mates
  • 11. 9 A pattern emerges… © Michael Stahl, 2013, all rights reserved
  • 12. Pattern #1: Mushrooming © Michael Stahl, 2013, all rights reserved
  • 13. A pattern… 11 Single User / Developer Simple Tool Stage 1 – Small & Local © Michael Stahl, 2013, all rights reserved
  • 14. A pattern… 12 Multiple Users / Single Developer Enhanced Tool Stage 2 – Generalization © Michael Stahl, 2013, all rights reserved
  • 15. A pattern… 13 Multiple Users & Developers Complicated Tool Stage 3 – Staffing © Michael Stahl, 2013, all rights reserved
  • 16. A pattern… 14 Multiple Users & Developers Test Case Management Stage 4 – Non-core features © Michael Stahl, 2013, all rights reserved
  • 17. A pattern… 15 Stage 5 – Overload © Michael Stahl, 2013, all rights reserved Arghhh!
  • 18. Pattern #2: The Competition 16 © Michael Stahl, 2013, all rights reserved
  • 19. Pattern #2 – The Competition (ver. 1) 17 Team A Team B © Michael Stahl, 2013, all rights reserved
  • 20. Pattern #2 – The Competition (ver. 2) 18 Team A Team B Team C !!! Team D © Michael Stahl, 2013, all rights reserved
  • 21. Pattern #2 – The Competition (ver. 3) 19 Team A Team B !!! Team C !!! … … !!! … Team D © Michael Stahl, 2013, all rights reserved
  • 22. Pattern #3: The Night Run Fallacy © Michael Stahl, 2013, all rights reserved
  • 23. Pattern #3 – The Night Run Fallacy 21 © Michael Stahl, 2013, all rights reserved
  • 24. Pattern #3 – The Night Run Fallacy 22 Night Time Test Time © Michael Stahl, 2013, all rights reserved
  • 25. Pattern #3 – The Night Run Fallacy 23 Add a snapshot – or a movie snippet – of PAVE Corporate Truism: It’s easier to get budget for machines than for more testers © Michael Stahl, 2013, all rights reserved
  • 26. Pattern #3 – The Night Run Fallacy 24 Add a snapshot – or a movie snippet – of PAVE © Michael Stahl, 2013, all rights reserved
  • 27. Pattern #3 – The Night Run Fallacy 25 Test Automation Truism: Machines create work for more testers © Michael Stahl, 2013, all rights reserved
  • 28. The Tragedy of the Commons multiple individuals… will ultimately deplete a shared limited resource… even when it is not in their long-term interest Garrett Hardin, Science, 1968 © Michael Stahl, 2013, all rights reserved
  • 29. Pattern #4: Going for the Numbers © Michael Stahl, 2013, all rights reserved
  • 30. 28 © Michael Stahl, 2013, all rights reserved
  • 31. Pattern #5 – Going for the Numbers 29 © Michael Stahl, 2013, all rights reserved
  • 32. Pattern #4 – Going for the Numbers 30 Robustness is Invisible © Michael Stahl, 2013, all rights reserved
  • 33. Pattern #5: The Magician Stahl, 2013, all rights reserved Apprentice Syndrome © Michael
  • 34. Pattern# 5 – The Magician Apprentice 32 © Michael Stahl, 2013, all rights reserved
  • 35. Recap: The Patterns Mushrooming 3 3 The Competition The Night time Fallacy Going for the Numbers The Magician Apprentice © Michael Stahl, 2013, all rights reserved
  • 36. 34 So... What can we do? © Michael Stahl, 2013, all rights reserved
  • 37. 35 Are the patterns… Unavoidable ? © Michael Stahl, 2013, all rights reserved ?
  • 38. 36 Counter measures © Michael Stahl, 2013, all rights reserved
  • 39. 37 Mushrooming © Michael Stahl, 2013, all rights reserved
  • 40. Alert Signals & Counter Measures 38 How to use this information?  GPS  Locate the stage you are at  Get directions for the way out  Map  Start right and avoid the wrong turns © Michael Stahl, 2013, all rights reserved
  • 41. Alert Signals 39 © Michael Stahl, 2013, all rights reserved
  • 42. Alert Signals 40 © Michael Stahl, 2013, all rights reserved
  • 43. Alert Signals 41 Failing the project Failing the project Failing the project Failing the project Failing the project © Michael Stahl, 2013, all rights reserved
  • 44. Alert Signals: Stage 1 Small, local, feature-centered 42     Single feature test tool? The creator is the user? “Skunk works”? Key words:   “Tool” “Utility” © Michael Stahl, 2013, all rights reserved
  • 45. Counter Measures: Stage 1 Small, local, feature-centered 43 Ensure the following… and relax:  Code control  Documentation    User Manual (Usage line…) “Green” in the code High level design © Michael Stahl, 2013, all rights reserved
  • 46. Alert Signals: Stage 2 Generalization 44        Additional features? Multiple users? Automation web site? >25% of the tester’s time? Key words: “Use by other testers” “Common Libraries” © Michael Stahl, 2013, all rights reserved
  • 47. Counter Measures: Stage 2 Generalization 45 “The hardest part of building a software system is deciding precisely what to build... No other part of the work so cripples the resulting system if done wrong. No other part is more difficult to rectify later” - Fred P. Brooks (author of “The Mythical Man-Month”) © Michael Stahl, 2013, all rights reserved
  • 48. Counter Measures: Stage 2 Generalization 46     Stage 1 measures Strategy Architecture Lightweight PM    Version control Scope control Bugs & Requests database © Michael Stahl, 2013, all rights reserved
  • 49. Alert Signals: Stage 3 Institutionalization and staffing 47         Requests for additional heads? Automation F2F? Tool-related delays in execution? Key words: “Tool Owner”; “Automation team” “Framework”; “Infrastructure” “Roll back” “Bug fix release” © Michael Stahl, 2013, all rights reserved
  • 50. 48 © Michael Stahl, 2013, all rights reserved
  • 51. Counter Measures: Stage 3 Institutionalization and staffing 49 Stage 1, 2 counter measures Management level decision time         Programming language Framework focus Code and release management Acceptance tests Skillset development Metrics © Michael Stahl, 2013, all rights reserved
  • 52. Counter Measures: Stage 3 Institutionalization and staffing 50 Metrics suggestions  Automation framework quality       Number of false fails Framework’s test results; Bug trends ROI Number of runs Invested effort by type (new, maintenance, rewrite) Number of bugs found by Automation (?) © Michael Stahl, 2013, all rights reserved
  • 53. Alert Signals: Stage 4 Change of focus: Technology  Management 51        Generic features? Test log wading? False fails? Key words: “test suite / cycle generation” “robustness enhancement” “setup issues” © Michael Stahl, 2013, all rights reserved
  • 54. Counter Measures: Stage 4 Change of focus: Technology  Management 52 Stage 1, 2, 3 counter measures Build VS Buy Re-architect      Core / Non-Core Solid infrastructure Influence upstream    Testability hooks Design for Test (automation) © Michael Stahl, 2013, all rights reserved
  • 55. Counter Measures: Stage 4  Build VS Buy? (hint: Buy) See: http://www.stickyminds.com/s.asp?F=S17601_COL_2 Stage 4 – Non-core features © Michael Stahl, 2013, all rights reserved
  • 56. Counter Measures: Stage 4 Change of focus: Technology  Management 54 Build (VS Buy) if…        Competitive edge Existing expertize Core competency Cheaper; Faster Good use of resources Acceptable risk Long term support Main source: Allen Eskelin http://www.informit.com/articles/article.aspx?p=21775 © Michael Stahl, 2013, all rights reserved
  • 57. Alert Signals: Stage 5 Maintenance overload; Re-design 55 Maintenance & logistics overload? Limitations overplay? Loss of credibility? Stage 1 initiatives? Key words          “Did it fail in manual test?” “Architecture limitation” “refactoring”; “redesign” “…I can write a small program…” © Michael Stahl, 2013, all rights reserved
  • 58. Alert Signals: Stage 5 Maintenance overload; Re-design 56 Loss of credibility © Michael Stahl, 2013, all rights reserved
  • 59. Counter Measures: Stage 5 Maintenance overload; Re-design 57 Options:      Continue…  Give up problematic areas Partial return to Stage 1 “We value Robustness over New Features” Prepare for re-design – with a new map... © Michael Stahl, 2013, all rights reserved
  • 60. How to Use this information? 58  GPS   Locate the stage you are at Get directions for the way out Be alert for Alerts Implement Counter Measures Identify your stage Analyze your situation © Michael Stahl, 2013, all rights reserved
  • 61. How to Use this information? 59  Map  Start right and avoid the wrong turns Plan your trip Implement Counter Measures Be alert for Alerts Analyze your situation © Michael Stahl, 2013, all rights reserved
  • 62. 60 The Competition © Michael Stahl, 2013, all rights reserved
  • 63. Pattern #2 – The Competition (ver. 1) 61   Salvageable up to stage 2 Stage 3 and up:    Merge the teams EOL both tools Start a 3rd © Michael Stahl, 2013, all rights reserved
  • 64. Pattern #2 – The Competition (ver. 2) 62  Plugin Architecture © Michael Stahl, 2013, all rights reserved
  • 65. Pattern #2 – The Competition (ver. 3) 63  Fix the main problem Accept, encourage Stage 1 stuff…  Maintaining vigil:   Avoid ver.1 pattern © Michael Stahl, 2013, all rights reserved
  • 66. 64 The Night Run Fallacy © Michael Stahl, 2013, all rights reserved
  • 67. Pattern #3 – The Night Run Fallacy 65 6 5    6 5 Never forget test time, test efficiency Balance test skills VS automation skills Allocate machines or machine time © Michael Stahl, 2013, all rights reserved
  • 68. 66 Going for the Numbers © Michael Stahl, 2013, all rights reserved
  • 69. Pattern #4 – Going for the Numbers 67  Change how you count “Done” © Michael Stahl, 2013, all rights reserved
  • 70. 68 The Magician Apprentice Syndrome © Michael Stahl, 2013, all rights reserved
  • 71. Pattern# 6 – The Magician Apprentice 69 http://www.youtube.com/watch?v=zlnz1rSJj7Y © Michael Stahl, 2013, all rights reserved
  • 72. Pattern# 6 – The Magician Apprentice 70 Automation should not necessarily mimic humans… … it should get the job done © Michael Stahl, 2013, all rights reserved
  • 73. Pattern# 6 – The Magician Apprentice 71 http://www.youtube.com/watch?v=qDVYIT85ntg © Michael Stahl, 2013, all rights reserved
  • 74. Pattern# 5 – The Magician Apprentice 72    Holistic approach VS “test after test” Re-think, re-strategize, re-evaluate before automating Identify Actions, Keywords (KDT) © Michael Stahl, 2013, all rights reserved
  • 75. 73 Summary © Michael Stahl, 2013, all rights reserved
  • 76. The Patterns Mushrooming 7 4 The Competition The Night time Fallacy Going for the Numbers The Magician Apprentice © Michael Stahl, 2013, all rights reserved
  • 77. Summary 75 The patterns are pervasive  Almost inevitable  Awareness is key (engineers; managers)  Driven by organizational and human nature  The solution is only partially technical  © Michael Stahl, 2013, all rights reserved