SlideShare a Scribd company logo
1 of 36
DevOps Test Engineering
Marc Hornbeek
1
http://devopsinstitute.com
Marc Hornbeek DevOps_The_Gray
Marc Hornbeek “DevOps_The_Gray”
2
https://www.linkedin.com/in/marchornbeek
Trace3.com DevOpsInstitute.com DevOps.com www.ieee.org
Principal Consultant
DevOps
Course
Author
IEEE Region 6
Engineer of 2016
Blogger
https://devops.com/author/marc-hornbeek/
Marc Hornbeek DevOps_The_Gray
3
• What is DevOps test engineering?
• Why is DevOps test engineering important?
• DevOps test engineering strategies and best practices
• Benefits of DevOps testing engineering
• References to learn more
Marc Hornbeek DevOps_The_Gray
“Culture is the door to DevOps…
…but ...
Continuous Testing is the primary key...
to Continuous Delivery ”
Marc Hornbeek DevOps_The_Gray
Test Engineering is the “magical”
ingredient that enables DevOps
Test verdict data enables assessment for
artifact stage promotions
Best practices are the secret to success
Marc Hornbeek DevOps_The_Gray
Testing maturity is a key
differentiator of DevOps
maturity.
DevOps testing is different
than traditional QA !
Marc Hornbeek DevOps_The_Gray
Testing scope is
end-to-end,
and continuous
across the
pipeline
DevOps testing
is not a phase
between
integration and
delivery
Marc Hornbeek DevOps_The_Gray
DevOps Testing Differentiators
• Continuous quality assessment for each pipeline stage
• Most tests are automated from the beginning
• Tests are integrated within all stages of the DevOps toolchain
• A production equivalent test environment is used for each stage
Pre-Flight CI CD
DevOps Testing
Marc Hornbeek DevOps_The_Gray
Assessments performed “continuously” on incremental changes
determine if artifacts from each stage are accepted or rejected.
Marc Hornbeek DevOps_The_Gray
Rejected Artifacts
Changed artifacts are “rejected” according to test acceptance criterion
Rejected changes are immediately analyzed and
remediation is scheduled
Serious changes: halt the pipeline until the rejected
change is either removed (called a roll-back) or
remedied (i.e. resolved)
Less serious changes: promote to the next stage and remedy later
Marc Hornbeek DevOps_The_Gray
Pre-Flight Testing
Pre-Flight testing refers to assessment of design
and software code prior to the trunk integration
stage
Consequences if not done correctly:
• Errors integrated into the DevOps pipeline have
negative “ripple” effects on the later DevOps
pipeline stages
• Interruptions with urgent corrective work
required to remedy problems
Integrate to main
trunk branch
Test
Test
Test
Marc Hornbeek DevOps_The_Gray
Production Equivalent Test Environment
The test environment refers to
combinations of use cases, environment,
systems and configurations in which tests
are performed.
DevOps tests, including Pre-Flight tests,
should be performed in a test
environment that is equivalent to the
production environment of customer
deployments.
Use Cases
(types of
users and
workflows)
Environment
(external
conditions)
Systems
(Operating
systems and
versions)
Configuration
(system
topologies,
data)
Marc Hornbeek DevOps_The_Gray
Culture is the #1 critical success factor
• “Quality is everyone’s
responsibility.”
• W. Edwards Deming Ph.D.
• In 2009 Patrick Dubois, a Quality
Assurance (QA) consultant, conceived
DevOps as a way to bring Dev and
Ops teams closer together
• Roles for individuals are not
prescribed
• Cross-functional team owns testing
• Team agrees who will perform test
tasks
Marc Hornbeek DevOps_The_Gray
DevOps Testing Strategy
• Testing is integrated into the toolchain
• Test environment is orchestrated
• Tests are automated as much as
possible
• Accelerate tests as much as possible
Integrat
e
Orchestrat
e
Automate Accelerate
Marc Hornbeek DevOps_The_Gray
Five Tenets of DevOps Testing
• Shift Left: Conduct tests as early as
possible
• Fail Early: Test for most likely problems
first
• Fail Often: Test frequently with different
conditions
• Test Fast: Arrange tests to run in quick
cycles
Test
fast
DevOps
Test
Tenets
Marc Hornbeek DevOps_The_Gray
Integrated DevOps test infrastructures
DevOps testing is fully integrated to
support relevant and timely
assessments for each DevOps stage
For each DevOps stage tests are
automatically triggered from the
DevOps toolchain
DevOps test assessment for each
stage provides feedback to support
DevOps workflow decisions
Marc Hornbeek DevOps_The_Gray
Test Environment Orchestration
and Test Automation
Environment orchestration:
Automatically setup the test
environment and resources
(physical and virtual) to match the
requirements of a test, and
release resources after tests are
done.
Test automation: Execute test
tasks without manual work
required
Marc Hornbeek DevOps_The_Gray
A/B Test Strategy
Some test cases such as
usability testing require a
human user to assess a
change.
Feature toggles allow
changes to be selectively
exposed to predetermined
“trial” customers, thereby
enabling controlled
customer evaluations of
features and alternative
designs.
Marc Hornbeek DevOps_The_Gray
Blue - Green Test Strategy
• Two identical production
environments
• At any given time, one of them is
live
• If blue is live, final stage testing
should be done in the green
environment (or vice versa)
• When the software works in the
green environment, switch the
router so that all incoming requests
go to the green environment. The
blue environment is now idle
• Blue-green deployment provides a
rapid way to rollback the router to
Taking software from the
final stage of testing to live
production needs to be done
quickly to minimize downtime
Reference:
http://martinfowler.com/bliki/BlueGreenDeployment.html
Marc Hornbeek DevOps_The_Gray
Canary Test Strategy
• A canary test is a push
of code changes to a small
number of unsuspecting end
users
• The goal is to ensure
changes are transparent and
work in the real environment
• Canary tests offer limited
production level testing and
early warning of possible
errors
The term “canary” refers to an old practice that used
canaries to alert miners to toxic gas levels.
Reference: http://whatis.techtarget.com/definition/canary-canary
Marc Hornbeek DevOps_The_Gray
DevSecOps
• Develop expertise in
DevSecOps testing
• Include security experts in
DevOps testing
• Partner with security experts to
train others
• Use security-ready test tools
which support automation
• Static code analysis during pre-
flight and continuous
integration builds
• Penetration testing during
integration and functional
Integrate security
testing throughout the
DevOps pipeline
Marc Hornbeek DevOps_The_Gray
Microservices Test Strategy
What to test:
• APIs, Contracts
• Dependencies
• Cascading failures
• Changes that affect the
allocation of
responsibilities between
microservices
• Backwards and forwards
compatibility policies for
microservices
Marc Hornbeek DevOps_The_Gray
Test Container
• Does not contain application code
• Contains testing tools, testing tool runtime images, test
environment configuration, environment variables, config files,
bootstrap scripts, tests, test data and a test startup script
• Works in all environments: pre-flight/Dev, integration, staging
and production
• Deployed as micros-services
• Reduces footprint and dependencies between microservices
• Can always go back in time and rerun a specific version
Marc Hornbeek DevOps_The_Gray
Test Acceleration Strategy
• Organize the team for speed
• Select powerful resources (Vertical scaling)
• Run more tests in parallel (Horizontal scaling)
• Choose test tools designed for fast execution
• Organize test schedules and test suites to fail
early
• Design test cases to fail early
• Arrange test results to minimize wait times
https://devops.com/continuous-
testing-accelerated/
Testing needs to keep up
with the ever increasing
demand for speed.
Marc Hornbeek DevOps_The_Gray
Test Results Analysis Strategy
• Determine clear responsibilities and
SLAs
• Design test scripts for efficient results
analysis
• Choose tools designed for fast results
analysis
• Configure tools to process results as
available
• Configure workflows for optimum
analysis
https://devops.com/test-
results-analysis-speed-devops/
Ensure test results analysis keeps pace
with accelerated continuous testing
Marc Hornbeek DevOps_The_Gray
Test Coverage Strategy
Strategies:
• Requirements coverage: % of requirements
• Test plan coverage*: % of planned test cases
• Code coverage: % of code lines or paths
• Function coverage: % of functions
• Artifacts coverage: % of build artifacts
• Code module coverage: % of source code
modules
• Dependencies coverage: % of dependencies
% of tests run and passed,
relative to a coverage
strategy indicates
readiness for release.
*Test plan coverage is the most popular,
flexible and simplest to measure.
Marc Hornbeek DevOps_The_Gray
DevOps-Ready Test Tools
• RESTful APIs (configure, control,
report)
• Framework plug-ins (e.g. Jenkins)
• Virtual / cloud compatible
• Dynamically scalable
• Test automation features
Easy to integrate into a DevOps
testing framework and
dynamically scale using cloud
computing techniques and
automate tests.
Warning!
Marc Hornbeek DevOps_The_Gray
DevOps Test Planning Best Practices
Yes, test plans are needed for
DevOps
• Separate test plans need not be
written for every change
• Test plans provide overall guidance
for product test strategies and
policies
• Define the strategy/contract for
measuring test coverage
Marc Hornbeek DevOps_The_Gray
DevOps Pipeline Test Strategy
Marc Hornbeek DevOps_The_Gray
DevOps Regression Test Best Practices
• Regression tests are identified during test
planning
• Test selection is dynamic. Only tests that
are relevant to the changes are selected
• Test reporting is dynamic. Only test
results that are relevant to a stakeholder
are reported to the stakeholder
• New or updated regression tests are
determined for each customer found
defect test escape
• Tests are maintained in a version
management system
• Regression tests that report false failures
Marc Hornbeek DevOps_The_Gray
Test Automation
Creation Strategies
There are a variety of
methods for creating
automated tests:
• Scripting automated tests
• Keyword-driven tests
• Interactive Capture/replay
tests
• Test driven development
(TDD)
• Model-based tests
• Behavior-based tests
Marc Hornbeek DevOps_The_Gray
Test Management Database (TMDB)
Best configured as a microservice so
the database can be used for test
selection and analysis application
within a DevOps pipeline
Test scripts are usually not kept in
this database. They are usually kept in
a source code management system
Repository for meta data that describes tests, test schedules and test results. Examples of
meta data may include description of the test, attributes or tags that describe the purpose
and version of a test and test results, the time to execute a test, and verdict history.
Marc Hornbeek DevOps_The_Gray
Benefits of DevOps Testing
Business
• Reduce time-to-market
• Improved quality
• Reduced costs
• Improved innovation
• Team benefits
Team
• More interesting and creative work
• Pride of workmanship
• Timely recognition
Copyright 123RF Stock
Photo
Consequences of
Not Doing
DevOps Testing
Properly
• Culture conflicts
• Test escapes, false
positives
• False negative test results
• Increased competition
DevOps Testing Engineer Certificate Course
35
http://devopsinstitute.com/wp-content/uploads/2017/07/DOI-DevOps-
Test-Engineering-170712.pdf
• The purpose, benefits, concepts and vocabulary of
DevOps testing
• How DevOps testing differs from other types of testing
• DevOps testing strategies, test management and results
analysis strategies for selecting test tools and
implementing test automation
• Integration of DevOps testing into Continuous
Integration and Continuous Delivery workflows
• How DevOps testers fit with a DevOps culture,
organization and roles
Marc Hornbeek DevOps_The_Gray
Marc Hornbeek “DevOps_The_Gray”
36
https://www.linkedin.com/in/marchornbeek
https://devops.com/author/marc-hornbeek/
THANK-YOU
Trace3.com DevOpsInstitute.com DevOps.com www.ieee.org

