The Basics of Testing in DevOps
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.
Join the DZone community and get the full member experience.Join For Free
Planning to extract out a few microservices from your monolith? Read this free guide to learn the best practice before you get started.
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.
Published at DZone with permission of Van Pham . See the original article here.
Opinions expressed by DZone contributors are their own.