SlideShare une entreprise Scribd logo
1  sur  22
Télécharger pour lire hors ligne
Effective Test Automation
in DevOps
MOVING TOWARDS CONTINUOUS TESTING
COPYRIGHT UTOPIA SOLUTIONS, INC.1
About Me…
• CTO of Utopia Solutions – QA/testing focused service provider
• Involved in software quality and testing for over 25 years
• Most of that time focused on test automation
• Passionate about learning and helping organizations benefit from thinking
about automation the right way
COPYRIGHT UTOPIA SOLUTIONS, INC.2
Email: lee.barnes@utopiasolutions.com
Twitter: @USI_LeeBarnes
LinkedIn: linkedin.com/in/leebarnes
Blog: utopiasolutions.com/blog
Agenda
• Test Automation in DevOps
• Common Automation Obstacles
• Pillars of Effective Test Automation
─ Scope
─ Approach
─ Test Environment and Data Management
• Wrap Up
COPYRIGHT UTOPIA SOLUTIONS, INC.3
Testing in DevOps
COPYRIGHT UTOPIA SOLUTIONS, INC.4
DevOps testing activities must provide feedback
✓ Fast
✓ Accurate
✓ Actionable
Importance of Effective Automation
COPYRIGHT UTOPIA SOLUTIONS, INC.5
Continuous Integration requires three capabilities:
• A comprehensive and reliable set of automated tests that validate we are in a
deployable state
• A culture that “stops the entire production line” when our validation tests fail
• Developers working in small batches on trunk rather than long-lived feature
branches
The DevOps Handbook (Kim, Humble, Debois & Willis)
Automation Impact on DevOps Performance
COPYRIGHT UTOPIA SOLUTIONS, INC.6
Type of Manual Activity Elite High Medium Low
Configuration Management 5% 10% 30% 30%
Testing 10% 20% 50% 30%
Deployments 5% 10% 30% 30%
Change Approvals 10% 30% 75% 40%
- 2018 Accelerate State of DevOps Report
Obstacles to Test Automation Success
COPYRIGHT UTOPIA SOLUTIONS, INC.7
• Too much / not enough automation
• Automating the wrong tests
• Focusing on UI interaction
• Unstable test environments and data
• Not treating automation as code
Common Automation
Traps
Effective Test
Automation
COPYRIGHT UTOPIA SOLUTIONS, INC.8
Pillars of Effective Automation
COPYRIGHT UTOPIA SOLUTIONS, INC.9
Scope
Approach / Method
Environment & Data Management
Scope and Approach
COPYRIGHT UTOPIA SOLUTIONS, INC.10
Pipeline Tradeoffs
COPYRIGHT UTOPIA SOLUTIONS, INC.11
Developer
Workstation
Integration
Environment
Performance /
Load
Environment
ProductionDeploy Deploy
Increasing Confidence in Build’s Production Readiness
Environments Become More Production-like
Faster Feedback
- Continuous Delivery by Jez Humble and David Farley
Which Test Suites Do We Need?
Purpose Dependencies Constraints Pipeline / Execution Environment / Data
What business risk
does this test suite
mitigate?
What systems or
tools must be in
place for this test
suite to run
successfully?
What can prevent us
from implementing
this test suite in an
ideal way?
Will this test suite be
part of a pipeline?
When will it be
triggered?
How often will it
run?
What environment
will the test suite run
in?
How will test data be
managed?
Ownership and Response Maintainability Effectiveness
Who will create the test suite?
Who should own it?
Who will address test failures and
how?
What will the process be to review
code?
What documentation needs to
exist?
How will we know the test suite is
effective?
COPYRIGHT UTOPIA SOLUTIONS, INC.12
Test Suite Canvas for evaluating test suites
- Ashley Hunsberger (adapted from original concept by Katrina Clokie)
Test Suites Mapped to the Pipeline
COPYRIGHT UTOPIA SOLUTIONS, INC.13
Suite Purpose
Unit Tests Is the change being
pushed ready for a code
review?
Integration
Tests
Are the integrated system
components ready for
further testing?
End-to-End
Tests
Is the system functionally
ready for deployment?
Performance Does the system meet
performance SLAs?
… …
Commit Changes
Unit
Tests
Deploy to
Integration Env.
E2E
Tests
Int.
Tests
Deploy to
Production
Deploy to
Performance Env.
Perf.
Tests
Which Tests Do We Need?
COPYRIGHT UTOPIA SOLUTIONS, INC.14
Using FITR to assess your automated tests for inclusion
Focused Test is tied as close to the functionality being tested as possible  UI,
API, unit, etc.
Informative Test clearly and concisely communicates its intent and result
Trustworthy Test executes reliably and doesn’t provide false negatives / positives
Repeatable Test can be executed on demand  environment and data dependencies
- Bas Dijkstra
https://www.stickyminds.com/sites/default/files/volume-issue/pdf/V20I3.pdf
Environment and Data
COPYRIGHT UTOPIA SOLUTIONS, INC.15
Biggest Challenge to Automation?
COPYRIGHT UTOPIA SOLUTIONS, INC.16
Test environment and data availability continue to be
top challenges to achieving desired levels of
automation
- 2018-19 World Quality Report
Well… it worked on my machine!
Test Environment and Data Spectrum
COPYRIGHT UTOPIA SOLUTIONS, INC.17
Static
Shared
Stale
Dynamic
Dedicated
Fresh
Environment / Data Issues
• Data staleness and instability
• Scheduling conflicts
• Not production-like
Automation Averse
• Unreliable execution
• Long/complex setup
• False positives
• Prolonged analysis
Automation Friendly
• Create clean environments
on demand
• Dedicate environments to
single purpose
• Production-like (if needed)
• Load with clean/fresh data
Test Data Challenges
COPYRIGHT UTOPIA SOLUTIONS, INC.18
Three of the top test data challenges according to the World Quality
Report 2017-18
• Keeping test data in sync with tests
• Lack of test data for complex integration testing
• Maintaining consistent test data across systems under test
Inability to reliably execute automated tests on demand
Test Data Management Strategy
COPYRIGHT UTOPIA SOLUTIONS, INC.19
What are the dimensions of the
required data?
Type is data structured or unstructured?
Value what specific values or class of data are
required?
Time does data change over time?
Reuse Can data be used more than once?
Volume how much do data you need?
What data do your tests require?
What are the data sources?
Key Strategy Input Questions
Test Data Management Strategy
COPYRIGHT UTOPIA SOLUTIONS, INC.20
Common Data Management Techniques
System / application
techniques
Test suite techniques
Data refresh
Data partitioning
Dedicated automation environments
External techniques
Pre-test / test suite data creation
Post-test / test suite data cleanup
On-demand environment creation / destruction
Dynamic data handling
Commercial test data management solutions
Mocking / service virtualization
Key Takeaways
• Effective test automation is required to achieve success in DevOps
• Create the right test suites that contain the right tests
• Ensure you understand your test environment & data requirements AND have created
a strategy to manage them
• Continuously improve
• Notice that we didn’t talk about specific tools…
COPYRIGHT UTOPIA SOLUTIONS, INC.21
Continuing the Conversation
COPYRIGHT UTOPIA SOLUTIONS, INC.22
Lee Barnes
CTO
Utopia Solutions, Inc.
Email: lee.barnes@utopiasolutions.com
Twitter: @USI_LeeBarnes
LinkedIn:linkedin.com/in/leebarnes
Blog: utopiasolutions.com/blog

