Directory Image
This website uses cookies to improve user experience. By using our website you consent to all cookies in accordance with our Privacy Policy.

Quality Assurance in DevOps.

Author: Michael Wade
by Michael Wade
Posted: Oct 31, 2017

DevOps can be considered as the next evolution of Agile. This organizational method is being adopted by many companies in order to facilitate automated software development. DevOps provides a structure that enables continuous delivery and continuous deployment of a software application. Quality can be said to be built into DevOps. Inability to provide high quality software implies the failure in DevOps implementation.

In DevOps, infrastructure is the code. Traditionally, there was a clear difference between development and operation. A product was developed, deployed into the testing environment, if a problem was found, it was fixed else it was deployed in the production system. But as the line blurs between development and operation, as suggested by the very name ‘DevOps’, here the development environment itself becomes a part of the product.

Role of QA in DevOps

Quality assurance in DevOps is about preventing defects, not detecting them. QA in DevOps has the visibility and directive for pushing code out when it is working and rolling it back when it is not working. QA teams here are assigned with a task of preventing defects from occurring at all.

  • QA in DevOps identifies the defect in the product as well as the development process and accordingly recommend changes wherever required.
  • QA influences both the processes of development and operations in order to maintain quality. It tries to improve predictability and repeatability.

Test automation is clearly more preferable over manual processes in Devops . But there are certain challenges in automated testing, which need to be overcome.

  • Tests that are built over commercial tools slow down over time and face scalability challenges, more often from licensing issues. Migrating tests into more open source tools can enhance the effectiveness of a DevOps practice.
  • The business perspective over regression issues influences the development teams to build long-running tests. Hence, subsets of total regression tests need to be carved out in order to accelerate test runs.

DevOps puts into practice the theory of Continuous Testing. Its core philosophy is to test every change made to the application as soon as possible. Non-functional tests such as performance testing and security testing also need to be included in this process. In order to effectively use all the available resources and be able to run load tests on demand without wasting time and resources, building a cloud infrastructure is a good option.

Conclusion

DevOps practices a very powerful set of principles which improves the communication between the development and the operational team. It helps them to share their knowledge, experience and skills and deliver quality applications ensuring success. In DevOps, testing and quality assurance are addressed throughout the entire lifecycle of the software application. Here, quality is built from the beginning.

About the Author

Michael works for Cigniti Technologies, which is the world's first Independent Software Testing Company to be appraised at CMMI-SVC Level 5, and an ISO 9001:2008 & ISO 27001:2013 certified organization.

Rate this Article
Author: Michael Wade

Michael Wade

Member since: Aug 26, 2015
Published articles: 94

Related Articles