SlideShare a Scribd company logo
1 of 20
Download to read offline
THE LOW-HANGING FRUIT
OF TEST AUTOMATION -
WHAT DO WE AUTOMATE
FIRST?
RANDALL RICE, CTAL
WWW.RICECONSULTING.COM
March 19, 2014
2
BIO - RANDALL W. RICE
•  Over 35 years experience in building and testing
information systems in a variety of industries and
technical environments
•  ASTQB Certified Tester – Foundation level, Advanced
level (Full)
•  Director, American Software Testing Qualification
Board (ASTQB)
•  Chairperson, 1995 - 2000 QAI’s annual software
testing conference
•  Co-author with William E. Perry, Surviving the Top
Ten Challenges of Software Testing and Testing Dirty
Systems
•  Principal Consultant and Trainer, Rice Consulting
Services, Inc.
•  www.riceconsulting.com & randallrice.blogspot.com
3
FEASIBILITY
1.  Is it easy (or even feasible) to automate the function/
component?
•  Problematic issues
•  Custom objects
•  Non-standard objects
•  Objects with dynamic attributes (session IDs, etc.)
•  Streaming, dynamic data (think stock tickers and other data
that is changing even while you are testing it)
•  The tool doesn’t handle a certain type of object or component.
4
CONTROL
2. Who controls/develops the application?
•  Are any components (or even the entire application) vendor-
developed?
•  How stable is the code?
•  Are there a lot of hotfixes or maintenance releases
•  If so, do you know when they occur?
•  Do you have prior knowledge of changes?
•  Some vendors have problems in creating and distributing
release notes, even to their own testers.
5
OTHER QUESTIONS
3. Is the function easily repeatable?
•  Do you feel like a robot testing it?
4. Is the function easily performed?
•  Does it take a lot of set-up?
•  Are there a lot of steps to perform?
•  Long scripts are hard to maintain?
5. How frequently is it used?
•  X times per day (or hour)
6. How long does the function take to test manually, with all
test conditions?
6
NUMBER OF TESTS
Timeperfunctionalexecution
Number of times executed per test
Long term ROI (not so good)
7
TEST FREQUENCY
Timepertestsuiteexecution
Number of times tested per day, week, etc.
Good choice
Long term ROI (not so good)
Much depends on the length of the test.
5 test conditions vs. 500 obviously makes a big
Difference!
8
REAL-LIFE EXAMPLE
•  A financial services client had a simple
function that took about 5 minutes per
condition to test.
•  However, it took the tester all day to test it
due to the number of conditions.
•  We spent 3 days to automate it, with the
result being 15 minutes to test all
conditions!
9
HELPFUL TEST
AUTOMATION METRICS (2)
•  Effort saved by test automation (manual vs. automation)
•  Effort needed to automate new tests
•  Effort needed to analyze failed automated tests
•  Effort to maintain automated tests
•  Test coverage achieved by automated tests
10
EQUIVALENT MANUAL
TEST EFFORT
•  Also known as EMTE
•  How much time would it take if the automated tests were
performed manually?
11
EMTE EXAMPLE
•  Automated test takes 1 hour to run and are performed for
10 cycles.
•  Manual version of test takes 4 days to run.
•  EMTE = 40 days
•  4 days X 10 cycles
12
RETURN ON
INVESTMENT (ROI)
Time
Effort
Spent on
Automating
Tests
Development
Effort on
Production
Code
Initial
Effort
Increased
Effort (Hump)
Reduced
Effort
Source: xUnit Patterns by Gerald Meszaros
Saved Effort
13
RETURN ON INVESTMENT (2)
- NOT SO GOOD
Time
Effort
Spent on
Automating
Tests
Development
Effort on
Production
Code
Initial
Effort
Increased
Effort (Hump)
Ongoing
Effort
Source: xUnit Patterns by Gerald Meszaros
Saved Effort
14
MORE QUESTIONS
7. Does the function require:
•  Human judgment for outcomes?
•  Creative types of testing
•  “Off the scripted path?”
8. Are you looking for new defects?
•  Test automation is more confirmatory than discovery in
nature.
•  i.e., the defects found by automation are normally regression-
type defects.
15
NEW OR MAINTENANCE?
9. Is this new software or maintenance?
•  Great debate: When should the automation be created –
during the project or after?
•  Since functional changes ripple through automation, great
care must be taken not to automate too early.
•  However, automation can be helpful during the final phases of
a project to speed up regression testing.
•  Keep in mind it takes time to create test automation and the
distraction can actually turn into a project risk!
16
WHO AND WHEN?
10. Who will create and use the automation?
•  Simple capture/playback (when it works) can be created by
testers.
•  When problems are encountered, technical help at the
developer level is often needed.
11. Which phase of testing?
•  Maintenance testing is ideal
•  UAT is not good (you want humans testing)
•  System testing is a possible win
•  Unit test automation is ideal and essential
17
NEED FOR PRECISION
12. What is the need for precision?
•  Exact regression testing requires
automation
•  One mistake can invalidate the entire
test
•  Otherwise, you are doing “pseudo-
regression” testing
•  What is the risk?
•  If exact testing is needed, such as
medical devices, avionics, etc.,
automation can help mitigate risks
•  WARNING: test automation is “software
testing software”, therefore the test
scripts may have bugs
18
KNOWLEDGE AND
STABILITY
13. Do you have a sufficient way to compare the test results
for pass/fail?
•  You must have a source (non-human)
14. How stable is the function to be tested?
•  This is an irony
•  Functional errors (which you want to find) will cause the
scripts to fail
•  However, they will make test automation difficult because you
will need a way to deal with errors without stopping other tests
in the suite.
19
20
CONTACT INFORMATION
Randall W. Rice, CTAL
Rice Consulting Services, Inc.
P.O. Box 892003
Oklahoma City, OK 73170
Ph: 405-691-8075
Fax: 405-691-1441
Web site: www.riceconsulting.com
e-mail: rrice@riceconsulting.com

