SlideShare une entreprise Scribd logo
1  sur  53
Télécharger pour lire hors ligne
utomation
Firehose
Be Strategic
and Tactical
By Thomas Haver…
About
Origin
Story
Approach Framework & Tools
Schedule
Quality Standards
Metrics
Challenges
Agenda...
About...
Origin
Story
Strategy (n) – a plan of
action or policy designed
to achieve a major or
overall aim.
Tactics (n) – the art or
skill of employing
available means to
accomplish an end.
Strategy and Tactics...
Source: https://www.merriam-webster.com/dictionary/strategy
Source: https://www.merriam-webster.com/dictionary/tactics
Test Coverage Example...
Primary Testing Variables
• Internet Explorer Version (for MS04-025)
• Internet Explorer 5.01 Service Pack 2
• Internet Explorer 5.01 Service Pack 3
• Internet Explorer 5.01 Service Pack 4
• Internet Explorer 5.5 Service Pack 2
• Internet Explorer 6
• Internet Explorer 6 Service Pack 1
• Internet Explorer 6 Service Pack 1 (64-Bit Edition)
• Internet Explorer 6 for Windows Server 2003
• Internet Explorer 6 for Windows Server 2003 (64-Bit
Edition)
• Windows Version (for MS04-025)
• Microsoft Windows NT® Workstation 4.0 Service Pack 6a
• Microsoft Windows NT Server 4.0 Service Pack 6a
• Microsoft Windows NT Server 4.0 Terminal Server
Edition Service Pack 6
• Microsoft Windows 2000 Service Pack 2
• Microsoft Windows 2000 Service Pack 3
• Microsoft Windows 2000 Service Pack 4
• Microsoft Windows XP and Microsoft Windows XP
Service Pack 1
• Microsoft Windows XP 64-Bit Edition Service Pack 1
• Microsoft Windows XP 64-Bit Edition Version 2003
• Microsoft Windows Server® 2003
• Microsoft Windows Server 2003 64-Bit Edition
• Microsoft Windows 98
• Microsoft Windows 98 Second Edition (SE)
• Microsoft Windows Millennium Edition (ME)
Source: https://blogs.msdn.microsoft.com/ie/2004/08/17/the-basics-of-the-ie-testing-matrix/
Automation Tools – origin Story...
Promise to:
Save time
and lower costs
while raising quality
Automation Challenges – Audience...
Ultimate Goal...
Elfriede Dustin, “Implementing Automated Software Testing”
Strategy...
Strategy
Technical
Skillset
Scope
Objectives
ApproachSchedule
Environment
Framework
and Tools
Approach
Are the requirements, the test, or
task low risk, stable, or unlikely
to change often?
How much time could be saved?
Is the test or task going to be
repeated? How often?
Is the test or task subject to human
error?
Is the test or task time consuming?
Does it contain significant
downtime between test steps?
Is the test or task repetitive?
What should we automate?
Automation Costs...
Test Automation scripts
should be treated the same
as development code.
Every new test script
should factor in
maintenance costs.
Documentation around implementation
and onboarding.
Some basic costs:
• Automation Tools
• OS upgrades
• Language upgrades
We are limited by delivery
schedule, project budget, and
technical skillset.
Automate based on the
frequency of use or
criticality, including legal
risk.
Look for complex manual
scenarios that require data
or environment setup.
Organizational Constraints...
Feature
Critical
/ Freq.
Legal
Data /
Env.
Reuse
Login    
Bill Pay    
Bank-to-Bank
Transfer
   