More Related Content

What's hot

Envisioning improving productivity and qaulity through better backlogs agi...
Envisioning   improving productivity and qaulity through better backlogs  agi...Envisioning   improving productivity and qaulity through better backlogs  agi...
Envisioning improving productivity and qaulity through better backlogs agi...Tatlock
 
Gap assessment kubernetes
Gap assessment   kubernetesGap assessment   kubernetes
Gap assessment kubernetesMarc Hornbeek
 
DevOps Evolution - The Next Generation ?
DevOps Evolution - The Next Generation ?DevOps Evolution - The Next Generation ?
DevOps Evolution - The Next Generation ?Marc Hornbeek
 
Seven step transformation blueprint
Seven step transformation blueprintSeven step transformation blueprint
Seven step transformation blueprintMarc Hornbeek
 
How Do You Measure The KM Maturity Of Your Organization Final Ver.
How Do You Measure The KM Maturity Of Your Organization Final Ver.How Do You Measure The KM Maturity Of Your Organization Final Ver.
How Do You Measure The KM Maturity Of Your Organization Final Ver.Art Schlussel
 
Engineering DevOps to meet Business Goals
 Engineering DevOps to meet Business Goals Engineering DevOps to meet Business Goals
Engineering DevOps to meet Business GoalsMarc Hornbeek
 
