Hans Beverwijk – Test Automation Consultant at Remain Software/Industrial TSI – Hans.Beverwijk@remainsoftware.com
The right approach to software test automation can revolutionize the way software testers’ work. What do the modern testing tools have to offer?
The idea vs. reality
Test automation market has been flourishing for the past fifteen years, but mainly among programmers, who could understand and use the complex script-based tools. In principle, automated software testing is supposed to shorten the development cycle, reduce costs throughout the life cycle of an application, and improve software quality. In many cases test automation can also easily comply with regulations such as HIPAA and SOX by tracking, storing and reporting any changes made to programs.
Is it really so in practice? Are all these benefits actually achievable when users need to handle tools requiring specific knowledge and programming skills? What is the point of using test tools which require constant maintenance and development? Shouldn’t end users also be able to test applications in their everyday work? In the end – they are the ones who know exactly what kind of business needs and users’ requirements should the software fulfill and how should it work in the most effective way. Only they have the best knowledge and skills to say if the software can actually work in the day-to-day business environment.
The research conducted by Original Software shows, that the majority of specialists responsible for software testing regarded script-based test tools as playing the central role in software testing process and mentioned sheer manpower as the main way of detecting bugs in applications. It seems unreasonable – having the automation tools, but using the manpower instead. The problem lies in cost and complexity. It’s really time and money consuming to create the automated testing environment and learn the tool which requires advanced technical expertise. What’s more, the scripts require adjustments anytime even the most minor changes are made to applications, which makes software testing process more complicated and loses focus from the key quality tasks.
Intelligent software testing solutions as an alternative to script based tooling
This is definitely not the way modern software testing should work. The future belongs to tools which are almost maintenance free and which can be used even by the end users, who have no technical knowledge, but know exactly what kind of performance do they expect from the application. The future belongs to code-free test automation. Solutions which offer this modern approach to quality assurance are much more user friendly and what’s most important almost maintenance-free, which allows their users to save a lot of time, previously spent on script updates, etc. which leads to significantly increased productivity of all employees involved in the testing process. That’s even more important when it comes to software houses which share their test automation tools with customers, to ensure the correctness of their applications by user acceptance testing. Test results are immediately shared with developers which significantly streamlines work and improves communication between the two parties. No technical knowledge is needed in this case either.
Test automation tools which are really of value for their customers, should also manage test data in an effective way. Unlike testing software from the ’90 and ’00, which couldn’t properly manage test data and lost its freshness after conducting software testing, modern tools automatically scramble production data. They set up test databases by taking production data, automatically modifying it a little so it no longer correlates real customer information, and then put it to work. When test tools are used to manage test data, it is much easier to obtain fresh and relevant data. Newer generation testing solutions should be able to take 2,000- 10 digit customer numbers, for example, and vary the position of the characters without changing the overall format of the data. Plug this data into a single script and testers don’t have to re-launch several individual scripts to simulate multiple business transactions.
The ‘intelligence’ in the heading might sound a bit futuristic, but in fact, modern test automation tools have the ability to adapt their scripts to changes made to application without the input from the human side. Users no longer have to go through the software to update code according to changes made to tested application, which is extremely important. Even the minor change to the script might cause a lot of trouble in the correct work of the application. Self-healing algorithm will do everything for them, so it’s a great step into improved productivity and reliability of applications.
What’s more, modern test tools are easy to adapt by any organization. It’s a result of great flexibility and adjustability to methodologies which are currently in place. Agile, waterfall, SCRUM, and many others – that should not be an issue to use test automation in environments of any kind. Flexibility is something that all organizations are looking for nowadays.
Re-evaluate QA tools once again
Perhaps it’s time for QA managers to re-think using the test automation tools once again, and reevaluate the benefits they can bring not only to their IT departments, but for the entire organization. The modern tools bring real help and bring tangible effects, such as improved applications’ quality, reduced time spent on testing, cut costs of software development, quicker time-to-market instead of requiring much maintenance and adjustments of the tool when changes are made to the legacy application. Enterprises need tools which are a perfect fit for their needs, which is the priority in the time of significant role of IT in the modern business management.