You are on page 1of 16

WELCOME TO

 
KNOWLEDGE SHARING 2020
 
  DEVOPS
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.
Is DevOps only about Tools?
• 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 Finally, it is about using the accelerators by automating the process using standard
much a necessity to have practices and Devops tools that are available today. It could be open-source (Jenkins, Git etc.),
strategies which provide value to the customer.
Commercial (Microsoft TFS, VSTS, IBM rational, Jira etc.) Or a mix of both.
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) Continuous Integration
#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.
#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.
#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.
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.
CHANGED ROLE OF QA
IN DEVOPS QA changes for Devops testing:

• QA are required to align their efforts in the Devops cycle.


Traditionally, QA would get a build which is deployed in
• They have to make sure that all their test cases are automated and achieve near 100% code coverage.
their designated environment and QA would then
commence their functional & regression testing. • 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.
The build would ideally sit with the QA for a couple of
days before the QA sign-off on the build. All these steps
As already mentioned, Devops requires a high level of coordination between various functions of the deliverable
change in Devops.
chain.
 

Collectively, everyone in the chain is responsible for the quality and timeliness of the deliverables.
DEVOPS AND TEST
AUTOMATION
Devops testing strategy: tips for Devops success
 

• Identify and execute test cases


• Test execution should be shorter
To achieve such speed and agility, it is • Identifying affected areas to a particular build
important to automate all the testing processes •
Achieve near 100% code coverage

• New features need to be formalized with the interim build


and configure them to run automatically when
• Ensure testing environments are standardized and stable
the deployment is completed in the QA
• Deployments must be automated
environment. • 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
 
 
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.
Q&A

You might also like