Testing role in DevOps

Insight Main Image

The following article is a guest post to Zephyr from LogiGear. LogiGear is a partner of Zephyr, who provides leading-edge software testing technologies and expertise, along with software development services that enable our customers to accelerate business growth while having confidence in the software they deliver.

DevOps is not a methodology or a suite of tools but it is a concept to dismiss the barriers between Dev and Ops in order to meet the need for shorter and more frequent delivery timelines.

In DevOps, the organization responds in a more agile manner to changing business requirements. In this concept, systems engineers, release engineers, DBAs, network engineers, and security professionals in the “Ops” branch seamlessly integrate with developers, QA, business analysts, product engineers in the “Dev” branch into a single value IT entity.

There are four basic continuous processes in DevOps:

  • Continuous Integration
  • Continuous Delivery
  • Continuous Testing
  • Continuous Monitoring

In DevOps, testing is not at the end of the release cycle—it is now brought into the mainstream/beginning of development cycles. Developers and system engineers get the code in the right environment for Continuous Integration and Continuous Delivery and those stakeholders enable Continuous Testing and Continuous Monitoring processes in which QA engineers then validates that the team has built the right application, by seeing/testing if it functions and performs as designed.

It is a fundamental role for testing teams to align their test design, test automation, and test case development with DevOps–not only to verify that code changes work but that the changes do not break the product. A key differentiator of DevOps is testing maturity. An organization can automate their integration, testing, delivery, and monitor it, but still have issues with the intelligence of test orchestration and automation, which can lead to a bottleneck if this is not resolved beforehand.

In most projects, TestArchitect can be used in a general DevOps testing process. Following the Action Based Testing method, TestArchitect offers capabilities to develop and automate test cases quickly in the same sprint as the application under test, thus allowing team members to become actively involved in the testing and automation process, each from their own skill perspective. Apart from QA, other team skills/roles will typically be development, operations and product ownership.

In the four mentioned continuous processes in DevOps, TestArchitect serves a very important role to connect and oil the process as below.

Once the automated tests is ready, they can be put into test suites, and there execution can be defined in batch files, which can be executed by any scheduling or continuous integration tool, and even be used for testing in production. The results of the automation execution can be generated in xUnit format, XML format, or HTML format which can be read and run report against.

Author Van Pham: Van Pham has more than 10 years of experience in software automation testing on various platforms and Customer/Product Support. A key member of the organization, Van mentors, manages, and motivates LogiGear’s Support teams to provide  an exceptional Customer Support Experience. Van has her B.S. in Software Engineering from National University, and an M.S. in Engineering Management.