Spend Analyzer    
Disclosures    
Manage Alerts    
Registered Devices    
Account Nicknames    
Organizational Constraints...
Good Test Automation...
Trustworthy
and
Repeatable
Enhances
testing
instead of
replacing it Helps testers
do their job
instead of
replacing them
Part of the
SDLC
Scope is
beyond
simple
automated
checks
Focused and
Informative
Good Test
Automation
Framework
and Tools
Framework and Tools...
Framework and Tools...
Automation Coding Standards...
Imperative Steps Can Lead to Declarative Steps
in Functional Automation. Refactor out the UI.
Unit and Integration Tests...
Unit Testing
• Fastest method of testing
• Easier debugging
• Reusable
• Lowest cost to fix
• Examples of tools/framework: NUnit,
JUnit, JMockit, SimpleTest, TypeMock,
Unity, RSpec, etc.
Integration Testing
• Interfaces or Modules tested as a group
• Ensure components work as expected
• More robust than flaky UI for repeatable
tasks
• Examples of tools/framework: Spock,
Jasmine, FitNesse, VectorCAST/C++,
Citrus, LDRA
Challenges
Automation Firehose...
I’m going to automate all our
test cases and there’s nothing
you can do to stop me!
Just because a scenario CAN be
automated does not mean it
SHOULD be automated. Adopt a
risk-based approach for
automation.
Data Failure...
My scripts can run anywhere!
Automation should be cross-
environment compatible. That
means test data generation &
manipulation should be an up-
front concern. Include Test Data
access in the ready-state
criteria for testing.
Flickering Tests...
So what if my tests are flickering.
They’re done and we’re focused on the
next project anyway!
Automated Tests that don’t
consistently pass are soon
ignored by the entire team. The
execution report and
notification emails should mean
something. Either fix or remove
flickering tests (and examine why
you wrote a flickering test to
begin with).
Long Tests...
I validated everything in one test.
My 300 step script works great!
...sometimes.
Unit tests and Integration tests
should take priority over UI
tests. They run more quickly and
are more robust. Automate UI as
needed to verify end-user
behavior.
Shaky Foundation...
Our Automation Suite started off small and coding was
easy enough, but now there are so many custom implementations
and workarounds I don’t know where to begin!
Treat the Automation Code the
same way you would want good
Development Code to be treated:
Implement good practices (DRY,
KISS) with scheduled code
reviews, code analysis tools, and
refactoring sessions.
Lagging Behind Development...
We don’t have time to automate during a
Sprint. We have to finish the story cards
and have too many meetings!
Automation feasibility must be
incorporated into the definition
of READY and completed scripts
must be in the definition of DONE.
Schedule
Example Mapping by Matt Wayne...
DISCOVERY
FORMULATION
AUTOMATION
The Example Map - Process...
Question
Rule
The Example Map - Benefits...
Creates a
shared
understanding.
Examples become
user scenarios.
Rules become
acceptance
criteria.
Reduces rework of
large or unclear
stories.
The Example Map - Feedback...
Understanding of the User Story
Question
Rule
Example
"The one
where..."
Development work is not
ready to begin
User Story might be
too large
Rule Might be
too dense.
QuestionQuestion
RuleRule
Example
"The one
where..."
Example
"The one
where..."
Quality
Standards
Regression Review...
Test Lead compiles a
list of all new release
scripts and regression
scripts
Application manager
provides list of
upcoming projects with
high-level feature
changes
Business provides
metrics on application
usage broken down by
feature
Prod Support provides
metrics on Incidents for
that application for the
release & prior period
Code Reviews and Refactoring...
“I’m not a
Great programmer;
I’m just a good
programmer with
great habits.”
-Martin Fowler, Refactoring: Improving the Design of Existing Code
Code Reviews...
All possible
automation
scripts for the
feature are
scripted
The automation scripts are
understandable by the team
The Features and
Scenarios best
represent the
state of the
application (living
documentation)
The automation scripts don’t
duplicate effort already present
All required Objects and data
needs are addressed
All standards & practices are
followed (traceability, Gherkin,
formatting, etc.)
Refactoring...
I am
Groot!
Implementation...
Team Leader
• Scheduling
• Delegation of
work
• Focus Area
selection
• Bug Report
Automation
Guide
• Technical
Oracle
• Session
tracking
• Action Items
• Improvement
Status
Report
Focus Area
• Code Metric
Report
• Feature
Item
• Project
Release
• Regression
• CI Report
Summary
Summary...
Focus on the fastest, most
robust tests. Create UI & E2E
tests as needed.
Unit > Service > UI > E2E
Build based on probability of
failure, impact on business,
and complexity.
Budget, Schedule, and
Technical Skillset will always
limit the path forward.
Questions?
Metrics
Test Coverage – Percent Automation...
PA = Percent Automation
ATC = # of Automated Test Cases
TC = # of Total Test Cases
PA (%) = ATC / TC
The percent of automation for an application’s regression,
project release, or deploy/patch validation (smoke tests).
Test Coverage – Execution Frequency...
The more frequently an application
is tested, the better the test
coverage for changes to that
application (project or patching).
To measure pre- and post-automation execution
benefits, compare the frequency of testing in
three primary categories before and after
automation:
• Regression: the core functionality of the
existing application
• Release: the added functionality to the
existing application
• Production Support / Smoke Tests: any
patching, hot fixes, or deployments to test
critical functionality
Test Coverage – Percent Business Rule...
PBR = Percent Business Rule
SPE = # Business Rules with Specifications
BR = # Total Business Rules
PBR (%) = SPE / BR
The percent of business rules covered with specifications
(test cases) for regression, project release, or
deploy/patch validation (smoke tests).
Application Quality – Defect Savings...
Defect savings is the estimate
in savings for each defect
found by automation.
The Systems Sciences
Institute at IBM estimates on
average every software bug
found in production costs
$10,000 to fix and $1,500 to
fix in QA.
For each defect found by
automation, associate a cost
for the bug that otherwise
would have gone to
production.
source: Systems Sciences Institute at IBM
Application Quality – Defect Coverage...
DC = Defect Coverage
DA = # of Defects checked by Automation
TD = Total # of Defects
DC = DA / TD
A measure of the total known defects checked by
automation divided total number of defects in the system.
Application Quality – Defect Trend...
Defect Trend is the measure
of defects in environment
after some change is
instituted at a particular
phase in the SDLC.
For each SDLC phase, record
when defects are found.
Compare the trend at each
phase for a given project and
across multiple projects
based on project size.
Time Savings – Execution Cost...
TS = Time Savings
MET = Manual Execution Time
AET = Automation-inclusive Execution Time
COUNT = Minimum Number of Test Activity Events
ENV = Number of Environments Tested
USER = Number of User Combinations Tested
TS = (MET – AET) * COUNT * ENV * USER
Resources
Books...
Appendix...
• Browser Analytics
• https://analytics.usa.gov/data/
• http://netmarketshare.com/
• Internet Explorer
• https://blogs.msdn.microsoft.com/ie/2004/08/17/the-basics-of-the-
ie-testing-matrix/
• Unit & Integration
• https://www.softwaretestinghelp.com/unit-testing-tools/
• Selenium
• https://github.com/SeleniumHQ/selenium/wiki/DesiredCapabilities
• Automation Maintenance
• https://blog.testproject.io/2018/03/20/maintaining-value-
automations-forgotten-cost/

