Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

The Basics of Testing in DevOps

DZone's Guide to

The Basics of Testing in DevOps

How do you effectively test in DevOps? Continuously, of course. But how to do that? read on to find out.

· DevOps Zone ·
Free Resource

Learn more about how CareerBuilder was able to resolve customer issues 5x faster by using Scalyr, the fastest log management tool on the market. 

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, and 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 and 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 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.

Find out more about how Scalyr built a proprietary database that does not use text indexing for their log management tool.

Topics:
testing ,devops

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}