QA role in DevOps world
➢ 6+ years in Quality Assurance
➢ QA Competency Lead at Altexsoft
➢ Passionate about new technologies and
DevOps
https://www.linkedin.com/in/ihor--pavlenko/
What is DevOps?
● DevOps is a set of practices focused on improving intersection/relationship
between software development and IT operations teams.
● It is enabled through the use of technologies that automate activities,
including building, testing, and delivering software to create smaller, lower
risk feedback loops related to software engineering
● ...and lots of benefits ;)
DevOps cycle
Agile vs DevOps
Design Code Test Deploy
Code Test Code Test
Design
Agile
DevOps
The problem itself
● How to keep quality on a high level?
● How to reduce bottleneck in testing activities?
● How to track product quality continuously?
● How to increase success releases rate?
Shift Left?
The Shift Left testing approach uses the ‘test early and often’ mantra to perform
testing earlier in the SDLC (thereby moving left on the project timeline).
Plan Branch Code Merge Build
Testing
Shift Left?
In short, Shift Left process involves:
● Testing early and testing often to reduce the overall cost of project and
maintain quality
● Testing continuously with a shorter feedback loop to avoid resolving defects
in the end
● To automate everything and improve time to market
● To design for customer requirements and improve the overall customer
experience
Shift Right?
The Shift Right approach in DevOps testing enables you to test in production,
and prepare for the undefined, unknown, and unexpected.
Release Deploy Operate Monitor Support
Testing
Shift Right?
In short, Shift Right process involves:
• Testing in the production environment to ensure product stability and
performance in real word scenarios
• You can receive feedback and reviews from targeted users to ensure
customer satisfaction
• Ability to test usage scenarios and real load levels that aren’t possible to
create in test environment
DevOps cycle?
- UNIT TESTS
- FUNCTIONAL TESTS
- COMPONENT TESTS
- FUZZ TESTS
- STATIC ANALYSIS
- PROPERTY BASED TESTS
- COVERAGE TESTS
- BENCHMARK TESTS
- REGRESSION TESTS
- CONTRACT TESTS
- LINT TESTS
- ACCEPTANCE TESTS
- MUTATION TESTS
- SMOKE TESTS
- UX/UI TESTS
- USABILITY TESTS
- PENETRATION TESTS
- THREAT MODELLING
- INTEGRATION TESTS
- TAP COMPARE
- LOAD TESTS
- SHADOWING
- CONFIG TESTS
- CANARY TESTING
- MONITORING
- TRAFFIC SHAPING
- FEATURE FLAGGING
- EXCEPTION TRACKING
- PROFILING
- LOGS / EVENTS
- CHAOS TESTING
- MONITORING
- A/B TESTS
- TRACING
- DYNAMIC EXPLORATION
- REAL USER MONITORING
- AUDITING
PRE-PRODUCTION TESTING IN PRODUCTION
DEPLOY RELEASE POST RELEASE
How can it be done?
Quality Gates
A Quality Gate is a special milestone. It emphasizes the qualitative aspect of
the results at a defined point in time in a project.
The Quality Gate will be passed when all defined quality criteria are fulfilled and
a committee makes a positive decision on the progress of the project.
So, basically, it allows to understand if a product meets our expectations on
every stage of development.
Quality Gates
● Are created for continuous testing and system status understanding
● Allow to cover both shift-left and shift-right approaches to testing
● Should be wisely chosen for your project
What is important:
● Most of them could be set by developers
● Quality Gates should cover business validation, testing, performance and
security of the product built.
What about automation?
When you are not familiar with automated testing and
someone is talking about DevOps
Automation
DevOps is a culture, that uncovers waste, and eliminates it with progressive approaches of collaboration.
Automation is super important for QA in DevOps.
Automation - is just a tool, that allows to reduce number of waste, and concentrate on really important
things. Though, it is not a silver bullet.
https://www.linkedin.com/pulse/devops-waste-ron-vincent/
CALMS framework
CALMS
CALMS is a framework that assesses a company's ability to adopt DevOps
processes, as well as a way of measuring success during a DevOps
transformation.
Culture
Automation
Lean
Measurement
Sharing
CALMS
Even with the best tools, DevOps is just another buzzword if you don't have the right culture.
1. The primary characteristic of DevOps culture is increased collaboration between the roles of
development and operations
2. An attitude of shared responsibility is an aspect of DevOps culture that encourages closer collaboration.
3. A DevOps culture can’t be built without personal responsibility for the business-result
https://martinfowler.com/bliki/DevOpsCulture.html
CALMS
1. QA Engineer can be a driver of cultural changes in the team
2. QA Engineer’s responsibility is to share understanding about the Product Quality and shared
responsibility for it
3. Culture can be changed step by step
4. A strict following to preliminary agreed processes is one of the steps, that lead to Engineering Culture
growth
https://dzone.com/articles/3-steps-to-create-an-engineering-culture
As a result
As a result
● While DevOps is about business readiness of product - business-oriented mind is required
● DevOps is about automating - QA Engineer has to be familiar with Automation
● DevOps is highly technological - QA Engineer has to be a part of development process, not separated
part
● Quality Control and Assurance in DevOps can be made with Quality Gates - QA Engineer should know
them well
● DevOps is a culture - QA Engineer should be a driver of cultural change in a team
Questions?

