"By 2016, DevOps will evolve from a niche strategy employed by large cloud providers to a mainstream strategy employed by 25 percent of Global 2000 organizations."- Gartner
Gartner also believes that, "Rather than being a market per se, DevOps is a philosophy, a cultural shift that merges operations with development and demands a linked tool chain of technologies to facilitate collaborative change."
Enterprises now deploy or update huge lines of code everyday across hundreds of environments, aiming to get to market faster than ever before. Sometimes this is done as frequently as every 15 minutes, to ensure that their applications are always current. This requires testing to be orchestrated seamlessly across development, and production environments with continuous feedback loops via continuous testing. This has, thus, led to the evolution of DevOps. DevOps is a mind-set and an agent of cultural change, bringing contributors from operations and development into a seamless, ongoing, agile process. DevOps is not easy. It requires perfect collaboration, orchestration and state-of-the-art methods and tools.
- Tools Knowledge & Compatibility: Knowledge of testing tools that can support diverse hardware and infrastructure. With the rise of hybrid environments, compatibility of tools with existing solutions and technologies is becoming increasingly complex.
- Continuous integration & delivery: In constrained testing environments, DevOps teams often face challenges in following the continuous integration and delivery approach. Due to the continuous development nature of DevOps, QA needs to keep pace and testing has to happen in parallel.
- Lack of test environments: Teams in Dev, Testing, and Production often work in very different environments and manage their work on different systems. This makes software defects difficult to detect and correct.
- Configuration management: Human errors in the configuration of the test environments due to lack of collaboration, integration, and communication during release testing.
- Lack of access to cloud-based applications: Since QA testing practices need to be applied consistently throughout the life cycle, security and access limitations for a cloud-based service might prove expensive to test application components against the cloud-based frequently.
- Test data management and pace of development: Sanitization of data for privacy and security prevents QA and Ops teams to keep pace with the faster Agile Dev processes.
- Continuous testing and involving early in the life cycle
- Automate early and automate more
- Implement automation for test data management
- Automate the entire release deployment ruling out human errors
- Implement service virtualization to ensure testing occurs in parallel and eliminates dependencies
The early involvement of testing can also ensure appropriate code coverage using quality engineering tools.
Continuous testing is one of the key pillars of Cigniti's DevOps QA framework. Cigniti implements automated static code analysis ensuring code coverage and utilises service virtualization for the provisioning of appropriate test environments. The core part of the QA framework ensures automation of the release deployment process by helping in the automation of the UI and API tests and the automation of the integration tests. The framework first executes the build verification tests on the build promoted to the test environment from the development environment. On execution of all the automated tests in a continuous manner, the test results are communicated via a metrics dashboard. The loop is thus completed through a continuous feedback and optimization using the continuous integration tool. The non-functional testing can also be carried out within the production like environments in the DevOps eco-system.
Cigniti's Quality Engineering approach to DevOps yielded the following benefits to our Clients:
- Continuous validation of release
- Enhanced Automation coverage
- Live dashboards that give absolute visibility
- Early involvement of testing in the cycle
- "Shift Both" that ensures early involvement and continuous feedback loops
- Accelerating operational readiness of the applications under test
To know more about how Cigniti can help you take advantage of DevOps QA, write to firstname.lastname@example.org.