Contenu connexe

Tendances

Automation Framework/QTP Framework
Automation Framework/QTP FrameworkAutomation Framework/QTP Framework
Automation Framework/QTP Framework
HeyDay Software Solutions
 
Software Testing: Application And Script Independent Automation Framework: Th...
Software Testing: Application And Script Independent Automation Framework: Th...Software Testing: Application And Script Independent Automation Framework: Th...
Software Testing: Application And Script Independent Automation Framework: Th...
guest0efb5e
 
Testing using load runner performance testing
Testing using load runner  performance testingTesting using load runner  performance testing
Testing using load runner performance testing
SivaprasanthRentala1975
 

Tendances (20)

Test pyramid
Test pyramidTest pyramid
Test pyramid
 
Performance testing and rpt
Performance testing and rptPerformance testing and rpt
Performance testing and rpt
 
Test Automation Pyramid
Test Automation PyramidTest Automation Pyramid
Test Automation Pyramid
 
Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)
Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)
Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)
 
Automation Framework/QTP Framework
Automation Framework/QTP FrameworkAutomation Framework/QTP Framework
Automation Framework/QTP Framework
 
Mieke Gevers - Performance Testing in 5 Steps - A Guideline to a Successful L...
Mieke Gevers - Performance Testing in 5 Steps - A Guideline to a Successful L...Mieke Gevers - Performance Testing in 5 Steps - A Guideline to a Successful L...
Mieke Gevers - Performance Testing in 5 Steps - A Guideline to a Successful L...
 