Contenu connexe

Tendances

2019 DevSecOps Reference Architectures
2019 DevSecOps Reference Architectures2019 DevSecOps Reference Architectures
2019 DevSecOps Reference ArchitecturesSonatype
 
Roles and Responsibilities of a DevOps Engineer
Roles and Responsibilities of a DevOps EngineerRoles and Responsibilities of a DevOps Engineer
Roles and Responsibilities of a DevOps EngineerZaranTech LLC
 
Future Of DevOps Trends 2023
Future Of DevOps Trends 2023Future Of DevOps Trends 2023
Future Of DevOps Trends 2023WeCode Inc
 
CI/CD Best Practices for Your DevOps Journey
CI/CD Best  Practices for Your DevOps JourneyCI/CD Best  Practices for Your DevOps Journey
CI/CD Best Practices for Your DevOps JourneyDevOps.com
 
Building an SRE Organization @ Squarespace
Building an SRE Organization @ SquarespaceBuilding an SRE Organization @ Squarespace
Building an SRE Organization @ SquarespaceFranklin Angulo
 
Devops Devops Devops
Devops Devops DevopsDevops Devops Devops
Devops Devops DevopsKris Buytaert
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...Simplilearn
 
CICD Pipelines for Microservices Best Practices
CICD Pipelines for Microservices Best Practices CICD Pipelines for Microservices Best Practices
CICD Pipelines for Microservices Best Practices Codefresh
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub ActionsKnoldus Inc.
 
