As the year
2021 marks the continuation of tremendous changes in technology and the digital
world, it is a must the organizations to continuously innovate and revamp
themselves in order to long-term survival. With this never ending rapid
process, specially the IT organizations all over the world need to make sure
the quality of their products according to the speed of these changes.
According to
the statistics, roughly 30% of the total project effort, software testing is an
important focus for changes and improvements. Hence software testing practices
and tools need to evolve to cope up with the rapidly changing technology in
order to achieve the “Quality at Speed” concept. Based on the top trends of the
software testing and which have already emerged over the past few years, AGILE
AND DEVOPS is one of the most noticeable trend among others where software
development industry has embraced for their betterment and the long term
survival.
Agile and DevOps
“Dev Ops 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.”
In simple terms, DevOps includes practices, rules, processes and
tools which help to integrate development and operations activities to reduce
the time from development to operations. Because of this advantage, DevOps has
become a widely accepted solutions for organizations which are searching for ways
to shorten the software life cycle from development to testing to delivery and
operations.
As mentioned above DevOps is not just about tools and it includes
another two aspects along with the tools. They are
People: Obviously
it is very important to train and build a highly motivate team of people to be
able to effectively communicate and collaborate this cultural change which is
taking place in an organization.
Process: Since
this is considered as a cultural change, the DevOps implementation is necessary
to have the best set of practices and strategies which provide value to the
customer as well as the organization.
Tools: This is
about the using the accelerators by automating the process using DevOps tools
that are available today. The tools could be Open-Source tools such as Git,
Genkins. Commercial tools such as IBM, Microsoft TFS, Rational, Jira or a mix
of both.
Components of DevOps
There are four components of DevOps
- Continuous Integration
- Continues Delivery
- Continuous Testing
- Continuous Monitoring
Continuous Integration
Continuous Integration is the phase in the software development
cycle where source code form different team members or different features are
integrated together. This usually involves merging code (integration), building
the application carrying out basic tests within the dev environment.
Also this practice helps to detect issues early as possible and
ensure that all the modules which are integrated, work as requested.
Below is the visual representation of typical Continuous
Integration process
Continuous Delivery
This is an extension of continuous integration since it
automatically deploys all the code changes to a testing or production
environment after build stage. In this process teams have an automated release
process on top of the automation testing where you can deploy the application
any time by clicking a button.
Below is a sample Continuous Delivery workflow
Continuous Testing
Continuous Testing involves running various types of automated
tests on the software at every stage of the software development life cycle in
support of better speed and efficiency when managing deployments.
CT is a critical driver behind the effectiveness of Continuous
Integration/ Continuous Delivery processes and plays a crucial role in
accelerating SDLC time lines by improving code quality, avoiding costly
bottlenecks and expediting DevOps process.
Once the integration and tests work without any issues, then the
application or the changes are deployed to the QA environment. In the QA
environment, the functional tests are run and after approvals it would be
deployed in Staging environment where it has the same environment like
production and acceptance tests run. Once this activity is completed, the
application or changes finally deployed in the production environment.
Below is a sample testing workflow in the Continuous Testing
Process
Continuous Monitoring
After the application or changes are deployed to the production
environment, the operation team will have a closer look to monitor the
application and its environment based on up-time, stability, availability etc.
This activity called as the Continuous Monitoring.
Infrastructure, environment, and application issues are all that
monitored in the process of continuous monitoring.
Comments
Post a Comment