Test Case Prioritization Techniques
Test Case Prioritization TechniquesTest Case Prioritization Techniques
Test Case Prioritization TechniquesKanoah
 
Automate virtualize and smart test the new testing realities
Automate virtualize and smart test   the new testing realitiesAutomate virtualize and smart test   the new testing realities
Automate virtualize and smart test the new testing realitiesmanoj7698
 
Critical steps in Determining Your Value Stream Management Solution
Critical steps in Determining Your Value Stream Management SolutionCritical steps in Determining Your Value Stream Management Solution
Critical steps in Determining Your Value Stream Management SolutionDevOps.com
 
DevOps as-a-Service (DaaS) value
DevOps as-a-Service (DaaS) valueDevOps as-a-Service (DaaS) value
DevOps as-a-Service (DaaS) valueMarc Hornbeek
 
Achieving CI Excellence with Quality Engineering
Achieving CI Excellence with Quality EngineeringAchieving CI Excellence with Quality Engineering
Achieving CI Excellence with Quality EngineeringGreg Sypolt
 
Software Testing Capability doc
Software Testing Capability doc Software Testing Capability doc
Software Testing Capability doc PM Venkatesha Babu
 
Important skills a Tester should have
Important skills a Tester should haveImportant skills a Tester should have
Important skills a Tester should haveKanoah
 
