|
> TECHNOLOGY > ENTERPRISE APPLICATIONS
The future of
testing - How testing and technology will change
Joachim
Herschmann
25/01/2010
During these challenging
economic times, there is a dramatic increase in the desire of Quality
Assurance (QA) professionals to understand better where the software testing
industry as a whole is heading and how testing processes and the technology
involved will most likely change. There is no doubt that in coming years
test and quality professionals and development organisations will be under
ever-increasing pressure to test better and test faster. It will require
software leaders to change the way they think about the quality
professionals’ role, test technologies and processes.
A new quality consciousness
Today, there is a high visibility of quality - or the lack thereof - in the
public and a higher consciousness for it. This starts to drive a much higher
need for alignment of business needs and engineering needs from the start.
Obviously, it will have an impact on the testing approach. In the past we
have seen engineering-heavy approaches where not much outside of the
immediate code development activities were considered from a quality
perspective. Now, we start to see an emerging approach of a
risk-based/quality-conscious view, which takes into account additional
parameters. Business begins to drive quality requirements more directly
through a stronger connectivity and traceability between requirements,
developed features and required tests. With this comes a stronger demand to
deliver increasing value in highly specialist skill areas, such as Test
Automation, Performance Testing and Security Testing. It drives the need for
more skilled QA professionals that know how to collaborate and build more
advanced and larger test sets.
Expanding the tester skill set
There are other drivers, as well. Anyone who has been involved in agile
projects will quickly realise that traditional testing approaches will not
work particularly well here. One of the first thing agile teams will
recognise is that test automation will be indispensable in environments
where short sprint cycles are becoming a key element of the development
strategy. This means that there will not only be a much stronger demand for
test tools that can provide a high degree of automation, but also a need for
highly skilled and more technically competent testers. The days of purely
manual testing or simple click testing tools that required little or no
technical knowledge from a tester are definitely over. Even accomplished
testers must expand their skill set to include virtues like strong
collaboration capabilities as cultural aspects become much more important.
It will be necessary to adapt to agile development practices and become a
member of “the team” as the Dev/Test barrier gets removed. Most importantly
– and many a tester will not like this perspective – it will become
important to develop programming skills and get involved in test conception
from the beginning.
Test automation
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 didn’t 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.
Automation tools and technologies they support
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.
Summary
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 everybody’s responsibility in the future, and more and
more organisations start to look at quality more holistically. However, we
are just seeing the very beginning of this right now. 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, Product Director Test Automation, Micro Focus. |
|

advertisement
|