Test automation engineer
Test automation engineerTest automation engineer
Test automation engineer
 
Software Testing: Application And Script Independent Automation Framework: Th...
Software Testing: Application And Script Independent Automation Framework: Th...Software Testing: Application And Script Independent Automation Framework: Th...
Software Testing: Application And Script Independent Automation Framework: Th...
 
Qa management in big agile teams
Qa management in big agile teamsQa management in big agile teams
Qa management in big agile teams
 
Vladimir Primakov - Qa management in big agile teams
Vladimir Primakov - Qa management in big agile teamsVladimir Primakov - Qa management in big agile teams
Vladimir Primakov - Qa management in big agile teams
 
Qa process 2012
Qa process 2012Qa process 2012
Qa process 2012
 
Why Automated Testing Matters To DevOps
Why Automated Testing Matters To DevOpsWhy Automated Testing Matters To DevOps
Why Automated Testing Matters To DevOps
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Continuous Performance Testing with Taurus and Jmeter
Continuous Performance Testing with Taurus and JmeterContinuous Performance Testing with Taurus and Jmeter
Continuous Performance Testing with Taurus and Jmeter
 
Testing using load runner performance testing
Testing using load runner  performance testingTesting using load runner  performance testing
Testing using load runner performance testing
 
Continuous Delivery without Test Automation @STPCon, San Diego
Continuous Delivery without Test Automation @STPCon, San DiegoContinuous Delivery without Test Automation @STPCon, San Diego
Continuous Delivery without Test Automation @STPCon, San Diego
 
Test automation lesson
Test automation lessonTest automation lesson
Test automation lesson
 
How to Actually DO High-volume Automated Testing
How to Actually DO High-volume Automated TestingHow to Actually DO High-volume Automated Testing
How to Actually DO High-volume Automated Testing
 
QA Process Overview for Firefox OS 2014
QA Process Overview for Firefox OS 2014QA Process Overview for Firefox OS 2014
QA Process Overview for Firefox OS 2014
 
Sap Integration Testing Test Scripting V0.1
Sap Integration Testing   Test Scripting V0.1Sap Integration Testing   Test Scripting V0.1
Sap Integration Testing Test Scripting V0.1
 

Similaire à The Automation Firehose: Be Strategic and Tactical by Thomas Haver

Less01 1 introduction_module
Less01 1 introduction_moduleLess01 1 introduction_module
Less01 1 introduction_module
Suresh Mishra
 

Similaire à The Automation Firehose: Be Strategic and Tactical by Thomas Haver (20)

The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingThe Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
 
AfterTest Madrid March 2016 - DevOps and Testing Introduction
AfterTest Madrid March 2016 - DevOps and Testing IntroductionAfterTest Madrid March 2016 - DevOps and Testing Introduction
AfterTest Madrid March 2016 - DevOps and Testing Introduction
 
Test Automation for QTP
Test Automation for QTPTest Automation for QTP
Test Automation for QTP
 
Test Automation
Test AutomationTest Automation
Test Automation
 
M. Holovaty, Концепции автоматизированного тестирования
M. Holovaty, Концепции автоматизированного тестированияM. Holovaty, Концепции автоматизированного тестирования
M. Holovaty, Концепции автоматизированного тестирования
 
But Did You Test It
But Did You Test ItBut Did You Test It
But Did You Test It
 
Parasoft .TEST, Write better C# Code Using Data Flow Analysis
Parasoft .TEST, Write better C# Code Using  Data Flow Analysis Parasoft .TEST, Write better C# Code Using  Data Flow Analysis
Parasoft .TEST, Write better C# Code Using Data Flow Analysis
 
Automation Concepts
Automation ConceptsAutomation Concepts
Automation Concepts
 
Guidelines to Measuring Test Automation ROI
 Guidelines to Measuring Test Automation ROI Guidelines to Measuring Test Automation ROI