An Introduction To Jenkins
An Introduction To JenkinsAn Introduction To Jenkins
An Introduction To JenkinsKnoldus Inc.
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...Sonatype
 
Fundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CDFundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CDBatyr Nuryyev
 
Introduction to Docker - 2017
Introduction to Docker - 2017Introduction to Docker - 2017
Introduction to Docker - 2017Docker, Inc.
 
DevOps 101 - an Introduction to DevOps
DevOps 101  - an Introduction to DevOpsDevOps 101  - an Introduction to DevOps
DevOps 101 - an Introduction to DevOpsRed Gate Software
 

Tendances (20)

2019 DevSecOps Reference Architectures
2019 DevSecOps Reference Architectures2019 DevSecOps Reference Architectures
2019 DevSecOps Reference Architectures
 
Roles and Responsibilities of a DevOps Engineer
Roles and Responsibilities of a DevOps EngineerRoles and Responsibilities of a DevOps Engineer
Roles and Responsibilities of a DevOps Engineer
 
DevOps
DevOpsDevOps
DevOps
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introduction
 
Future Of DevOps Trends 2023
Future Of DevOps Trends 2023Future Of DevOps Trends 2023
Future Of DevOps Trends 2023
 
CI/CD Best Practices for Your DevOps Journey
CI/CD Best  Practices for Your DevOps JourneyCI/CD Best  Practices for Your DevOps Journey
CI/CD Best Practices for Your DevOps Journey
 
Building an SRE Organization @ Squarespace
Building an SRE Organization @ SquarespaceBuilding an SRE Organization @ Squarespace
Building an SRE Organization @ Squarespace
 
Devops Devops Devops
Devops Devops DevopsDevops Devops Devops
Devops Devops Devops
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
 
CICD Pipelines for Microservices Best Practices
CICD Pipelines for Microservices Best Practices CICD Pipelines for Microservices Best Practices
CICD Pipelines for Microservices Best Practices
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
 
The shift left strategy
The shift left strategy The shift left strategy
The shift left strategy
 
An Introduction To Jenkins
An Introduction To JenkinsAn Introduction To Jenkins
An Introduction To Jenkins
 
Tour of Azure DevOps
Tour of Azure DevOpsTour of Azure DevOps
Tour of Azure DevOps
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
 
Fundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CDFundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CD
 
Introduction to Docker - 2017
Introduction to Docker - 2017Introduction to Docker - 2017
Introduction to Docker - 2017
 
DevOps 101 - an Introduction to DevOps
DevOps 101  - an Introduction to DevOpsDevOps 101  - an Introduction to DevOps
DevOps 101 - an Introduction to DevOps
 
