Test automation has transformed the way software industry run their business for over 20 years. Enterprises are adapting fast-emerging test automation as it is steering them to greater profits by cutting down costs on productivity, infrastructure, and resources. In reality, most of the companies have been tussling a lot in achieving desired business results from their test initiatives but never get promising results. Recent studies reported that test automation estimates average around 20% overall, and from 26-30% for agile adopters.
I want to list out some prominent factors which play the major role in these unsatisfactory automation results:
1. New software development technologies with old software testing platforms
The software development is an ever-evolving process and in today’s technological era, enterprises not only urge to deliver software or a part of software within less time frame but also with the blend of multiple latest technologies. Our conventional software testing tools like those by Borland, IBM, Mercury etc. are based on old technology. Tweaking these radically old platforms to make it complement with new software technologies is nowhere parallel to the software’s which give the solution to the problem natively.
2. Adoption of Agile Development
Today’s indisputable trend in the software industry is more biased towards quick iterations with lesser release scopes. Half yearly or yearly releases have been squeezed to weekly or daily ones. We also have an extremely exceptional case of Amazon which deploys code every 11.6 seconds. This short duration of time engenders turmoil in testing which was never observed while using conventional Waterfall model.
3. Maintenance of legacy script-based tests
The current scenario in software industry demands developers to keep evolving the application with latest trends in the market. Since the application is evolving too fast, it is making difficult for testers to keep test scripts in sync. Often, test teams find it faster to make new scripts rather than modifying the existing ones. This will lead to an unexpectedly unmanageable bloated test suite which is more susceptible to produce fallacious results, scripts errors and failures as scripts too are vulnerable to defects, just like code. Only a few teams are able to overcome this mess created by false results, test execution interruption, script failures etc.
- Response to changed software architecture
The vast emergence of the merger of latest technologies gives birth to modern software applications which eventually results in the significant change of software architecture. Majorly, two of the obstacles faced by testers are:
- Not every part of the application adapting the change at the same pace leading to practice flow discordance.
- Technically proficient testers are required to test these technologies
5. Change in vision for quality
Time-constrained iterative release cycles are pushing testing to the left. Here, developers presumed to be responsible for the software quality as it is crucial to getting things done timely. Nonetheless, for complex applications in large enterprises, developer-led quality check mainly emphasizes on the smaller set of functionality and code. Dev people lack the time as well as art to test realistic end-end business transactions. Whilst the responsibility of quality has been shifted to the left, the legacy platforms, rooted in Waterfall process, have well defined biased towards the right.
6. Emergence of open source testing tools
The emergence of open-source automation tools such as Selenium, Watir, SoapUI etc. come up with highlights and challenges at the same time. These tools largely focus on solving a particular problem for a specific user. In Spite of the extensive use of a script-based web interface testing tool, like Selenium, SoapUI etc., it fails to provide provision of end-to-end testing bundled with apps, APIs, databases, mobile interfaces, mainframes, etc. Undoubtedly, today’s enterprise applications are the concoction of various elements but the web interface is one of them, making open-source tools less fruitful.
7. So, what’s next?
Software testing tools and procedures must evolve. It seems impossible to solve today’s testing challenges with antiquated ALM tools. Software testing becomes the core for the data-driven software release decisions with the invention of Agile, DevOps, Continuous Delivery etc. There is an urgent need for organizations to enhance or invent the testing technologies and tools to stay competitive in the software industry.