More Related Content

What's hot

SDLC. QA Role
SDLC. QA RoleSDLC. QA Role
SDLC. QA Roleeleksdev
 
Testing in the Age of Machine Learning
Testing in the Age of Machine Learning Testing in the Age of Machine Learning
Testing in the Age of Machine Learning vinaya muralidharan
 
What a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysisWhat a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysisAndrey Karpov
 
What is automation testing | David Tzemach
What is automation testing | David TzemachWhat is automation testing | David Tzemach
What is automation testing | David TzemachDavid Tzemach
 
Understand regression testing
Understand regression testingUnderstand regression testing
Understand regression testinggaoliang641
 
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 deliverySauce Labs
 
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQMIBM Rational
 
Improve Reliability of Check Tasks
Improve Reliability of Check TasksImprove Reliability of Check Tasks
Improve Reliability of Check TasksToru Nakata
 
The limits of unit testing by Craig Stuntz
The limits of unit testing by Craig StuntzThe limits of unit testing by Craig Stuntz
The limits of unit testing by Craig StuntzQA or the Highway
 
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...TEST Huddle
 
Solano Labs presented at MassTLC's automated testing
Solano Labs presented at MassTLC's automated testingSolano Labs presented at MassTLC's automated testing
Solano Labs presented at MassTLC's automated testingMassTLC
 
Karishma Kolli – Myth Busters on Test Automation
Karishma Kolli – Myth Busters on Test AutomationKarishma Kolli – Myth Busters on Test Automation
Karishma Kolli – Myth Busters on Test AutomationPractiTest
 
Random testing & prototyping
Random testing & prototypingRandom testing & prototyping
Random testing & prototypingVipul Rastogi
 