Dev ops using Jenkins
Dev ops using JenkinsDev ops using Jenkins
Dev ops using Jenkins
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 

Similaire à Effective Test Automation in DevOps: Focus on Scope, Approach, Environment

DevOpsDays Houston 2019 - Lee Barnes - Effective Test Automation in DevOps - ...
DevOpsDays Houston 2019 - Lee Barnes - Effective Test Automation in DevOps - ...DevOpsDays Houston 2019 - Lee Barnes - Effective Test Automation in DevOps - ...
DevOpsDays Houston 2019 - Lee Barnes - Effective Test Automation in DevOps - ...DevOpsDays Houston
 
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.pdfQA or the Highway
 
Everything You Need to Know About Regression Testing Automation.pdf
Everything You Need to Know About Regression Testing Automation.pdfEverything You Need to Know About Regression Testing Automation.pdf
Everything You Need to Know About Regression Testing Automation.pdfRohitBhandari66
 
Exploratory testing using heuristics
Exploratory testing using heuristicsExploratory testing using heuristics
Exploratory testing using heuristicsMichelle Lagare, CSM
 
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 TestingTechWell
 
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
 
5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test AutomationSauce Labs
 
Don’t Be Another Statistic! Develop a Long-Term Test Automation Strategy
Don’t Be Another Statistic! Develop a Long-Term Test Automation StrategyDon’t Be Another Statistic! Develop a Long-Term Test Automation Strategy
Don’t Be Another Statistic! Develop a Long-Term Test Automation StrategyJosiah Renaudin
 
No Devops Without Continuous Testing
No Devops Without Continuous TestingNo Devops Without Continuous Testing
No Devops Without Continuous TestingParasoft
 
Continuous Delivery and Continuous Agile by Andy Singleton - Agile Maine Day...
Continuous Delivery and Continuous Agile by Andy Singleton - Agile Maine Day...Continuous Delivery and Continuous Agile by Andy Singleton - Agile Maine Day...
Continuous Delivery and Continuous Agile by Andy Singleton - Agile Maine Day...agilemaine
 
Continuous Testing through Service Virtualization
Continuous Testing through Service VirtualizationContinuous Testing through Service Virtualization
Continuous Testing through Service VirtualizationTechWell
 
Performance Testing – Look Before you Leap
Performance Testing – Look Before you LeapPerformance Testing – Look Before you Leap
Performance Testing – Look Before you LeapSoftware Testing Solution
 
How to Build High-Performing IT Teams - Including New Data on IT Performance ...
How to Build High-Performing IT Teams - Including New Data on IT Performance ...How to Build High-Performing IT Teams - Including New Data on IT Performance ...
How to Build High-Performing IT Teams - Including New Data on IT Performance ...Puppet
 
Puppet Labs EMC DevOps Day NYC Aug-2015
Puppet Labs  EMC DevOps Day NYC Aug-2015Puppet Labs  EMC DevOps Day NYC Aug-2015
Puppet Labs EMC DevOps Day NYC Aug-2015Bob Sokol
 
Curiosity Software Presents: Modelling for Continuous Testing
Curiosity Software Presents: Modelling for Continuous TestingCuriosity Software Presents: Modelling for Continuous Testing
Curiosity Software Presents: Modelling for Continuous TestingCuriosity Software Ireland
 
Best ERP Testing Practices for Large Organizations
Best ERP Testing Practices for Large OrganizationsBest ERP Testing Practices for Large Organizations
Best ERP Testing Practices for Large OrganizationsYASH Technologies
 
Test Automation using UiPath Test Suite - Developer Circle Part-3 - 07262022.pdf
Test Automation using UiPath Test Suite - Developer Circle Part-3 - 07262022.pdfTest Automation using UiPath Test Suite - Developer Circle Part-3 - 07262022.pdf
Test Automation using UiPath Test Suite - Developer Circle Part-3 - 07262022.pdfDiana Gray, MBA
 