ІГОР ПАВЛЕНКО «QA role in DevOps world» Online QADay 2021

  • 1.
    QA role inDevOps world
  • 2.
    ➢ 6+ yearsin Quality Assurance ➢ QA Competency Lead at Altexsoft ➢ Passionate about new technologies and DevOps https://www.linkedin.com/in/ihor--pavlenko/
  • 3.
    What is DevOps? ●DevOps is a set of practices focused on improving intersection/relationship between software development and IT operations teams. ● It is enabled through the use of technologies that automate activities, including building, testing, and delivering software to create smaller, lower risk feedback loops related to software engineering ● ...and lots of benefits ;)
  • 4.
  • 5.
    Agile vs DevOps DesignCode Test Deploy Code Test Code Test Design Agile DevOps
  • 6.
    The problem itself ●How to keep quality on a high level? ● How to reduce bottleneck in testing activities? ● How to track product quality continuously? ● How to increase success releases rate?
  • 9.
    Shift Left? The ShiftLeft testing approach uses the ‘test early and often’ mantra to perform testing earlier in the SDLC (thereby moving left on the project timeline). Plan Branch Code Merge Build Testing
  • 10.
    Shift Left? In short,Shift Left process involves: ● Testing early and testing often to reduce the overall cost of project and maintain quality ● Testing continuously with a shorter feedback loop to avoid resolving defects in the end ● To automate everything and improve time to market ● To design for customer requirements and improve the overall customer experience
  • 11.
    Shift Right? The ShiftRight approach in DevOps testing enables you to test in production, and prepare for the undefined, unknown, and unexpected. Release Deploy Operate Monitor Support Testing
  • 12.
    Shift Right? In short,Shift Right process involves: • Testing in the production environment to ensure product stability and performance in real word scenarios • You can receive feedback and reviews from targeted users to ensure customer satisfaction • Ability to test usage scenarios and real load levels that aren’t possible to create in test environment
  • 14.
  • 15.
    - UNIT TESTS -FUNCTIONAL TESTS - COMPONENT TESTS - FUZZ TESTS - STATIC ANALYSIS - PROPERTY BASED TESTS - COVERAGE TESTS - BENCHMARK TESTS - REGRESSION TESTS - CONTRACT TESTS - LINT TESTS - ACCEPTANCE TESTS - MUTATION TESTS - SMOKE TESTS - UX/UI TESTS - USABILITY TESTS - PENETRATION TESTS - THREAT MODELLING - INTEGRATION TESTS - TAP COMPARE - LOAD TESTS - SHADOWING - CONFIG TESTS - CANARY TESTING - MONITORING - TRAFFIC SHAPING - FEATURE FLAGGING - EXCEPTION TRACKING - PROFILING - LOGS / EVENTS - CHAOS TESTING - MONITORING - A/B TESTS - TRACING - DYNAMIC EXPLORATION - REAL USER MONITORING - AUDITING PRE-PRODUCTION TESTING IN PRODUCTION DEPLOY RELEASE POST RELEASE
  • 16.
    How can itbe done?
  • 17.
    Quality Gates A QualityGate is a special milestone. It emphasizes the qualitative aspect of the results at a defined point in time in a project. The Quality Gate will be passed when all defined quality criteria are fulfilled and a committee makes a positive decision on the progress of the project. So, basically, it allows to understand if a product meets our expectations on every stage of development.
  • 19.
    Quality Gates ● Arecreated for continuous testing and system status understanding ● Allow to cover both shift-left and shift-right approaches to testing ● Should be wisely chosen for your project What is important: ● Most of them could be set by developers ● Quality Gates should cover business validation, testing, performance and security of the product built.
  • 20.
  • 21.
    When you arenot familiar with automated testing and someone is talking about DevOps
  • 22.
    Automation DevOps is aculture, that uncovers waste, and eliminates it with progressive approaches of collaboration. Automation is super important for QA in DevOps. Automation - is just a tool, that allows to reduce number of waste, and concentrate on really important things. Though, it is not a silver bullet. https://www.linkedin.com/pulse/devops-waste-ron-vincent/
  • 23.
  • 24.
    CALMS CALMS is aframework that assesses a company's ability to adopt DevOps processes, as well as a way of measuring success during a DevOps transformation. Culture Automation Lean Measurement Sharing
  • 25.
    CALMS Even with thebest tools, DevOps is just another buzzword if you don't have the right culture. 1. The primary characteristic of DevOps culture is increased collaboration between the roles of development and operations 2. An attitude of shared responsibility is an aspect of DevOps culture that encourages closer collaboration. 3. A DevOps culture can’t be built without personal responsibility for the business-result https://martinfowler.com/bliki/DevOpsCulture.html
  • 26.
    CALMS 1. QA Engineercan be a driver of cultural changes in the team 2. QA Engineer’s responsibility is to share understanding about the Product Quality and shared responsibility for it 3. Culture can be changed step by step 4. A strict following to preliminary agreed processes is one of the steps, that lead to Engineering Culture growth https://dzone.com/articles/3-steps-to-create-an-engineering-culture
  • 27.
  • 28.
    As a result ●While DevOps is about business readiness of product - business-oriented mind is required ● DevOps is about automating - QA Engineer has to be familiar with Automation ● DevOps is highly technological - QA Engineer has to be a part of development process, not separated part ● Quality Control and Assurance in DevOps can be made with Quality Gates - QA Engineer should know them well ● DevOps is a culture - QA Engineer should be a driver of cultural change in a team
  • 29.