Tools for test automation have been around for quite some time, mostly in the areas of performance testing and functional and regression testing. However, overall, test automation has not yet lived up to its promise. In the earlier years, test tools were not particularly mature and required a substantial amount of effort to build robust test automation sets. Skilled test automation experts were rare, and inadequate usage of tools didnt help either. Additionally, technologies evolved quickly and tool vendors sometimes had a hard time keeping up with technology trends.
However, tool vendors have learnt their lessons and tool sets are maturing. From today on, pretty much all types of testing will require a higher degree of automation if carried out as part of a rapid development scenario where testing is highly integrated. This will be a strong driver for tool vendors to improve the maturity of their testing tools.
Looking at test automation tools, one can distinguish between specialised tools for specific technologies and versatile tools covering multiple technologies. The first category includes tools that allow for testing more or less just one type of technology, such as Java. While these tools usually do a pretty good job of testing that particular technology, they are useless for everything else.
However, applications often use different technologies. For example, a Web app might have Flex technology embedded, or a Java app might contain an embedded IE control. In such cases, testing require either multiple (potentially incompatible) tools or a mixed approach of manual and automated testing, both of which are far from desirable. Also, the replacement of technology will leave test sets useless. Nevertheless, such tools will continue to be around and they will be useful in certain cases. However, none of them is likely to become mainstream for the reasons listed above.
Testing tools that support multiple technologies, on the other hand, allow for testing of mixed technology applications. They provide a seamless testing experience and allow for much more holistic, realistic and robust testing. There is a much higher chance that less or no manual testing is required and, more importantly, technology change usually does not turn test sets unusable. Of course, for single technology applications, they provide all of the above and they can usually be reapplied for other technologies quickly. As a consequence, these tools will become more sophisticated and will become much better integrated with other tools to support collaboration.
One of the most interesting trends we are starting to see is that testing is finally becoming more aligned with business needs. Strategies like test-driven development are a manifestation of this, but there is still plenty of room for improvement. There is a growing understanding that quality will become everybodys responsibility in the future, and more and more organisations will start to look at quality more holistically. However, we are just seeing the very beginning of this. With agile development strategies and the faster development cycles that come with it, test automation will become much more important. Without good, robust test automation, it will be impossible to keep quality up, let alone improve it in such environments.
Joachim Herschmann is Product Director Test Automation, Micro Focus.
Sign up for Computerworld eNewsletters.