You are here

Do Devops need Automatic Testing

Since continuous testing lies in the heart of DevOps, not automating the testing process can prove more taxing for the development teams and also create a lot of overheads. Test automation allows the development teams to reduce the time and effort taken to get accurate test results. Automation also helps in reducing false positives and minimizes the effort that goes into test maintenance.

With DevOps however, the testing tools in use should allow for easy integration with the continuous testing pipeline so that they can add value to the continuous testing process. At the same time, teams have to be cautious of the fact that continuous testing and test automation are not interchangeable terms. Teams leveraging DevOps thus have to isolate cases that lend themselves well to automation in the continuous testing framework.

Devops don't really concerns about Process Automation of a testing. So when we talk about Devops environment right from the build generation with test suite executed on the build till you receive the report with your mail box.

Devops deals with your testing results to certain extent but it deals with the job status not the actual testing status. So, Yes, Devops do need Automatic Testing.

You've heard a lot about test automation. But why is it so important? It's a lot of additional effort and adds lots of code which needs to be maintained later, right?

One of the important parts of any DevOps process is the regular release of working software. In Scrum, iterations tend to be only one or two weeks long. When you use Kanban you release whenever a reasonable package is ready - often multiple times a week. When you do that, you will inevitably see that manual testing becomes a bottleneck. Always.

According to the U.S. Bureau of Labor Statistics (BLS), software quality engineering is one of the high-tech professions whose growth rate is projected to be slower than average.QA takes a critical role in this organizational structure because they have the visibility and the directive to push code out when it is working, and roll it back when it is not. This is a very different mindset from QA organizations of 10 years ago, whose primary responsibilities involved finding bugs. Today QA groups are charged with preventing defects from reaching the public site.

DevOps often uses continuous integration (CI) and continuous delivery (CD). In CI, developers use various continuous integration tools to integrate code into a shared repository multiple times each day, and DevOps relies on automation to determine the quality of the version. You cannot have any human interaction if you want to run CD, which ensures that any version of a batch of code in the repository can be released at any given time.

I agree that manual testing can be a bottle neck. With that being said, depending upon the criticality of the application that's being tested, having a parallel session (automated and manual) to verify the automated testing effort is performing as required could be worthwhile.