DevOps Workshop - Addressing Quality Challenges of Highly Complex and Integra...
DevOps Workshop - Addressing Quality Challenges of Highly Complex and Integra...DevOps Workshop - Addressing Quality Challenges of Highly Complex and Integra...
DevOps Workshop - Addressing Quality Challenges of Highly Complex and Integra...Andrew Williams
 

Similaire à Effective Test Automation in DevOps: Focus on Scope, Approach, Environment (20)

DevOpsDays Houston 2019 - Lee Barnes - Effective Test Automation in DevOps - ...
DevOpsDays Houston 2019 - Lee Barnes - Effective Test Automation in DevOps - ...DevOpsDays Houston 2019 - Lee Barnes - Effective Test Automation in DevOps - ...
DevOpsDays Houston 2019 - Lee Barnes - Effective Test Automation in DevOps - ...
 
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
 
Everything You Need to Know About Regression Testing Automation.pdf
Everything You Need to Know About Regression Testing Automation.pdfEverything You Need to Know About Regression Testing Automation.pdf
Everything You Need to Know About Regression Testing Automation.pdf
 
QM in Software Projects
QM in Software ProjectsQM in Software Projects
QM in Software Projects
 
Exploratory testing using heuristics
Exploratory testing using heuristicsExploratory testing using heuristics
Exploratory testing using heuristics
 
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
 
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".
 
Online testing strategy
Online testing strategyOnline testing strategy
Online testing strategy
 
5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation
 
Don’t Be Another Statistic! Develop a Long-Term Test Automation Strategy
Don’t Be Another Statistic! Develop a Long-Term Test Automation StrategyDon’t Be Another Statistic! Develop a Long-Term Test Automation Strategy
Don’t Be Another Statistic! Develop a Long-Term Test Automation Strategy
 
No Devops Without Continuous Testing
No Devops Without Continuous TestingNo Devops Without Continuous Testing
No Devops Without Continuous Testing
 
Continuous Delivery and Continuous Agile by Andy Singleton - Agile Maine Day...
Continuous Delivery and Continuous Agile by Andy Singleton - Agile Maine Day...Continuous Delivery and Continuous Agile by Andy Singleton - Agile Maine Day...
Continuous Delivery and Continuous Agile by Andy Singleton - Agile Maine Day...
 
Continuous Testing through Service Virtualization
Continuous Testing through Service VirtualizationContinuous Testing through Service Virtualization
Continuous Testing through Service Virtualization
 
Performance Testing – Look Before you Leap
Performance Testing – Look Before you LeapPerformance Testing – Look Before you Leap
Performance Testing – Look Before you Leap
 
How to Build High-Performing IT Teams - Including New Data on IT Performance ...
How to Build High-Performing IT Teams - Including New Data on IT Performance ...How to Build High-Performing IT Teams - Including New Data on IT Performance ...
How to Build High-Performing IT Teams - Including New Data on IT Performance ...
 
Puppet Labs EMC DevOps Day NYC Aug-2015
Puppet Labs  EMC DevOps Day NYC Aug-2015Puppet Labs  EMC DevOps Day NYC Aug-2015
Puppet Labs EMC DevOps Day NYC Aug-2015
 
Curiosity Software Presents: Modelling for Continuous Testing
Curiosity Software Presents: Modelling for Continuous TestingCuriosity Software Presents: Modelling for Continuous Testing
Curiosity Software Presents: Modelling for Continuous Testing
 
Best ERP Testing Practices for Large Organizations
Best ERP Testing Practices for Large OrganizationsBest ERP Testing Practices for Large Organizations
Best ERP Testing Practices for Large Organizations
 
Test Automation using UiPath Test Suite - Developer Circle Part-3 - 07262022.pdf
Test Automation using UiPath Test Suite - Developer Circle Part-3 - 07262022.pdfTest Automation using UiPath Test Suite - Developer Circle Part-3 - 07262022.pdf
Test Automation using UiPath Test Suite - Developer Circle Part-3 - 07262022.pdf
 