Crowd Sourced Testing - Real-World Experience Using Rainforest QA Crowd-Sourc...
Crowd Sourced Testing - Real-World Experience Using Rainforest QA Crowd-Sourc...Crowd Sourced Testing - Real-World Experience Using Rainforest QA Crowd-Sourc...
Crowd Sourced Testing - Real-World Experience Using Rainforest QA Crowd-Sourc...Marc Fasel
 
Leandro Melendez - Switching Performance Left & Right
Leandro Melendez - Switching Performance Left & RightLeandro Melendez - Switching Performance Left & Right
Leandro Melendez - Switching Performance Left & RightNeotys_Partner
 
When is a project ready for Software Automation_NEW
When is a project ready for Software Automation_NEWWhen is a project ready for Software Automation_NEW
When is a project ready for Software Automation_NEWMike Christesen
 
Test Automation Beyond Test Execution
Test Automation Beyond Test ExecutionTest Automation Beyond Test Execution
Test Automation Beyond Test ExecutionEggplant
 
How to make Automation an asset for Organization
How to make Automation an asset for OrganizationHow to make Automation an asset for Organization
How to make Automation an asset for Organizationanuvip
 
Presentation1
Presentation1Presentation1
Presentation1anuvip
 

What's hot (20)

SDLC. QA Role
SDLC. QA RoleSDLC. QA Role
SDLC. QA Role
 
Testing in the Age of Machine Learning
Testing in the Age of Machine Learning Testing in the Age of Machine Learning
Testing in the Age of Machine Learning
 
What a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysisWhat a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysis
 
What is automation testing | David Tzemach
What is automation testing | David TzemachWhat is automation testing | David Tzemach
What is automation testing | David Tzemach
 
Understand regression testing
Understand regression testingUnderstand regression testing
Understand regression testing
 
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
 
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
 
Improve Reliability of Check Tasks
Improve Reliability of Check TasksImprove Reliability of Check Tasks
Improve Reliability of Check Tasks
 
The limits of unit testing by Craig Stuntz
The limits of unit testing by Craig StuntzThe limits of unit testing by Craig Stuntz
The limits of unit testing by Craig Stuntz
 
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
 
Solano Labs presented at MassTLC's automated testing
Solano Labs presented at MassTLC's automated testingSolano Labs presented at MassTLC's automated testing
Solano Labs presented at MassTLC's automated testing
 
Comparison manual & automation
Comparison manual & automationComparison manual & automation
Comparison manual & automation
 
Karishma Kolli – Myth Busters on Test Automation
Karishma Kolli – Myth Busters on Test AutomationKarishma Kolli – Myth Busters on Test Automation
Karishma Kolli – Myth Busters on Test Automation
 
Random testing & prototyping
Random testing & prototypingRandom testing & prototyping
Random testing & prototyping
 
Crowd Sourced Testing - Real-World Experience Using Rainforest QA Crowd-Sourc...
Crowd Sourced Testing - Real-World Experience Using Rainforest QA Crowd-Sourc...Crowd Sourced Testing - Real-World Experience Using Rainforest QA Crowd-Sourc...
Crowd Sourced Testing - Real-World Experience Using Rainforest QA Crowd-Sourc...
 
Leandro Melendez - Switching Performance Left & Right
Leandro Melendez - Switching Performance Left & RightLeandro Melendez - Switching Performance Left & Right
Leandro Melendez - Switching Performance Left & Right
 
When is a project ready for Software Automation_NEW
When is a project ready for Software Automation_NEWWhen is a project ready for Software Automation_NEW
When is a project ready for Software Automation_NEW
 
Test Automation Beyond Test Execution
Test Automation Beyond Test ExecutionTest Automation Beyond Test Execution
Test Automation Beyond Test Execution
 
How to make Automation an asset for Organization
How to make Automation an asset for OrganizationHow to make Automation an asset for Organization
How to make Automation an asset for Organization
 
Presentation1
Presentation1Presentation1
Presentation1
 