Agile testing: from Quality Assurance to Quality Assistance
Agile testing: from Quality Assurance to Quality AssistanceAgile testing: from Quality Assurance to Quality Assistance
Agile testing: from Quality Assurance to Quality AssistanceLuca Giovenzana
 
Agile testing guide_2021
Agile testing guide_2021Agile testing guide_2021
Agile testing guide_2021QMetry
 
Exploratory testing and Dev Ops - best friends?
Exploratory testing and Dev Ops - best friends?Exploratory testing and Dev Ops - best friends?
Exploratory testing and Dev Ops - best friends?Sven Schirmer
 
No more excuses QASymphony
No more excuses QASymphonyNo more excuses QASymphony
No more excuses QASymphonyQASymphony
 

What's hot (20)

Envisioning improving productivity and qaulity through better backlogs agi...
Envisioning   improving productivity and qaulity through better backlogs  agi...Envisioning   improving productivity and qaulity through better backlogs  agi...
Envisioning improving productivity and qaulity through better backlogs agi...
 
Gap assessment kubernetes
Gap assessment   kubernetesGap assessment   kubernetes
Gap assessment kubernetes
 
DevOps Evolution - The Next Generation ?
DevOps Evolution - The Next Generation ?DevOps Evolution - The Next Generation ?
DevOps Evolution - The Next Generation ?
 
Reliable SAP
Reliable SAPReliable SAP
Reliable SAP
 
Seven step transformation blueprint
Seven step transformation blueprintSeven step transformation blueprint
Seven step transformation blueprint
 
Dev ops metrics
Dev ops metricsDev ops metrics
Dev ops metrics
 
How Do You Measure The KM Maturity Of Your Organization Final Ver.
How Do You Measure The KM Maturity Of Your Organization Final Ver.How Do You Measure The KM Maturity Of Your Organization Final Ver.
How Do You Measure The KM Maturity Of Your Organization Final Ver.
 
QA metrics in Agile (GUIDE)
QA metrics in Agile (GUIDE)QA metrics in Agile (GUIDE)
QA metrics in Agile (GUIDE)
 
Engineering DevOps to meet Business Goals
 Engineering DevOps to meet Business Goals Engineering DevOps to meet Business Goals
Engineering DevOps to meet Business Goals
 
Test Case Prioritization Techniques
Test Case Prioritization TechniquesTest Case Prioritization Techniques
Test Case Prioritization Techniques
 
Automate virtualize and smart test the new testing realities
Automate virtualize and smart test   the new testing realitiesAutomate virtualize and smart test   the new testing realities
Automate virtualize and smart test the new testing realities
 
Critical steps in Determining Your Value Stream Management Solution
Critical steps in Determining Your Value Stream Management SolutionCritical steps in Determining Your Value Stream Management Solution
Critical steps in Determining Your Value Stream Management Solution
 
DevOps as-a-Service (DaaS) value
DevOps as-a-Service (DaaS) valueDevOps as-a-Service (DaaS) value
DevOps as-a-Service (DaaS) value
 
Achieving CI Excellence with Quality Engineering
Achieving CI Excellence with Quality EngineeringAchieving CI Excellence with Quality Engineering
Achieving CI Excellence with Quality Engineering
 
Software Testing Capability doc
Software Testing Capability doc Software Testing Capability doc
Software Testing Capability doc
 
Important skills a Tester should have
Important skills a Tester should haveImportant skills a Tester should have
Important skills a Tester should have
 
Agile testing: from Quality Assurance to Quality Assistance
Agile testing: from Quality Assurance to Quality AssistanceAgile testing: from Quality Assurance to Quality Assistance
Agile testing: from Quality Assurance to Quality Assistance
 
Agile testing guide_2021
Agile testing guide_2021Agile testing guide_2021
Agile testing guide_2021
 
Exploratory testing and Dev Ops - best friends?
Exploratory testing and Dev Ops - best friends?Exploratory testing and Dev Ops - best friends?
Exploratory testing and Dev Ops - best friends?
 
No more excuses QASymphony
No more excuses QASymphonyNo more excuses QASymphony
No more excuses QASymphony
 

Similar to DevOps Test Engineering - Marc Hornbeek - July 2017

How to Fit Performance Testing into a DevOps Environment
How to Fit Performance Testing into a DevOps EnvironmentHow to Fit Performance Testing into a DevOps Environment
How to Fit Performance Testing into a DevOps EnvironmentNeotys
 
DevOps_service.pptx
DevOps_service.pptxDevOps_service.pptx
DevOps_service.pptxphamvinhcntt
 
Testing in DevOps world
Testing in DevOps worldTesting in DevOps world
Testing in DevOps worldMoataz Nabil
 
DevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the AutomationDevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the AutomationKeith Pleas
 
Testing in the new age of DevOps
Testing in the new age of DevOpsTesting in the new age of DevOps
Testing in the new age of DevOpsMoataz Mahmoud
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own wordsSUBHENDU KARMAKAR
 
The Journey to DevOps #MFSummit2017
The Journey to DevOps #MFSummit2017The Journey to DevOps #MFSummit2017
The Journey to DevOps #MFSummit2017Micro Focus
 
Patterns and Practices of a Successful DevOps Transformation
Patterns and Practices of a Successful DevOps TransformationPatterns and Practices of a Successful DevOps Transformation
Patterns and Practices of a Successful DevOps TransformationChef
 
Best Practices & Tools for DevOps Testing Strategy.pdf
Best Practices & Tools for DevOps Testing Strategy.pdfBest Practices & Tools for DevOps Testing Strategy.pdf
Best Practices & Tools for DevOps Testing Strategy.pdfRohitBhandari66
 
Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree
Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree	Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree
Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree AnikeyRoy
 
Software architecture in a DevOps world
Software architecture in a DevOps worldSoftware architecture in a DevOps world
Software architecture in a DevOps worldBert Jan Schrijver
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Developmentnikhil sreeni
 
26.1a.Introduction to DEVOPS_v2.pptx
26.1a.Introduction to DEVOPS_v2.pptx26.1a.Introduction to DEVOPS_v2.pptx
26.1a.Introduction to DEVOPS_v2.pptxPanos Fitsilis
 
Stc 2016 regional-round-ppt-automation testing with devops in agile methodolgy
Stc 2016 regional-round-ppt-automation testing with devops in agile methodolgyStc 2016 regional-round-ppt-automation testing with devops in agile methodolgy
Stc 2016 regional-round-ppt-automation testing with devops in agile methodolgyArchana Krushnan
 
The Road to DevOps V3
The Road to DevOps V3The Road to DevOps V3
The Road to DevOps V3Ahmed Misbah
 
DevOps with Microsoft Stack
DevOps with Microsoft StackDevOps with Microsoft Stack
DevOps with Microsoft StackDeepti Jain
 
Best Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBest Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBitbar
 

Similar to DevOps Test Engineering - Marc Hornbeek - July 2017 (20)

How to Fit Performance Testing into a DevOps Environment
How to Fit Performance Testing into a DevOps EnvironmentHow to Fit Performance Testing into a DevOps Environment
How to Fit Performance Testing into a DevOps Environment
 
DevOps_service.pptx
DevOps_service.pptxDevOps_service.pptx
DevOps_service.pptx
 
Testing in DevOps world
Testing in DevOps worldTesting in DevOps world
Testing in DevOps world
 
DevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the AutomationDevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the Automation
 
Testing in the new age of DevOps
Testing in the new age of DevOpsTesting in the new age of DevOps
Testing in the new age of DevOps
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
 
Introducing DevOps
Introducing DevOpsIntroducing DevOps
Introducing DevOps
 
Introduction to devops
Introduction to devopsIntroduction to devops
Introduction to devops
 
The Journey to DevOps #MFSummit2017
The Journey to DevOps #MFSummit2017The Journey to DevOps #MFSummit2017
The Journey to DevOps #MFSummit2017
 
Patterns and Practices of a Successful DevOps Transformation
Patterns and Practices of a Successful DevOps TransformationPatterns and Practices of a Successful DevOps Transformation
Patterns and Practices of a Successful DevOps Transformation
 
An introduction to DevOps
An introduction to DevOpsAn introduction to DevOps
An introduction to DevOps
 
Best Practices & Tools for DevOps Testing Strategy.pdf
Best Practices & Tools for DevOps Testing Strategy.pdfBest Practices & Tools for DevOps Testing Strategy.pdf
Best Practices & Tools for DevOps Testing Strategy.pdf
 
Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree
Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree	Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree
Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree
 
Software architecture in a DevOps world
Software architecture in a DevOps worldSoftware architecture in a DevOps world
Software architecture in a DevOps world
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
26.1a.Introduction to DEVOPS_v2.pptx
26.1a.Introduction to DEVOPS_v2.pptx26.1a.Introduction to DEVOPS_v2.pptx
26.1a.Introduction to DEVOPS_v2.pptx
 
Stc 2016 regional-round-ppt-automation testing with devops in agile methodolgy
Stc 2016 regional-round-ppt-automation testing with devops in agile methodolgyStc 2016 regional-round-ppt-automation testing with devops in agile methodolgy
Stc 2016 regional-round-ppt-automation testing with devops in agile methodolgy
 
The Road to DevOps V3
The Road to DevOps V3The Road to DevOps V3
The Road to DevOps V3
 
