Continuous Testing does not mean throwing more and more automation; it goes beyond automation and allows for the synchronisation of Testing/QA with Dev and Ops processes, optimized to achieve business and development goals. It is more of a process and same as other process-driven initiatives, allowing for the people and technology to evolve together.
In traditional IT organizations, developers, testers and operations engineers have different roles, responsibilities and culture, and they are all working in separate functional areas. Continuous Testing can be seen as the final step in the Continuous Delivery Process, augmenting software quality processes and ensuring speed, agility and risk management. An effective Continuous Testing strategy forces an organization-wide cultural change to align Dev, Ops and QA/Testing as part of the true DevOps philosophy enabling organisations to go through a smooth digital transformation.
One of the basic principles of Continuous Testing is to assess the business risk involved in each project or application so that key stakeholders are able to take more informed fact-based decisions.
To understand the value of Continuous Testing you first need to appreciate the concept and value of business risk. Risks can be internal and external to your business. They can also directly or indirectly affect your business's ability to operate.
A system failure for example, can result in devastating consequences that not only bring a business process to a halt, but may also harm the reputation of a company.
With DevOps and Continuous Delivery, releasing with both speed and confidence requires having immediate feedback on the business risks associated with a software release candidate.
Wouldn’t it be nice to know if your release candidate has an acceptable level of business risk?
Taking in mind the cost and reputational damage of a software failure, it is crucial to maintain control of potential threats for continuous, dependable operations and limited costs. Being proactive in managing business risks ensures continuous operations, security, and also protects your brand’s reputation.
The transition from ‘just’ test automation to a Continuous Testing practice, is also based on the use of Service Virtualisation, API Testing and effective Test Environments Management. According to a research by Gartner, the need for API testing and Service Virtualization is becoming increasingly important as IT organizations develop bimodal capability to support mobile, digital business transformation initiatives and the Internet of Things (IoT). Service virtualization enables earlier, continuous, complete and parallel development and testing of software in a highly complex, heterogeneous and distributed environment. It can also reduce overall test lab costs.
Similarly, if your application fails at launch, will your customers really care if that failure is caused from code developed internally or from an external API that you’ve integrated? Ensuring the integrity of the APIs related with your application is essential in managing potential business risks.
Continuous Testing will continue to evolve and become vital for speed at quality. Continuous Testing involves applying the methods and concepts of agile development to the testing and QA process, resulting in a more efficient testing process, bridging the gap between Dev and Ops.