Similar to What Do We Automate First

Software Test Automation
Software Test AutomationSoftware Test Automation
Software Test AutomationYash Patel
 
Test automation engineer
Test automation engineerTest automation engineer
Test automation engineerSadaaki Emura
 
Chapter 10
Chapter 10Chapter 10
Chapter 10Tony Huynh
 
Automated testing
Automated testingAutomated testing
Automated testings0194975
 
NYC MeetUp 10.9
NYC MeetUp 10.9NYC MeetUp 10.9
NYC MeetUp 10.9Solano Labs
 
unit-5 SPM.pptx
unit-5 SPM.pptxunit-5 SPM.pptx
unit-5 SPM.pptxssuser92282c
 
Automate test-oim
Automate test-oimAutomate test-oim
Automate test-oimOim Trust
 
WSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2Con Asia 2014 - Effective Test Automation in an Agile EnvironmentWSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2Con Asia 2014 - Effective Test Automation in an Agile EnvironmentWSO2
 
Agile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseAgile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseClareMcLennan
 
Software Testing- Principles of testing- Mazenet Solution
Software Testing- Principles of testing- Mazenet SolutionSoftware Testing- Principles of testing- Mazenet Solution
Software Testing- Principles of testing- Mazenet SolutionMazenetsolution
 
Week 14 Unit Testing.pptx
Week 14  Unit Testing.pptxWeek 14  Unit Testing.pptx
Week 14 Unit Testing.pptxmianshafa
 
Real Testing Scenario Strategy Practical TestOps Presentation
Real Testing Scenario Strategy Practical TestOps PresentationReal Testing Scenario Strategy Practical TestOps Presentation
Real Testing Scenario Strategy Practical TestOps PresentationAdam Sandman
 
Testing- Fundamentals of Testing-Mazenet solution
Testing- Fundamentals of Testing-Mazenet solutionTesting- Fundamentals of Testing-Mazenet solution
Testing- Fundamentals of Testing-Mazenet solutionMazenetsolution
 
Test Automation
Test AutomationTest Automation
Test Automationnikos batsios
 
Webinar: "5 semplici passi per migliorare la Quality e i processi di Test".
Webinar: "5 semplici passi per migliorare la Quality e i processi di Test".Webinar: "5 semplici passi per migliorare la Quality e i processi di Test".
Webinar: "5 semplici passi per migliorare la Quality e i processi di Test".Emerasoft, solutions to collaborate
 
Chromatography Data System: Getting It “Right First Time” Seminar Series – Pa...
Chromatography Data System: Getting It “Right First Time” Seminar Series – Pa...Chromatography Data System: Getting It “Right First Time” Seminar Series – Pa...
Chromatography Data System: Getting It “Right First Time” Seminar Series – Pa...Chromatography & Mass Spectrometry Solutions
 

Similar to What Do We Automate First (20)

Software Test Automation
Software Test AutomationSoftware Test Automation
Software Test Automation
 
Test automation engineer
Test automation engineerTest automation engineer
Test automation engineer
 
Chapter 10
Chapter 10Chapter 10
Chapter 10
 
Automated testing
Automated testingAutomated testing
Automated testing
 
Istqb foundation level day 1
Istqb foundation level   day 1Istqb foundation level   day 1
Istqb foundation level day 1
 
Class 01.pptx
Class 01.pptxClass 01.pptx
Class 01.pptx
 
7 steps to Software test automation success
7 steps to Software test automation success7 steps to Software test automation success
7 steps to Software test automation success
 
NYC MeetUp 10.9
NYC MeetUp 10.9NYC MeetUp 10.9
NYC MeetUp 10.9
 
unit-5 SPM.pptx
unit-5 SPM.pptxunit-5 SPM.pptx
unit-5 SPM.pptx
 
Automate test-oim
Automate test-oimAutomate test-oim
Automate test-oim
 
WSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2Con Asia 2014 - Effective Test Automation in an Agile EnvironmentWSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
 
Agile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseAgile Acceptance testing with Fitnesse
Agile Acceptance testing with Fitnesse
 
Software Testing- Principles of testing- Mazenet Solution
Software Testing- Principles of testing- Mazenet SolutionSoftware Testing- Principles of testing- Mazenet Solution
Software Testing- Principles of testing- Mazenet Solution
 
Week 14 Unit Testing.pptx
Week 14  Unit Testing.pptxWeek 14  Unit Testing.pptx
Week 14 Unit Testing.pptx
 
Real Testing Scenario Strategy Practical TestOps Presentation
Real Testing Scenario Strategy Practical TestOps PresentationReal Testing Scenario Strategy Practical TestOps Presentation
Real Testing Scenario Strategy Practical TestOps Presentation
 
Wso2con test-automation
Wso2con test-automationWso2con test-automation
Wso2con test-automation
 
Testing- Fundamentals of Testing-Mazenet solution
Testing- Fundamentals of Testing-Mazenet solutionTesting- Fundamentals of Testing-Mazenet solution
Testing- Fundamentals of Testing-Mazenet solution
 
Test Automation
Test AutomationTest Automation
Test Automation
 
Webinar: "5 semplici passi per migliorare la Quality e i processi di Test".
Webinar: "5 semplici passi per migliorare la Quality e i processi di Test".Webinar: "5 semplici passi per migliorare la Quality e i processi di Test".
Webinar: "5 semplici passi per migliorare la Quality e i processi di Test".
 
Chromatography Data System: Getting It “Right First Time” Seminar Series – Pa...
Chromatography Data System: Getting It “Right First Time” Seminar Series – Pa...Chromatography Data System: Getting It “Right First Time” Seminar Series – Pa...
Chromatography Data System: Getting It “Right First Time” Seminar Series – Pa...
 

Recently uploaded

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 

Recently uploaded (20)

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 