DevOps with Microsoft Stack
DevOps with Microsoft StackDevOps with Microsoft Stack
DevOps with Microsoft Stack
 
Best Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBest Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App Testing
 

More from Marc Hornbeek

Continuous Testing Landscape.pptx
Continuous Testing Landscape.pptxContinuous Testing Landscape.pptx
Continuous Testing Landscape.pptxMarc Hornbeek
 
DevOps_the_Gray Predictions for 2020
DevOps_the_Gray Predictions for 2020DevOps_the_Gray Predictions for 2020
DevOps_the_Gray Predictions for 2020Marc Hornbeek
 
Value stream mapping for DevOps
Value stream mapping for DevOpsValue stream mapping for DevOps
Value stream mapping for DevOpsMarc Hornbeek
 
Rapid Strategic SRE Assessments
Rapid Strategic SRE AssessmentsRapid Strategic SRE Assessments
Rapid Strategic SRE AssessmentsMarc Hornbeek
 
Engineering DevOps and Cloud
Engineering DevOps and CloudEngineering DevOps and Cloud
Engineering DevOps and CloudMarc Hornbeek
 

More from Marc Hornbeek (6)

Continuous Testing Landscape.pptx
Continuous Testing Landscape.pptxContinuous Testing Landscape.pptx
Continuous Testing Landscape.pptx
 
Feature Flags.pdf
Feature Flags.pdfFeature Flags.pdf
Feature Flags.pdf
 
DevOps_the_Gray Predictions for 2020
DevOps_the_Gray Predictions for 2020DevOps_the_Gray Predictions for 2020
DevOps_the_Gray Predictions for 2020
 
Value stream mapping for DevOps
Value stream mapping for DevOpsValue stream mapping for DevOps
Value stream mapping for DevOps
 
Rapid Strategic SRE Assessments
Rapid Strategic SRE AssessmentsRapid Strategic SRE Assessments
Rapid Strategic SRE Assessments
 
Engineering DevOps and Cloud
Engineering DevOps and CloudEngineering DevOps and Cloud
Engineering DevOps and Cloud
 

Recently uploaded

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
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
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
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
 

