SlideShare a Scribd company logo
CD test strategies
1
26 October 2017, Hylke Stapersma, @hylke1982
2
AGENDA
CD test strategies
Why continuous delivery
Why (automatic) testing
CI/CD Testing strategy
Functional testing strategies
Non functional testing strategies
Hylke Stapersma
Software
craftsman, Java,
CI/CD, DevOps.
Streaming data
3
Personal introduction
4
Why continuous delivery
Code is value
Every line of code should be focused on delivering
value as soon as possible. This means the code
should be delivered to the end-user within the smallest
time window possible.
5
Why continuous delivery
Small increments
Take small steps that can be released more often,
instead of big steps that have a high risk of failing.
6
Why continuous delivery
Higher quality & quality build in
Automation makes process more reliable, instead of
having a human making mistakes automation needs to
be setup once right instead.
7
Why continuous delivery
Faster time to market
Software only makes money in production, this can
only be done with a strategy that delivers software
automatically as fast as possible. Reliable delivery is
key here.
8
Why continuous delivery
Faster feedback
Almost know instantly if the software has defects and
get notified on these defects.
9
Why continuous delivery
Chain of trust
Every step/test will add (automatically) add trust to a
version of a application.
10
Why continuous delivery
11
Why (automatic) testing
End-user should not experience defects
End-users who experience defects in a production
environment will loose confidence in the product. Trust
is key in making or saving money with software.
12
Why (automatic) testing
Find defects early
How sooner a defect is found how cheaper it will be to
fix it. A defect in production can have severe cost and
cause reputation damages.
13
Why (automatic) testing
Documentation
Tests descriptions and results are great ways to
document how the system supposed to work.
Automation can give the ability to create this
completely automatically.
14
Why (automatic) testing
Ready for refactoring
Having a automated test setup gives confidence to
refactor and find regression problems when changing
the software.
15
Why (automatic) testing
Performance
Being able to say something about how the system is
going to performance under certain loads instead of
finding it out by end-users.
16
Why (automatic) testing
Security
Find security problems in early stage. Security
problems can lead up to penalties and reputation
damages.
17
Why (automatic) testing
18
CI/CD testing strategy
Automate everything
Automation is a great way to eliminate unnecessary
manual repetitions. Run all tests with a minimal set of
commands.
19
CI/CD testing strategy
Code and version everything
Writing tests as code offers a great way to collaborate
as a team, because code can be versioned, reviewed
and changed by multiple versions.
20
CI/CD testing strategy
Adopt TDD strategy
Write tests before writing code. This helps to get a
better understanding of the problem, and code is
covered by test before being written.
21
CI/CD testing strategy
Align
Choose a test framework that aligns with the solution
being build. For example choose the same
programming language for application and tests.
22
CI/CD testing strategy
Automate documentation
Every step that runs test should create documentation
automatically, use, share and distribute this
documentation in a automated fashion.
23
CI/CD testing strategy
Fail fast – fail early
Validate if every condition is met before starting
‘expensive’ tests. For example see if application is
available or there is enough disk space.
24
CI/CD testing strategy
25
Functional testing
strategy
Test pyramid
Use the testing pyramid for a fast but complete test
setup. Try to cover almost everything with ‘cheap’ unit
tests and only do ’expensive’ the necessary
functional/acceptance tests.
26
Functional testing strategy
Unit testing
One unit tests should focus a single atomic part of the
application in a certain state. (good practice is one
assert per test). Execute thousands per second and
use a TDD approach.
27
Functional testing strategy
Mutation testing
To validate the validity of unit test use mutation testing.
See if tests fail when a line of code is changed. Will
prove the strength of the unit tests.
28
Functional testing strategy
Property based testing
Instead of example use properties to validate. For
example everything in a range is true. This will validate
the range.
29
Functional testing strategy
Integration/component testing
Validate if software components work together.
30
Functional testing strategy
Contract testing
Validate if interfaces are compliant on the server and
on the client side. Share documentation about
assumptions of a API. Use PACT for example.
31
Functional testing strategy
Functional / Acceptance testing
Describe on a high level assumptions how to end-user
will interact with the system. Use a language that can
be understood by machine and humans.
32
Functional testing strategy
Manual testing
Only focus manual testing on things that are hard to
understand for a computer. For example does look
right and does the response feels right.
33
Functional testing strategy
34
Non functional testing
strategy
Security testing
Based on known security issues try to break the
application.
35
Non functional testing strategy
Performance testing
Find the limits, normal behavior, stress behavior and
sizing for the application. Works great by adopting a
cloud strategy.
36
Non functional testing strategy
Compliance testing
Automatically validate if the system is compliant with
internal and external rules.
37
Non functional testing strategy
Chaos monkey / Resilience testing
By introducing stress or failure find weak spots within
a system.
38
Non functional testing strategy
39
Thank you

More Related Content