What Do We Automate First

  • 1. THE LOW-HANGING FRUIT OF TEST AUTOMATION - WHAT DO WE AUTOMATE FIRST? RANDALL RICE, CTAL WWW.RICECONSULTING.COM March 19, 2014
  • 2. 2 BIO - RANDALL W. RICE •  Over 35 years experience in building and testing information systems in a variety of industries and technical environments •  ASTQB Certified Tester – Foundation level, Advanced level (Full) •  Director, American Software Testing Qualification Board (ASTQB) •  Chairperson, 1995 - 2000 QAI’s annual software testing conference •  Co-author with William E. Perry, Surviving the Top Ten Challenges of Software Testing and Testing Dirty Systems •  Principal Consultant and Trainer, Rice Consulting Services, Inc. •  www.riceconsulting.com & randallrice.blogspot.com
  • 3. 3 FEASIBILITY 1.  Is it easy (or even feasible) to automate the function/ component? •  Problematic issues •  Custom objects •  Non-standard objects •  Objects with dynamic attributes (session IDs, etc.) •  Streaming, dynamic data (think stock tickers and other data that is changing even while you are testing it) •  The tool doesn’t handle a certain type of object or component.
  • 4. 4 CONTROL 2. Who controls/develops the application? •  Are any components (or even the entire application) vendor- developed? •  How stable is the code? •  Are there a lot of hotfixes or maintenance releases •  If so, do you know when they occur? •  Do you have prior knowledge of changes? •  Some vendors have problems in creating and distributing release notes, even to their own testers.
  • 5. 5 OTHER QUESTIONS 3. Is the function easily repeatable? •  Do you feel like a robot testing it? 4. Is the function easily performed? •  Does it take a lot of set-up? •  Are there a lot of steps to perform? •  Long scripts are hard to maintain? 5. How frequently is it used? •  X times per day (or hour) 6. How long does the function take to test manually, with all test conditions?
  • 6. 6 NUMBER OF TESTS Timeperfunctionalexecution Number of times executed per test Long term ROI (not so good)
  • 7. 7 TEST FREQUENCY Timepertestsuiteexecution Number of times tested per day, week, etc. Good choice Long term ROI (not so good) Much depends on the length of the test. 5 test conditions vs. 500 obviously makes a big Difference!
  • 8. 8 REAL-LIFE EXAMPLE •  A financial services client had a simple function that took about 5 minutes per condition to test. •  However, it took the tester all day to test it due to the number of conditions. •  We spent 3 days to automate it, with the result being 15 minutes to test all conditions!
  • 9. 9 HELPFUL TEST AUTOMATION METRICS (2) •  Effort saved by test automation (manual vs. automation) •  Effort needed to automate new tests •  Effort needed to analyze failed automated tests •  Effort to maintain automated tests •  Test coverage achieved by automated tests
  • 10. 10 EQUIVALENT MANUAL TEST EFFORT •  Also known as EMTE •  How much time would it take if the automated tests were performed manually?
  • 11. 11 EMTE EXAMPLE •  Automated test takes 1 hour to run and are performed for 10 cycles. •  Manual version of test takes 4 days to run. •  EMTE = 40 days •  4 days X 10 cycles
  • 12. 12 RETURN ON INVESTMENT (ROI) Time Effort Spent on Automating Tests Development Effort on Production Code Initial Effort Increased Effort (Hump) Reduced Effort Source: xUnit Patterns by Gerald Meszaros Saved Effort
  • 13. 13 RETURN ON INVESTMENT (2) - NOT SO GOOD Time Effort Spent on Automating Tests Development Effort on Production Code Initial Effort Increased Effort (Hump) Ongoing Effort Source: xUnit Patterns by Gerald Meszaros Saved Effort
  • 14. 14 MORE QUESTIONS 7. Does the function require: •  Human judgment for outcomes? •  Creative types of testing •  “Off the scripted path?” 8. Are you looking for new defects? •  Test automation is more confirmatory than discovery in nature. •  i.e., the defects found by automation are normally regression- type defects.
  • 15. 15 NEW OR MAINTENANCE? 9. Is this new software or maintenance? •  Great debate: When should the automation be created – during the project or after? •  Since functional changes ripple through automation, great care must be taken not to automate too early. •  However, automation can be helpful during the final phases of a project to speed up regression testing. •  Keep in mind it takes time to create test automation and the distraction can actually turn into a project risk!
  • 16. 16 WHO AND WHEN? 10. Who will create and use the automation? •  Simple capture/playback (when it works) can be created by testers. •  When problems are encountered, technical help at the developer level is often needed. 11. Which phase of testing? •  Maintenance testing is ideal •  UAT is not good (you want humans testing) •  System testing is a possible win •  Unit test automation is ideal and essential
  • 17. 17 NEED FOR PRECISION 12. What is the need for precision? •  Exact regression testing requires automation •  One mistake can invalidate the entire test •  Otherwise, you are doing “pseudo- regression” testing •  What is the risk? •  If exact testing is needed, such as medical devices, avionics, etc., automation can help mitigate risks •  WARNING: test automation is “software testing software”, therefore the test scripts may have bugs
  • 18. 18 KNOWLEDGE AND STABILITY 13. Do you have a sufficient way to compare the test results for pass/fail? •  You must have a source (non-human) 14. How stable is the function to be tested? •  This is an irony •  Functional errors (which you want to find) will cause the scripts to fail •  However, they will make test automation difficult because you will need a way to deal with errors without stopping other tests in the suite.
  • 19. 19
  • 20. 20 CONTACT INFORMATION Randall W. Rice, CTAL Rice Consulting Services, Inc. P.O. Box 892003 Oklahoma City, OK 73170 Ph: 405-691-8075 Fax: 405-691-1441 Web site: www.riceconsulting.com e-mail: rrice@riceconsulting.com