Recently uploaded (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
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
 
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
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
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
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
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
 

DevOps Test Engineering - Marc Hornbeek - July 2017

  • 1. DevOps Test Engineering Marc Hornbeek 1 http://devopsinstitute.com
  • 2. Marc Hornbeek DevOps_The_Gray Marc Hornbeek “DevOps_The_Gray” 2 https://www.linkedin.com/in/marchornbeek Trace3.com DevOpsInstitute.com DevOps.com www.ieee.org Principal Consultant DevOps Course Author IEEE Region 6 Engineer of 2016 Blogger https://devops.com/author/marc-hornbeek/
  • 3. Marc Hornbeek DevOps_The_Gray 3 • What is DevOps test engineering? • Why is DevOps test engineering important? • DevOps test engineering strategies and best practices • Benefits of DevOps testing engineering • References to learn more
  • 4. Marc Hornbeek DevOps_The_Gray “Culture is the door to DevOps… …but ... Continuous Testing is the primary key... to Continuous Delivery ”
  • 5. Marc Hornbeek DevOps_The_Gray Test Engineering is the “magical” ingredient that enables DevOps Test verdict data enables assessment for artifact stage promotions Best practices are the secret to success
  • 6. Marc Hornbeek DevOps_The_Gray Testing maturity is a key differentiator of DevOps maturity. DevOps testing is different than traditional QA !
  • 7. Marc Hornbeek DevOps_The_Gray Testing scope is end-to-end, and continuous across the pipeline DevOps testing is not a phase between integration and delivery
  • 8. Marc Hornbeek DevOps_The_Gray DevOps Testing Differentiators • Continuous quality assessment for each pipeline stage • Most tests are automated from the beginning • Tests are integrated within all stages of the DevOps toolchain • A production equivalent test environment is used for each stage Pre-Flight CI CD DevOps Testing
  • 9. Marc Hornbeek DevOps_The_Gray Assessments performed “continuously” on incremental changes determine if artifacts from each stage are accepted or rejected.
  • 10. Marc Hornbeek DevOps_The_Gray Rejected Artifacts Changed artifacts are “rejected” according to test acceptance criterion Rejected changes are immediately analyzed and remediation is scheduled Serious changes: halt the pipeline until the rejected change is either removed (called a roll-back) or remedied (i.e. resolved) Less serious changes: promote to the next stage and remedy later
  • 11. Marc Hornbeek DevOps_The_Gray Pre-Flight Testing Pre-Flight testing refers to assessment of design and software code prior to the trunk integration stage Consequences if not done correctly: • Errors integrated into the DevOps pipeline have negative “ripple” effects on the later DevOps pipeline stages • Interruptions with urgent corrective work required to remedy problems Integrate to main trunk branch Test Test Test
  • 12. Marc Hornbeek DevOps_The_Gray Production Equivalent Test Environment The test environment refers to combinations of use cases, environment, systems and configurations in which tests are performed. DevOps tests, including Pre-Flight tests, should be performed in a test environment that is equivalent to the production environment of customer deployments. Use Cases (types of users and workflows) Environment (external conditions) Systems (Operating systems and versions) Configuration (system topologies, data)
  • 13. Marc Hornbeek DevOps_The_Gray Culture is the #1 critical success factor • “Quality is everyone’s responsibility.” • W. Edwards Deming Ph.D. • In 2009 Patrick Dubois, a Quality Assurance (QA) consultant, conceived DevOps as a way to bring Dev and Ops teams closer together • Roles for individuals are not prescribed • Cross-functional team owns testing • Team agrees who will perform test tasks
  • 14. Marc Hornbeek DevOps_The_Gray DevOps Testing Strategy • Testing is integrated into the toolchain • Test environment is orchestrated • Tests are automated as much as possible • Accelerate tests as much as possible Integrat e Orchestrat e Automate Accelerate
  • 15. Marc Hornbeek DevOps_The_Gray Five Tenets of DevOps Testing • Shift Left: Conduct tests as early as possible • Fail Early: Test for most likely problems first • Fail Often: Test frequently with different conditions • Test Fast: Arrange tests to run in quick cycles Test fast DevOps Test Tenets
  • 16. Marc Hornbeek DevOps_The_Gray Integrated DevOps test infrastructures DevOps testing is fully integrated to support relevant and timely assessments for each DevOps stage For each DevOps stage tests are automatically triggered from the DevOps toolchain DevOps test assessment for each stage provides feedback to support DevOps workflow decisions
  • 17. Marc Hornbeek DevOps_The_Gray Test Environment Orchestration and Test Automation Environment orchestration: Automatically setup the test environment and resources (physical and virtual) to match the requirements of a test, and release resources after tests are done. Test automation: Execute test tasks without manual work required
  • 18. Marc Hornbeek DevOps_The_Gray A/B Test Strategy Some test cases such as usability testing require a human user to assess a change. Feature toggles allow changes to be selectively exposed to predetermined “trial” customers, thereby enabling controlled customer evaluations of features and alternative designs.
  • 19. Marc Hornbeek DevOps_The_Gray Blue - Green Test Strategy • Two identical production environments • At any given time, one of them is live • If blue is live, final stage testing should be done in the green environment (or vice versa) • When the software works in the green environment, switch the router so that all incoming requests go to the green environment. The blue environment is now idle • Blue-green deployment provides a rapid way to rollback the router to Taking software from the final stage of testing to live production needs to be done quickly to minimize downtime Reference: http://martinfowler.com/bliki/BlueGreenDeployment.html
  • 20. Marc Hornbeek DevOps_The_Gray Canary Test Strategy • A canary test is a push of code changes to a small number of unsuspecting end users • The goal is to ensure changes are transparent and work in the real environment • Canary tests offer limited production level testing and early warning of possible errors The term “canary” refers to an old practice that used canaries to alert miners to toxic gas levels. Reference: http://whatis.techtarget.com/definition/canary-canary
  • 21. Marc Hornbeek DevOps_The_Gray DevSecOps • Develop expertise in DevSecOps testing • Include security experts in DevOps testing • Partner with security experts to train others • Use security-ready test tools which support automation • Static code analysis during pre- flight and continuous integration builds • Penetration testing during integration and functional Integrate security testing throughout the DevOps pipeline
  • 22. Marc Hornbeek DevOps_The_Gray Microservices Test Strategy What to test: • APIs, Contracts • Dependencies • Cascading failures • Changes that affect the allocation of responsibilities between microservices • Backwards and forwards compatibility policies for microservices
  • 23. Marc Hornbeek DevOps_The_Gray Test Container • Does not contain application code • Contains testing tools, testing tool runtime images, test environment configuration, environment variables, config files, bootstrap scripts, tests, test data and a test startup script • Works in all environments: pre-flight/Dev, integration, staging and production • Deployed as micros-services • Reduces footprint and dependencies between microservices • Can always go back in time and rerun a specific version
  • 24. Marc Hornbeek DevOps_The_Gray Test Acceleration Strategy • Organize the team for speed • Select powerful resources (Vertical scaling) • Run more tests in parallel (Horizontal scaling) • Choose test tools designed for fast execution • Organize test schedules and test suites to fail early • Design test cases to fail early • Arrange test results to minimize wait times https://devops.com/continuous- testing-accelerated/ Testing needs to keep up with the ever increasing demand for speed.
  • 25. Marc Hornbeek DevOps_The_Gray Test Results Analysis Strategy • Determine clear responsibilities and SLAs • Design test scripts for efficient results analysis • Choose tools designed for fast results analysis • Configure tools to process results as available • Configure workflows for optimum analysis https://devops.com/test- results-analysis-speed-devops/ Ensure test results analysis keeps pace with accelerated continuous testing
  • 26. Marc Hornbeek DevOps_The_Gray Test Coverage Strategy Strategies: • Requirements coverage: % of requirements • Test plan coverage*: % of planned test cases • Code coverage: % of code lines or paths • Function coverage: % of functions • Artifacts coverage: % of build artifacts • Code module coverage: % of source code modules • Dependencies coverage: % of dependencies % of tests run and passed, relative to a coverage strategy indicates readiness for release. *Test plan coverage is the most popular, flexible and simplest to measure.
  • 27. Marc Hornbeek DevOps_The_Gray DevOps-Ready Test Tools • RESTful APIs (configure, control, report) • Framework plug-ins (e.g. Jenkins) • Virtual / cloud compatible • Dynamically scalable • Test automation features Easy to integrate into a DevOps testing framework and dynamically scale using cloud computing techniques and automate tests. Warning!
  • 28. Marc Hornbeek DevOps_The_Gray DevOps Test Planning Best Practices Yes, test plans are needed for DevOps • Separate test plans need not be written for every change • Test plans provide overall guidance for product test strategies and policies • Define the strategy/contract for measuring test coverage
  • 29. Marc Hornbeek DevOps_The_Gray DevOps Pipeline Test Strategy
  • 30. Marc Hornbeek DevOps_The_Gray DevOps Regression Test Best Practices • Regression tests are identified during test planning • Test selection is dynamic. Only tests that are relevant to the changes are selected • Test reporting is dynamic. Only test results that are relevant to a stakeholder are reported to the stakeholder • New or updated regression tests are determined for each customer found defect test escape • Tests are maintained in a version management system • Regression tests that report false failures
  • 31. Marc Hornbeek DevOps_The_Gray Test Automation Creation Strategies There are a variety of methods for creating automated tests: • Scripting automated tests • Keyword-driven tests • Interactive Capture/replay tests • Test driven development (TDD) • Model-based tests • Behavior-based tests
  • 32. Marc Hornbeek DevOps_The_Gray Test Management Database (TMDB) Best configured as a microservice so the database can be used for test selection and analysis application within a DevOps pipeline Test scripts are usually not kept in this database. They are usually kept in a source code management system Repository for meta data that describes tests, test schedules and test results. Examples of meta data may include description of the test, attributes or tags that describe the purpose and version of a test and test results, the time to execute a test, and verdict history.
  • 33. Marc Hornbeek DevOps_The_Gray Benefits of DevOps Testing Business • Reduce time-to-market • Improved quality • Reduced costs • Improved innovation • Team benefits Team • More interesting and creative work • Pride of workmanship • Timely recognition
  • 34. Copyright 123RF Stock Photo Consequences of Not Doing DevOps Testing Properly • Culture conflicts • Test escapes, false positives • False negative test results • Increased competition
  • 35. DevOps Testing Engineer Certificate Course 35 http://devopsinstitute.com/wp-content/uploads/2017/07/DOI-DevOps- Test-Engineering-170712.pdf • The purpose, benefits, concepts and vocabulary of DevOps testing • How DevOps testing differs from other types of testing • DevOps testing strategies, test management and results analysis strategies for selecting test tools and implementing test automation • Integration of DevOps testing into Continuous Integration and Continuous Delivery workflows • How DevOps testers fit with a DevOps culture, organization and roles
  • 36. Marc Hornbeek DevOps_The_Gray Marc Hornbeek “DevOps_The_Gray” 36 https://www.linkedin.com/in/marchornbeek https://devops.com/author/marc-hornbeek/ THANK-YOU Trace3.com DevOpsInstitute.com DevOps.com www.ieee.org

Editor's Notes

  1. .
  2. Key Concepts Walk through the slide , Discuss answers with class Culture conflicts between business leaders, developers, QA testers, infrastructure/tools staff, and operations staff occur when DevOps testing roles and responsibilities are not clear. Test escapes and false positives occur when the DevOps testing strategy is not optimized across the DevOps pipeline because tests may not be sufficient to catch defects before the next stage in the pipeline, ultimately resulting in problems deployed to customers. False negative test results occur when DevOps testing infrastructure failures incorrectly attribute DevOps testing failures to product failures, resulting in unnecessary, wasteful product failure diagnostic activities. Increased competition occurs when the competitor realizes a more efficient DevOps testing capability and out-performs a competitor. Suggested class discussions: Other consequences of improper DevOps testing? Examples of real-world problems caused by poor testing?
  3. .