Considering Automated Testing a mandate for DevOps
Author: Michael Wade
The word DevOps had been formed by combining the development and operations functions. It is not a technology, rather an IT culture. It emphasizes ways in which development, operations and testing can collaborate more effectively. DevOps can be defined by four key activities:
- Collaborative Development
- Continuous Integration and Continuous Testing
- Continuous Release and Deployment
- Continuous Monitoring
Continuous testing is the first step in the direction towards Devops testing. It is a metaphor for a continuous feedback mechanism that helps to drive the software delivery through the SDLC process. Establishing an ecosystem for Continuous Testing involves the following steps
- Shifting the scripts for automated testing to an enterprise version control tool and establish a common source of automation scripts.
- Integrating the automation suite with a deployment tool to enable centralized execution and reporting.
- Classifying test automation into multiple layers of tests. This enables faster feedback at each check point
- Unit Tests: These normally test individual classes or functions. These tests are the first to be run before any changes are committed to the code repository.
- Integration Tests: This set of tests verify and validate that the modules comprising an application are compatible and work properly with each other.
- System Tests: This test layer checks the entire system in an environment which is as close as possible to the real production environment.