DevOps Workshop - Addressing Quality Challenges of Highly Complex and Integra...
DevOps Workshop - Addressing Quality Challenges of Highly Complex and Integra...DevOps Workshop - Addressing Quality Challenges of Highly Complex and Integra...
DevOps Workshop - Addressing Quality Challenges of Highly Complex and Integra...
 

Dernier

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
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
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
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
 
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
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
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
 

Dernier (20)

E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
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
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
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
 
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!
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
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
 

Effective Test Automation in DevOps: Focus on Scope, Approach, Environment

  • 1. Effective Test Automation in DevOps MOVING TOWARDS CONTINUOUS TESTING COPYRIGHT UTOPIA SOLUTIONS, INC.1
  • 2. About Me… • CTO of Utopia Solutions – QA/testing focused service provider • Involved in software quality and testing for over 25 years • Most of that time focused on test automation • Passionate about learning and helping organizations benefit from thinking about automation the right way COPYRIGHT UTOPIA SOLUTIONS, INC.2 Email: lee.barnes@utopiasolutions.com Twitter: @USI_LeeBarnes LinkedIn: linkedin.com/in/leebarnes Blog: utopiasolutions.com/blog
  • 3. Agenda • Test Automation in DevOps • Common Automation Obstacles • Pillars of Effective Test Automation ─ Scope ─ Approach ─ Test Environment and Data Management • Wrap Up COPYRIGHT UTOPIA SOLUTIONS, INC.3
  • 4. Testing in DevOps COPYRIGHT UTOPIA SOLUTIONS, INC.4 DevOps testing activities must provide feedback ✓ Fast ✓ Accurate ✓ Actionable
  • 5. Importance of Effective Automation COPYRIGHT UTOPIA SOLUTIONS, INC.5 Continuous Integration requires three capabilities: • A comprehensive and reliable set of automated tests that validate we are in a deployable state • A culture that “stops the entire production line” when our validation tests fail • Developers working in small batches on trunk rather than long-lived feature branches The DevOps Handbook (Kim, Humble, Debois & Willis)
  • 6. Automation Impact on DevOps Performance COPYRIGHT UTOPIA SOLUTIONS, INC.6 Type of Manual Activity Elite High Medium Low Configuration Management 5% 10% 30% 30% Testing 10% 20% 50% 30% Deployments 5% 10% 30% 30% Change Approvals 10% 30% 75% 40% - 2018 Accelerate State of DevOps Report
  • 7. Obstacles to Test Automation Success COPYRIGHT UTOPIA SOLUTIONS, INC.7 • Too much / not enough automation • Automating the wrong tests • Focusing on UI interaction • Unstable test environments and data • Not treating automation as code Common Automation Traps
  • 9. Pillars of Effective Automation COPYRIGHT UTOPIA SOLUTIONS, INC.9 Scope Approach / Method Environment & Data Management
  • 10. Scope and Approach COPYRIGHT UTOPIA SOLUTIONS, INC.10
  • 11. Pipeline Tradeoffs COPYRIGHT UTOPIA SOLUTIONS, INC.11 Developer Workstation Integration Environment Performance / Load Environment ProductionDeploy Deploy Increasing Confidence in Build’s Production Readiness Environments Become More Production-like Faster Feedback - Continuous Delivery by Jez Humble and David Farley
  • 12. Which Test Suites Do We Need? Purpose Dependencies Constraints Pipeline / Execution Environment / Data What business risk does this test suite mitigate? What systems or tools must be in place for this test suite to run successfully? What can prevent us from implementing this test suite in an ideal way? Will this test suite be part of a pipeline? When will it be triggered? How often will it run? What environment will the test suite run in? How will test data be managed? Ownership and Response Maintainability Effectiveness Who will create the test suite? Who should own it? Who will address test failures and how? What will the process be to review code? What documentation needs to exist? How will we know the test suite is effective? COPYRIGHT UTOPIA SOLUTIONS, INC.12 Test Suite Canvas for evaluating test suites - Ashley Hunsberger (adapted from original concept by Katrina Clokie)
  • 13. Test Suites Mapped to the Pipeline COPYRIGHT UTOPIA SOLUTIONS, INC.13 Suite Purpose Unit Tests Is the change being pushed ready for a code review? Integration Tests Are the integrated system components ready for further testing? End-to-End Tests Is the system functionally ready for deployment? Performance Does the system meet performance SLAs? … … Commit Changes Unit Tests Deploy to Integration Env. E2E Tests Int. Tests Deploy to Production Deploy to Performance Env. Perf. Tests
  • 14. Which Tests Do We Need? COPYRIGHT UTOPIA SOLUTIONS, INC.14 Using FITR to assess your automated tests for inclusion Focused Test is tied as close to the functionality being tested as possible  UI, API, unit, etc. Informative Test clearly and concisely communicates its intent and result Trustworthy Test executes reliably and doesn’t provide false negatives / positives Repeatable Test can be executed on demand  environment and data dependencies - Bas Dijkstra https://www.stickyminds.com/sites/default/files/volume-issue/pdf/V20I3.pdf
  • 15. Environment and Data COPYRIGHT UTOPIA SOLUTIONS, INC.15
  • 16. Biggest Challenge to Automation? COPYRIGHT UTOPIA SOLUTIONS, INC.16 Test environment and data availability continue to be top challenges to achieving desired levels of automation - 2018-19 World Quality Report Well… it worked on my machine!
  • 17. Test Environment and Data Spectrum COPYRIGHT UTOPIA SOLUTIONS, INC.17 Static Shared Stale Dynamic Dedicated Fresh Environment / Data Issues • Data staleness and instability • Scheduling conflicts • Not production-like Automation Averse • Unreliable execution • Long/complex setup • False positives • Prolonged analysis Automation Friendly • Create clean environments on demand • Dedicate environments to single purpose • Production-like (if needed) • Load with clean/fresh data
  • 18. Test Data Challenges COPYRIGHT UTOPIA SOLUTIONS, INC.18 Three of the top test data challenges according to the World Quality Report 2017-18 • Keeping test data in sync with tests • Lack of test data for complex integration testing • Maintaining consistent test data across systems under test Inability to reliably execute automated tests on demand
  • 19. Test Data Management Strategy COPYRIGHT UTOPIA SOLUTIONS, INC.19 What are the dimensions of the required data? Type is data structured or unstructured? Value what specific values or class of data are required? Time does data change over time? Reuse Can data be used more than once? Volume how much do data you need? What data do your tests require? What are the data sources? Key Strategy Input Questions
  • 20. Test Data Management Strategy COPYRIGHT UTOPIA SOLUTIONS, INC.20 Common Data Management Techniques System / application techniques Test suite techniques Data refresh Data partitioning Dedicated automation environments External techniques Pre-test / test suite data creation Post-test / test suite data cleanup On-demand environment creation / destruction Dynamic data handling Commercial test data management solutions Mocking / service virtualization
  • 21. Key Takeaways • Effective test automation is required to achieve success in DevOps • Create the right test suites that contain the right tests • Ensure you understand your test environment & data requirements AND have created a strategy to manage them • Continuously improve • Notice that we didn’t talk about specific tools… COPYRIGHT UTOPIA SOLUTIONS, INC.21
  • 22. Continuing the Conversation COPYRIGHT UTOPIA SOLUTIONS, INC.22 Lee Barnes CTO Utopia Solutions, Inc. Email: lee.barnes@utopiasolutions.com Twitter: @USI_LeeBarnes LinkedIn:linkedin.com/in/leebarnes Blog: utopiasolutions.com/blog