Agile Development and Continuous Delivery are rapidly becoming the de facto standard for software development. The key business driver behind these initiatives: delivering new functionality to your customers faster. This is easy to state in theory but much harder to achieve in practice: the level of quality of your services must be maintained! If your system goes down once a week every week, your customers are unlikely to be happy.
In order to realize the desired business goals of Agile and Continuous Delivery, it is thus essential that entire team – developers, testers, and the business – have a highly accurate, near real-time measure of the risk and quality associated with the features in your delivery pipeline. This calls for extensive and accurate testing. In fact, making testing the central component of your delivery process is the most critical challenge that teams need to address.
The Need for Radical Flexibility in Test Automation
Identifying the quality and risk of new features to an acceptable level of confidence means carrying out a large number of different types of tests: code analysis, unit, functional, performance, regression and stability tests, usability analyses and more.
It also means carrying them out fast: organizations cannot afford to wait for lengthy manual tests, or complicated, manual analyses of test failures. Add in manual maintenance of the test code, the test environment parameters, and test data and it is clear why, for organizations relying only on manual testing, it is virtually impossible to implement real-time quality awareness effectively.
Test automation is a prerequisite for full-speed Continuous Delivery. But we need to go a step further: it is critical that your test automation is dynamic and flexible. The attributes of quality and risk that need to be measured will differ between projects, use cases and over time: performance in one case, security in another, usability and functionality in the next. As a result, the types of tests and test tools that need to be used will never be static.
Mind the Automation Anti-Patterns!!