Guidelines to Measuring Test Automation ROI
 
Qtp - Introduction values
Qtp - Introduction valuesQtp - Introduction values
Qtp - Introduction values
 
Automation Best Practices.pptx
Automation Best Practices.pptxAutomation Best Practices.pptx
Automation Best Practices.pptx
 
Future of QA
Future of QAFuture of QA
Future of QA
 
Futureofqa
FutureofqaFutureofqa
Futureofqa
 
Combinatorial testing
Combinatorial testingCombinatorial testing
Combinatorial testing
 
Fundamentals Performance Testing
Fundamentals Performance TestingFundamentals Performance Testing
Fundamentals Performance Testing
 
Impetus qLabs Solutions
Impetus qLabs SolutionsImpetus qLabs Solutions
Impetus qLabs Solutions
 
Test Automation Strategies For Agile
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For Agile
 
DevOps : Integrate, Deliver and Deploy continuously with Visual Studio Team S...
DevOps : Integrate, Deliver and Deploy continuously with Visual Studio Team S...DevOps : Integrate, Deliver and Deploy continuously with Visual Studio Team S...
DevOps : Integrate, Deliver and Deploy continuously with Visual Studio Team S...
 
Less01 1 introduction_module
Less01 1 introduction_moduleLess01 1 introduction_module
Less01 1 introduction_module
 
Why Automation Fails—in Theory and Practice
Why Automation Fails—in Theory and PracticeWhy Automation Fails—in Theory and Practice
Why Automation Fails—in Theory and Practice
 

Plus de QA or the Highway

Jeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdf
Jeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdfJeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdf
Jeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdf
QA or the Highway
 

Plus de QA or the Highway (20)

KrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfKrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdf
 
Ravi Lakkavalli - World Quality Report.pptx
Ravi Lakkavalli - World Quality Report.pptxRavi Lakkavalli - World Quality Report.pptx
Ravi Lakkavalli - World Quality Report.pptx
 
Caleb Crandall - Testing Between the Buckets.pptx
Caleb Crandall - Testing Between the Buckets.pptxCaleb Crandall - Testing Between the Buckets.pptx
Caleb Crandall - Testing Between the Buckets.pptx
 
Thomas Haver - Mobile Testing.pdf
Thomas Haver - Mobile Testing.pdfThomas Haver - Mobile Testing.pdf
Thomas Haver - Mobile Testing.pdf
 
Thomas Haver - Example Mapping.pdf
Thomas Haver - Example Mapping.pdfThomas Haver - Example Mapping.pdf
Thomas Haver - Example Mapping.pdf
 
Joe Colantonio - Actionable Automation Awesomeness in Testing Farm.pdf
Joe Colantonio - Actionable Automation Awesomeness in Testing Farm.pdfJoe Colantonio - Actionable Automation Awesomeness in Testing Farm.pdf
Joe Colantonio - Actionable Automation Awesomeness in Testing Farm.pdf
 
Sarah Geisinger - Continious Testing Metrics That Matter.pdf
Sarah Geisinger - Continious Testing Metrics That Matter.pdfSarah Geisinger - Continious Testing Metrics That Matter.pdf
Sarah Geisinger - Continious Testing Metrics That Matter.pdf
 
Jeff Sing - Quarterly Service Delivery Reviews.pdf
Jeff Sing - Quarterly Service Delivery Reviews.pdfJeff Sing - Quarterly Service Delivery Reviews.pdf
Jeff Sing - Quarterly Service Delivery Reviews.pdf
 
Leandro Melendez - Chihuahua Load Tests.pdf
Leandro Melendez - Chihuahua Load Tests.pdfLeandro Melendez - Chihuahua Load Tests.pdf
Leandro Melendez - Chihuahua Load Tests.pdf
 
Rick Clymer - Incident Management.pdf
Rick Clymer - Incident Management.pdfRick Clymer - Incident Management.pdf
Rick Clymer - Incident Management.pdf
 
Robert Fornal - ChatGPT as a Testing Tool.pptx
Robert Fornal - ChatGPT as a Testing Tool.pptxRobert Fornal - ChatGPT as a Testing Tool.pptx
Robert Fornal - ChatGPT as a Testing Tool.pptx
 