PPTX
Continuous business goal validation
PPT
Bridging the communication gap
PDF
Achieve Intelligent Test Execution: Strategies for Streamlining Regression Te...
PDF
The Essentials Of Test Driven Development
PDF
Agile Testing - Not Just Tester’s Story _ Dang Thanh Long
PDF
Methodology: IT test
PDF
How testers add value to the organization appium conf
Continuous business goal validation
Bridging the communication gap
Achieve Intelligent Test Execution: Strategies for Streamlining Regression Te...
The Essentials Of Test Driven Development
Agile Testing - Not Just Tester’s Story _ Dang Thanh Long
Methodology: IT test
How testers add value to the organization appium conf

What's hot (19)

PDF
Test Driven Development
PPTX
Cost of defects
PPTX
Unit testing for project managers
PPT
Test-Driven Design - ¿Porqué?
PPTX
ISTQB Foundation Agile Tester 2014 Training, Agile SW Development
PDF
Test-Driven development; why you should never code without it
PDF
Continues Integration for Android
PPT
Agile Testing Process
PPT
Optimizing Your Agile Testing Processes
PDF
Automation testing in Agile project
PPTX
TDD in Agile
PPT
Agile QA and Testing process
PPTX
Why Automated Testing Matters To DevOps
PPTX
Agile Testing - presentation for Agile User Group
PDF
Improving the Quality of Incoming Code
PPS
Test Driven Development by Sameer Arora
PPTX
While You Are Coding
PDF
A Concise QA Process
PDF
Project Delivery
Test Driven Development
Cost of defects
Unit testing for project managers
Test-Driven Design - ¿Porqué?
ISTQB Foundation Agile Tester 2014 Training, Agile SW Development
Test-Driven development; why you should never code without it
Continues Integration for Android
Agile Testing Process
Optimizing Your Agile Testing Processes
Automation testing in Agile project
TDD in Agile
Agile QA and Testing process
Why Automated Testing Matters To DevOps
Agile Testing - presentation for Agile User Group
Improving the Quality of Incoming Code
Test Driven Development by Sameer Arora
While You Are Coding
A Concise QA Process
Project Delivery
Ad

Similar to Continuous delivery test strategies (20)

PDF
How to Attain Business Success with CI_CD Pipeline Automation Testing (1).pdf
PPT
Acceptance Testing Driven Development, TDD
PDF
Increasing Quality with DevOps
PDF
What is Continuous Integration_ - A Comprehensive Guide.pdf
PPT
Test Driven Development - Overview and Adoption
PPT
Software coding and testing
PDF
Combinatorial testing
PDF
Automating Regression Testing in CI_CD.pdf
PPT
Future of QA
PPT
Futureofqa
PPTX
Build And Test Automation - Shortening the Feedback Loop
PDF
CI/CD Test Automation: Key Strategies, Tools, and Challenges
PDF
Automating Regression Testing in CI_CD.pdf
PDF
Continuous Testing Improve Efficiency and Ship Better Software.pdf
PDF
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
PDF
5 Steps to Jump Start Your Test Automation
PDF
Everything You Need to Know About Regression Testing Automation.pdf
PPTX
Automation Best Practices.pptx
PPTX
Software Testing Concepts
PPTX
Automating The Process For Building Reliable Software
How to Attain Business Success with CI_CD Pipeline Automation Testing (1).pdf
Acceptance Testing Driven Development, TDD
Increasing Quality with DevOps
What is Continuous Integration_ - A Comprehensive Guide.pdf
Test Driven Development - Overview and Adoption
Software coding and testing
Combinatorial testing
Automating Regression Testing in CI_CD.pdf
Future of QA
Futureofqa
Build And Test Automation - Shortening the Feedback Loop
CI/CD Test Automation: Key Strategies, Tools, and Challenges
Automating Regression Testing in CI_CD.pdf
Continuous Testing Improve Efficiency and Ship Better Software.pdf
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
5 Steps to Jump Start Your Test Automation
Everything You Need to Know About Regression Testing Automation.pdf
Automation Best Practices.pptx
Software Testing Concepts
Automating The Process For Building Reliable Software
Ad

Recently uploaded (20)

