Codementor Events

How is Automation Related to DevOps?

Published Jul 12, 2019
How is Automation Related to DevOps?

What is DevOps Automation?

In DevOps, a lot of automation tools are used to automate the non- human steps that are part of the entire SDLC lifecycle. Automation can be achieved using various means of differentphases of the software development and delivery in the DevOps automation services; such as to create builds, to trigger test cases, to deploy the build, to run various other automation scripts. Build tools like Maven and Ant can help automate the build creation. Tools like Puppet and Ansible can be used to automate the configuration management of the entire DevOps consulting services environment setup. Continuous integration tools like Jenkins and Team City can automate various steps of the delivery pipeline execution likewise, the Octopus Deploy and Kubernetes tools that can automate the code deployment steps of the continuous deployment as DevOps solutions. Finally, there are constant monitoring tools like Nagios to automate the server monitoring; in other words, monitoring the different applications that are running on the server.

DevOps Automation testing in SDLC process

Just like the way all the software development and delivery process can be automated, testing during the various stages of the software development process like the Unit Testing, System Integration Testing, Performance testing, Stress Testing, Penetration Testing can be automated. These tests are done at different stages of the software development project. The test automation also includes continuous quality tools that help manage and maintain the code quality aspects of software development tools that allows to automatically check the code coverage, and do automated codes review for the software code.

Below mentioned are some test automation frameworks:

Unit testing frameworks:

  1. ASPUnit
  2. API Sanity Checker
  3. CUnit
  4. CPPUnit
  5. XUnit
  6. HTMLUnit
  7. JUnit
  8. TestNG
  9. Visual Studio Express 2013
  10. PHPUnit
  11. Py.test
  12. SQLUnit
  13. Spock

System Integration Framework:
TestNG
Jasmine
JS
Quality Gate One Studio
tSQLt
Juxy
MOxUnit
NMate

BDD Frameworks:
Libcbdd
CGreen
CATCH
SPOCK
HSpecJSpec
Chai
BusterJS
PHPSpec
ScalaTest
XSpec

Mocking Frameworks:
CGreen
CMocka
OPMock
CxxTest
JMockIt
PowerMock
Enhance PHP

Continuous Testing Tools:

  1. Appium- freely distributed open source mobile application UI testing framework.
  2. Bamboo- ties automated builds, tests and release in a single workflow.
  3. CruiseControl- This is a Java-based framework that helps implement a continuous process and allows performing constant integration of software development process.
  4. Cucumber- A ruby based testing tool.
    GitHub is a staging platform that lets developers edit and put together each other’s code, allocate prototypes and team up on projects.
  5. Jenkins- Continuous integration/ delivery tool that can distribute build/ test loads to multiple computers with different Oss.
  6. Junit- Simple Unit/ Regression Testing framework used by Java developers.
  7. Maven is a tool used for automated build lifecycles via Java, C#, Ruby, Scala and similar languages.
  8. Selenium Automation Framework (SAF) is a customised open source, portable software testing framework for web applications that have been developed using Selenium.
  9. TestNG is a testing framework that has been designed to cover multiple test categories such as end to end functional, integration, unit; etc.
    SonarQube provides the ability to not only show the health of an application but
    also to emphasise issues.

DevOps Test Automation Principles

The importance of software testing in quality control cannot be stressed upon enough in an automated SDLC process of the DevOps automation services industry. When the underlined code doesn’t meet quality criteria, all the tools being used for automation from the code stage onward to the deployment stage could become a huge maintenance nightmare. One would be struggling to correct the code, to fix the system and automatically run the tools that help do the automated build, automated testing and automated deployment as the DevOps solutions.

There are different testing frameworks available in the market for various technologies that can be used at the stages of the SDLC process. These frameworks allow writing scripts or testing scripts that can be written for every used case that is being deployed. Every functionality that the code is written for has to be implemented in the software project. Some frameworks and tools can automate all the test steps of the entire software project.

Automation process workflow is a set of interconnected steps to be run in a particular order to achieve the desired result DevOps automation services. If made to run on less than desirable quality code, the automated workflow will keep pushing the same code quality into the production environment, or worse fail at each step of the automation workflow. This would require someone from the team to monitor the automated workflow manually. That’s completely negating the purpose of automation.

Discover and read more posts from David Smith
get started