Federico Toledo - Extra-functional testing.pdf
Federico Toledo - Extra-functional testing.pdfFederico Toledo - Extra-functional testing.pdf
Federico Toledo - Extra-functional testing.pdf
 
Andrew Knight - Managing the Test Data Nightmare.pptx
Andrew Knight - Managing the Test Data Nightmare.pptxAndrew Knight - Managing the Test Data Nightmare.pptx
Andrew Knight - Managing the Test Data Nightmare.pptx
 
Melissa Tondi - Automation We_re Doing it Wrong.pdf
Melissa Tondi - Automation We_re Doing it Wrong.pdfMelissa Tondi - Automation We_re Doing it Wrong.pdf
Melissa Tondi - Automation We_re Doing it Wrong.pdf
 
Jeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdf
Jeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdfJeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdf
Jeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdf
 
DesiradhaRam Gadde - Testers _ Testing in ChatGPT-AI world.pptx
DesiradhaRam Gadde - Testers _ Testing in ChatGPT-AI world.pptxDesiradhaRam Gadde - Testers _ Testing in ChatGPT-AI world.pptx
DesiradhaRam Gadde - Testers _ Testing in ChatGPT-AI world.pptx
 
Damian Synadinos - Word Smatter.pdf
Damian Synadinos - Word Smatter.pdfDamian Synadinos - Word Smatter.pdf
Damian Synadinos - Word Smatter.pdf
 
Lee Barnes - What Successful Test Automation is.pdf
Lee Barnes - What Successful Test Automation is.pdfLee Barnes - What Successful Test Automation is.pdf
Lee Barnes - What Successful Test Automation is.pdf
 
Jordan Powell - API Testing with Cypress.pptx
Jordan Powell - API Testing with Cypress.pptxJordan Powell - API Testing with Cypress.pptx
Jordan Powell - API Testing with Cypress.pptx
 
Carlos Kidman - Exploring AI Applications in Testing.pptx
Carlos Kidman - Exploring AI Applications in Testing.pptxCarlos Kidman - Exploring AI Applications in Testing.pptx
Carlos Kidman - Exploring AI Applications in Testing.pptx
 

Dernier

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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
 
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...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