PPTX
Online Work Permit System for Fast Permit Processing
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PPTX
ai tools demonstartion for schools and inter college
PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PDF
AI in Product Development-omnex systems
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Digital Strategies for Manufacturing Companies
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
top salesforce developer skills in 2025.pdf
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
L1 - Introduction to python Backend.pptx
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
System and Network Administraation Chapter 3
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
Online Work Permit System for Fast Permit Processing
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
ai tools demonstartion for schools and inter college
PTS Company Brochure 2025 (1).pdf.......
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
AI in Product Development-omnex systems
Design an Analysis of Algorithms II-SECS-1021-03
Digital Strategies for Manufacturing Companies
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Odoo Companies in India – Driving Business Transformation.pdf
Wondershare Filmora 15 Crack With Activation Key [2025
Which alternative to Crystal Reports is best for small or large businesses.pdf
top salesforce developer skills in 2025.pdf
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
L1 - Introduction to python Backend.pptx
2025 Textile ERP Trends: SAP, Odoo & Oracle
Upgrade and Innovation Strategies for SAP ERP Customers
System and Network Administraation Chapter 3
VVF-Customer-Presentation2025-Ver1.9.pptx

Continuous delivery test strategies

  • 1. CD test strategies 1 26 October 2017, Hylke Stapersma, @hylke1982
  • 2. 2 AGENDA CD test strategies Why continuous delivery Why (automatic) testing CI/CD Testing strategy Functional testing strategies Non functional testing strategies
  • 3. Hylke Stapersma Software craftsman, Java, CI/CD, DevOps. Streaming data 3 Personal introduction
  • 5. Code is value Every line of code should be focused on delivering value as soon as possible. This means the code should be delivered to the end-user within the smallest time window possible. 5 Why continuous delivery
  • 6. Small increments Take small steps that can be released more often, instead of big steps that have a high risk of failing. 6 Why continuous delivery
  • 7. Higher quality & quality build in Automation makes process more reliable, instead of having a human making mistakes automation needs to be setup once right instead. 7 Why continuous delivery
  • 8. Faster time to market Software only makes money in production, this can only be done with a strategy that delivers software automatically as fast as possible. Reliable delivery is key here. 8 Why continuous delivery
  • 9. Faster feedback Almost know instantly if the software has defects and get notified on these defects. 9 Why continuous delivery
  • 10. Chain of trust Every step/test will add (automatically) add trust to a version of a application. 10 Why continuous delivery
  • 12. End-user should not experience defects End-users who experience defects in a production environment will loose confidence in the product. Trust is key in making or saving money with software. 12 Why (automatic) testing
  • 13. Find defects early How sooner a defect is found how cheaper it will be to fix it. A defect in production can have severe cost and cause reputation damages. 13 Why (automatic) testing
  • 14. Documentation Tests descriptions and results are great ways to document how the system supposed to work. Automation can give the ability to create this completely automatically. 14 Why (automatic) testing
  • 15. Ready for refactoring Having a automated test setup gives confidence to refactor and find regression problems when changing the software. 15 Why (automatic) testing
  • 16. Performance Being able to say something about how the system is going to performance under certain loads instead of finding it out by end-users. 16 Why (automatic) testing
  • 17. Security Find security problems in early stage. Security problems can lead up to penalties and reputation damages. 17 Why (automatic) testing
  • 19. Automate everything Automation is a great way to eliminate unnecessary manual repetitions. Run all tests with a minimal set of commands. 19 CI/CD testing strategy
  • 20. Code and version everything Writing tests as code offers a great way to collaborate as a team, because code can be versioned, reviewed and changed by multiple versions. 20 CI/CD testing strategy
  • 21. Adopt TDD strategy Write tests before writing code. This helps to get a better understanding of the problem, and code is covered by test before being written. 21 CI/CD testing strategy
  • 22. Align Choose a test framework that aligns with the solution being build. For example choose the same programming language for application and tests. 22 CI/CD testing strategy
  • 23. Automate documentation Every step that runs test should create documentation automatically, use, share and distribute this documentation in a automated fashion. 23 CI/CD testing strategy
  • 24. Fail fast – fail early Validate if every condition is met before starting ‘expensive’ tests. For example see if application is available or there is enough disk space. 24 CI/CD testing strategy
  • 26. Test pyramid Use the testing pyramid for a fast but complete test setup. Try to cover almost everything with ‘cheap’ unit tests and only do ’expensive’ the necessary functional/acceptance tests. 26 Functional testing strategy
  • 27. Unit testing One unit tests should focus a single atomic part of the application in a certain state. (good practice is one assert per test). Execute thousands per second and use a TDD approach. 27 Functional testing strategy
  • 28. Mutation testing To validate the validity of unit test use mutation testing. See if tests fail when a line of code is changed. Will prove the strength of the unit tests. 28 Functional testing strategy
  • 29. Property based testing Instead of example use properties to validate. For example everything in a range is true. This will validate the range. 29 Functional testing strategy
  • 30. Integration/component testing Validate if software components work together. 30 Functional testing strategy
  • 31. Contract testing Validate if interfaces are compliant on the server and on the client side. Share documentation about assumptions of a API. Use PACT for example. 31 Functional testing strategy
  • 32. Functional / Acceptance testing Describe on a high level assumptions how to end-user will interact with the system. Use a language that can be understood by machine and humans. 32 Functional testing strategy
  • 33. Manual testing Only focus manual testing on things that are hard to understand for a computer. For example does look right and does the response feels right. 33 Functional testing strategy
  • 35. Security testing Based on known security issues try to break the application. 35 Non functional testing strategy
  • 36. Performance testing Find the limits, normal behavior, stress behavior and sizing for the application. Works great by adopting a cloud strategy. 36 Non functional testing strategy
  • 37. Compliance testing Automatically validate if the system is compliant with internal and external rules. 37 Non functional testing strategy
  • 38. Chaos monkey / Resilience testing By introducing stress or failure find weak spots within a system. 38 Non functional testing strategy

Editor's Notes

  • #7: Build up software and gather feedback
  • #35: Baseline testing Compliance testing Documentation testing Endurance testing Load testing Localization testing and Internationalization testing Performance testing Recovery testing Resilience testing Security testing Scalability testing Stress testing Usability testing Volume testing