By Rick Broker
Many companies today are realising that automated testing is a critical part of their Continuous Delivery success. Customers are now expecting new features to be released quickly. In today’s market, businesses are looking for ways to accelerate their delivery pipelines, this can be risky without sufficient testing. Even with the increased speed to market, companies are expected to either maintain their current quality or improve.
The Goal of Testing Automation
The goal of testing is to determine if enough development has been done to implement a new feature. In an Agile model, testing is central to the feedback loop. Testing will ensure the new development has not broken any past features and the new features are working as designed. With automated testing, it is possible to run the tests earlier in the development cycle while bugs are easier and cheaper to resolve. Automated tests can be run more often allowing developers to make even smaller changes between testing cycles. Automated testing ensures that the tests are always run in the same way, so that consistent results are possible. As the testing plan evolves, one would expect the new version is of better quality than the current version.
Go/No-go Decisions with Test Analysis
As software delivery pipelines speed up, the possibility of errors increases, so testing frequency and speed is increased with automation. Companies still need the ability to make Go/No-Go decisions more quickly, but with testing automation there is more information available to make these decisions than ever and manual analysis can be tricky. For this reason many companies also need tools to analyze this data to help teams make quicker Go/No-go decisions. Test analysis tools can collect and analyze the results of many automated tests and provide companies real time awareness to make complex Go/No-go decisions.
Without testing automation the goals of CD become very difficult to achieve. Automated testing can collect the information developers need to know to determine if new features have been sufficiently coded and won’t break old features, but so much data is created (often in different formats) that analyzing it quickly and effectively can be a huge new challenge in itself. Fortunately, there are tools that can collect and analyze this data to make information based Go/No-go decisions ensuring there are no more blind spots in the CD pipeline. By testing early and often, improving quality can be realized even in with the acceleration of CD. By combining the automation of testing and test analysis, the risks of moving code through the delivery pipe line can be minimised while increasing velocity.