The Automation Firehose: Be Strategic and Tactical by Thomas Haver

  • 2. About Origin Story Approach Framework & Tools Schedule Quality Standards Metrics Challenges Agenda...
  • 5. Strategy (n) – a plan of action or policy designed to achieve a major or overall aim. Tactics (n) – the art or skill of employing available means to accomplish an end. Strategy and Tactics... Source: https://www.merriam-webster.com/dictionary/strategy Source: https://www.merriam-webster.com/dictionary/tactics
  • 6. Test Coverage Example... Primary Testing Variables • Internet Explorer Version (for MS04-025) • Internet Explorer 5.01 Service Pack 2 • Internet Explorer 5.01 Service Pack 3 • Internet Explorer 5.01 Service Pack 4 • Internet Explorer 5.5 Service Pack 2 • Internet Explorer 6 • Internet Explorer 6 Service Pack 1 • Internet Explorer 6 Service Pack 1 (64-Bit Edition) • Internet Explorer 6 for Windows Server 2003 • Internet Explorer 6 for Windows Server 2003 (64-Bit Edition) • Windows Version (for MS04-025) • Microsoft Windows NT® Workstation 4.0 Service Pack 6a • Microsoft Windows NT Server 4.0 Service Pack 6a • Microsoft Windows NT Server 4.0 Terminal Server Edition Service Pack 6 • Microsoft Windows 2000 Service Pack 2 • Microsoft Windows 2000 Service Pack 3 • Microsoft Windows 2000 Service Pack 4 • Microsoft Windows XP and Microsoft Windows XP Service Pack 1 • Microsoft Windows XP 64-Bit Edition Service Pack 1 • Microsoft Windows XP 64-Bit Edition Version 2003 • Microsoft Windows Server® 2003 • Microsoft Windows Server 2003 64-Bit Edition • Microsoft Windows 98 • Microsoft Windows 98 Second Edition (SE) • Microsoft Windows Millennium Edition (ME) Source: https://blogs.msdn.microsoft.com/ie/2004/08/17/the-basics-of-the-ie-testing-matrix/
  • 7. Automation Tools – origin Story... Promise to: Save time and lower costs while raising quality
  • 9. Ultimate Goal... Elfriede Dustin, “Implementing Automated Software Testing”
  • 12. Are the requirements, the test, or task low risk, stable, or unlikely to change often? How much time could be saved? Is the test or task going to be repeated? How often? Is the test or task subject to human error? Is the test or task time consuming? Does it contain significant downtime between test steps? Is the test or task repetitive? What should we automate?
  • 13. Automation Costs... Test Automation scripts should be treated the same as development code. Every new test script should factor in maintenance costs. Documentation around implementation and onboarding. Some basic costs: • Automation Tools • OS upgrades • Language upgrades
  • 14. We are limited by delivery schedule, project budget, and technical skillset. Automate based on the frequency of use or criticality, including legal risk. Look for complex manual scenarios that require data or environment setup. Organizational Constraints...
  • 15. Feature Critical / Freq. Legal Data / Env. Reuse Login     Bill Pay     Bank-to-Bank Transfer     Spend Analyzer     Disclosures     Manage Alerts     Registered Devices     Account Nicknames     Organizational Constraints...
  • 16. Good Test Automation... Trustworthy and Repeatable Enhances testing instead of replacing it Helps testers do their job instead of replacing them Part of the SDLC Scope is beyond simple automated checks Focused and Informative Good Test Automation
  • 20. Automation Coding Standards... Imperative Steps Can Lead to Declarative Steps in Functional Automation. Refactor out the UI.
  • 21. Unit and Integration Tests... Unit Testing • Fastest method of testing • Easier debugging • Reusable • Lowest cost to fix • Examples of tools/framework: NUnit, JUnit, JMockit, SimpleTest, TypeMock, Unity, RSpec, etc. Integration Testing • Interfaces or Modules tested as a group • Ensure components work as expected • More robust than flaky UI for repeatable tasks • Examples of tools/framework: Spock, Jasmine, FitNesse, VectorCAST/C++, Citrus, LDRA
  • 23. Automation Firehose... I’m going to automate all our test cases and there’s nothing you can do to stop me! Just because a scenario CAN be automated does not mean it SHOULD be automated. Adopt a risk-based approach for automation.
  • 24. Data Failure... My scripts can run anywhere! Automation should be cross- environment compatible. That means test data generation & manipulation should be an up- front concern. Include Test Data access in the ready-state criteria for testing.
  • 25. Flickering Tests... So what if my tests are flickering. They’re done and we’re focused on the next project anyway! Automated Tests that don’t consistently pass are soon ignored by the entire team. The execution report and notification emails should mean something. Either fix or remove flickering tests (and examine why you wrote a flickering test to begin with).
  • 26. Long Tests... I validated everything in one test. My 300 step script works great! ...sometimes. Unit tests and Integration tests should take priority over UI tests. They run more quickly and are more robust. Automate UI as needed to verify end-user behavior.
  • 27. Shaky Foundation... Our Automation Suite started off small and coding was easy enough, but now there are so many custom implementations and workarounds I don’t know where to begin! Treat the Automation Code the same way you would want good Development Code to be treated: Implement good practices (DRY, KISS) with scheduled code reviews, code analysis tools, and refactoring sessions.
  • 28. Lagging Behind Development... We don’t have time to automate during a Sprint. We have to finish the story cards and have too many meetings! Automation feasibility must be incorporated into the definition of READY and completed scripts must be in the definition of DONE.
  • 30. Example Mapping by Matt Wayne... DISCOVERY FORMULATION AUTOMATION
  • 31. The Example Map - Process... Question Rule
  • 32. The Example Map - Benefits... Creates a shared understanding. Examples become user scenarios. Rules become acceptance criteria. Reduces rework of large or unclear stories.
  • 33. The Example Map - Feedback... Understanding of the User Story Question Rule Example "The one where..." Development work is not ready to begin User Story might be too large Rule Might be too dense. QuestionQuestion RuleRule Example "The one where..." Example "The one where..."
  • 35. Regression Review... Test Lead compiles a list of all new release scripts and regression scripts Application manager provides list of upcoming projects with high-level feature changes Business provides metrics on application usage broken down by feature Prod Support provides metrics on Incidents for that application for the release & prior period
  • 36. Code Reviews and Refactoring... “I’m not a Great programmer; I’m just a good programmer with great habits.” -Martin Fowler, Refactoring: Improving the Design of Existing Code
  • 37. Code Reviews... All possible automation scripts for the feature are scripted The automation scripts are understandable by the team The Features and Scenarios best represent the state of the application (living documentation) The automation scripts don’t duplicate effort already present All required Objects and data needs are addressed All standards & practices are followed (traceability, Gherkin, formatting, etc.)
  • 39. Implementation... Team Leader • Scheduling • Delegation of work • Focus Area selection • Bug Report Automation Guide • Technical Oracle • Session tracking • Action Items • Improvement Status Report Focus Area • Code Metric Report • Feature Item • Project Release • Regression • CI Report
  • 41. Summary... Focus on the fastest, most robust tests. Create UI & E2E tests as needed. Unit > Service > UI > E2E Build based on probability of failure, impact on business, and complexity. Budget, Schedule, and Technical Skillset will always limit the path forward.
  • 44. Test Coverage – Percent Automation... PA = Percent Automation ATC = # of Automated Test Cases TC = # of Total Test Cases PA (%) = ATC / TC The percent of automation for an application’s regression, project release, or deploy/patch validation (smoke tests).
  • 45. Test Coverage – Execution Frequency... The more frequently an application is tested, the better the test coverage for changes to that application (project or patching). To measure pre- and post-automation execution benefits, compare the frequency of testing in three primary categories before and after automation: • Regression: the core functionality of the existing application • Release: the added functionality to the existing application • Production Support / Smoke Tests: any patching, hot fixes, or deployments to test critical functionality
  • 46. Test Coverage – Percent Business Rule... PBR = Percent Business Rule SPE = # Business Rules with Specifications BR = # Total Business Rules PBR (%) = SPE / BR The percent of business rules covered with specifications (test cases) for regression, project release, or deploy/patch validation (smoke tests).
  • 47. Application Quality – Defect Savings... Defect savings is the estimate in savings for each defect found by automation. The Systems Sciences Institute at IBM estimates on average every software bug found in production costs $10,000 to fix and $1,500 to fix in QA. For each defect found by automation, associate a cost for the bug that otherwise would have gone to production. source: Systems Sciences Institute at IBM
  • 48. Application Quality – Defect Coverage... DC = Defect Coverage DA = # of Defects checked by Automation TD = Total # of Defects DC = DA / TD A measure of the total known defects checked by automation divided total number of defects in the system.
  • 49. Application Quality – Defect Trend... Defect Trend is the measure of defects in environment after some change is instituted at a particular phase in the SDLC. For each SDLC phase, record when defects are found. Compare the trend at each phase for a given project and across multiple projects based on project size.
  • 50. Time Savings – Execution Cost... TS = Time Savings MET = Manual Execution Time AET = Automation-inclusive Execution Time COUNT = Minimum Number of Test Activity Events ENV = Number of Environments Tested USER = Number of User Combinations Tested TS = (MET – AET) * COUNT * ENV * USER
  • 53. Appendix... • Browser Analytics • https://analytics.usa.gov/data/ • http://netmarketshare.com/ • Internet Explorer • https://blogs.msdn.microsoft.com/ie/2004/08/17/the-basics-of-the- ie-testing-matrix/ • Unit & Integration • https://www.softwaretestinghelp.com/unit-testing-tools/ • Selenium • https://github.com/SeleniumHQ/selenium/wiki/DesiredCapabilities • Automation Maintenance • https://blog.testproject.io/2018/03/20/maintaining-value- automations-forgotten-cost/