0% found this document useful (0 votes)
129 views9 pages

Knowledge Sharing Presentation 2020

This document provides an introduction to DevOps, including its definition and key components. DevOps aims to bridge the gap between development and operations teams through continuous integration, delivery, testing, and monitoring. It emphasizes automation and collaboration between teams. The four main components discussed are continuous integration, continuous delivery, continuous testing, and continuous monitoring. The role of quality assurance changes in DevOps to focus more on test automation, standardizing environments, and aligning with continuous integration and delivery processes. DevOps requires high coordination between functions and porous boundaries between roles.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
129 views9 pages

Knowledge Sharing Presentation 2020

This document provides an introduction to DevOps, including its definition and key components. DevOps aims to bridge the gap between development and operations teams through continuous integration, delivery, testing, and monitoring. It emphasizes automation and collaboration between teams. The four main components discussed are continuous integration, continuous delivery, continuous testing, and continuous monitoring. The role of quality assurance changes in DevOps to focus more on test automation, standardizing environments, and aligning with continuous integration and delivery processes. DevOps requires high coordination between functions and porous boundaries between roles.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 9

WELCOME TO

KNOWLEDGE SHARING 2020

TOPIC:

DEVOPS
1.1.1 Introduction to DevOps

DevOps is not just about tools but it also includes a set of best practices that enables to
bridge the gap between the development and operations teams in the areas of continuous
integration and deployment by using an integrated set of tools to automate the software
delivery.

DevOps – is a combination of Development & Operations – it is a Software Development


methodology that looks to integrate all the Software Development functions from
development to operations within the same cycle.
This calls for a higher level of coordination within the various stakeholders in the software
development process (namely Development, QA & Operations).

An ideal DevOps cycle would start from:

 The Dev writing code


 Building & deploying binaries in a QA environment
 Executing test cases and finally
 Deploying onto Production in one smooth integrated flow.

Obviously, this approach places a great emphasis on automation of Build, Deployment, and
Testing. Use of Continuous Integration (CI) tools, Automation Testing tools become a norm
in a DevOps cycle.
1.1.2 Is DevOps only about Tools?
In a way, you may argue that to implement DevOps you need tools. It is true but tools are
only accelerators.

But actually, it is about the following 3 aspects:

People: It is very important to train and have a highly motivated team of people to be able to
effectively communicate and collaborate through this entire journey of cultural change.

Process: As we are talking about cultural change for DevOps implementation it is very
much a necessity to have practices and strategies which provide value to the customer.

Tools: 

Finally, it is about using the accelerators by automating the process using standard DevOps
tools that are available today. It could be Open-Source (Jenkins, Git etc.), Commercial
(Microsoft TFS, VSTS, IBM Rational, Jira etc.) or a mix of both.
1.1.3 Components of DevOps
Let’s now look at the following 4 components of DevOps which form the core from an
implementation point of view where organizations have developed good automation
frameworks around the same offering it as a service to their clients:

 Continuous Integration
 Continuous Testing
 Continuous Delivery
 Continuous Monitoring

1.1.3.1 #1) Continuous Integration

1.1.3.2 #2) Continuous Delivery


Continuous Delivery is the next step after Continuous integration. The goal of Continuous
Delivery is to push the application built into production as quickly as possible. During this
process, it goes through various stages in the lifecycle of delivery i.e. QA, Staging,
Production environments etc.
This process of regularly delivering the applications built into various stages is known as
Continuous Delivery.

1.1.3.3 #3) Continuous Testing

From the above two practices, we came to know that CI and CD help to deploy the
application or changes to the production. This whole process involves proper validation of
code and its integration with all the components involved in it to ensure that the application
works as envisaged and is free of bugs or defects.

So Continuous Testing is the process of running various types of automated tests starting
with CI process till the time the application is finally deployed to production.
1.1.3.4 #4) Continuous Monitoring
As the application or changes are deployed to the production environment the operations
team will look to monitor the application and environment from an up-time, stability,
availability point of view. This process is known as Continuous monitoring.

The operations teams will have their own software’s to monitor the environment but will also
need to play their part to monitor the applications deployed for any issues. For this, they
would need to work with the development teams in order to build certain tools for analyzing
the application issues.

So infrastructure, environment, and applications issues are all that monitored in the process
of continuous monitoring.

1.1.4 How DevOps will Impact QA Testing

In a pure DevOps world, Quality Assurance is no longer the gatekeeper between


development and operations – the bottleneck. QA is an enabler (remember everyone
contributes to raising the child). On one side, QA works together with development in
trying to push more of their tests into the continuous integration system.
1.1.5 Changed Role of QA in DevOps

Traditionally, QA would get a build which is deployed in their designated environment and
QA would then commence their Functional & Regression testing. The build would ideally sit
with the QA for a couple of days before the QA sign-off on the build. All these steps change
in DevOps.

QA changes for DevOps Testing:

 QA are required to align their efforts in the DevOps cycle.


 They have to make sure that all their test cases are automated and achieve near
100% code coverage.
 They need to make sure that their environments are standardized and the
deployment on their QA boxes is automated.
 All their pre-testing tasks, cleanups, post-testing tasks, etc. are automated and
aligned with the Continuous Integration cycle.

As already mentioned, DevOps requires a high level of coordination between various


functions of the deliverable chain. This also means that the boundaries between various
roles of contributors in the chain become porous.

DevOps encourages everyone to contribute to the chain. So, amongst other things, a dev
can configure deployments. Deployment engineers can add test cases to the QA repository.
QA Engineers can configure their automation test cases into the DevOps chain.
Collectively, everyone in the chain is responsible for the quality and timeliness of the
deliverables.

1.1.6 DevOps and Test Automation


To achieve such speed and agility, it is important to automate all the testing processes and
configure them to run automatically when the deployment is completed in the QA
environment.

DevOps Testing Strategy: Tips for DevOps Success

 Identify and execute test cases


 Test execution should be shorter
 Identifying affected areas to a particular build
 Achieve near 100% code coverage
 New features need to be formalized with the interim build
 Ensure testing environments are standardized and stable
 Deployments must be automated
 Create test scripts and run with automation
 Parallel execution of tests helps in reducing time-to-live, which in turn is the crux of a
successful DevOps implementation.
 Set up the exit criteria for each run
 Report critical bugs which must be fixed before codes are deployed to production

1.1.7 Summary
Waterfall gave way to V-Model which in turn was replaced by Agile as the preferred choice
for software development.

DevOps is the future. It’s a continuous improvement cycle that software development


models undergo from time-to-time.
.
The concept essentially remains the same. Automation and more automation is the core
of a successful DevOps cycle. But, as a QA you should also be able to draw a line as to
how much automation is too much automation.
THANK YOU

QUESTIONS & ANSWERS

You might also like