How automation is reshaping software testing
Software testing, a vital step in the software development life cycle, can be a complex process. As applications become more intricate in terms of functionality, and with a large number of platforms and browsers that software must be made compatible with, the possibility of bugs seems almost inevitable.
To combat this, software engineers have embraced automation testing to amplify testing efficiency and maximise test coverage, all while leveraging the speed it offers to keep pace with the rapid release cycles within a highly competitive market.
The shift to automation testing
Historically, software testing was done solely through manual testing, where a team of manual testers or quality assurance engineers would be responsible for executing tests and generating reports without the help of any execution tools. Since there are dozens of tests that can and must be run, this practice is both as resource-heavy and laborious as it sounds. Luckily, as technology becomes smarter, more and more functions of manual testing are being automated with specially designed automation tools.
In fact, while automated testing within the industry remains a relatively young practice, Akshay Deole, Technical Lead for Automation Testing at BBD, believes that “having skills only in manual testing is no longer enough. In today’s world, testers must broaden their skillsets to include knowledge on automated testing tools, specifically for performance, rest APIs and front-end testing.”
BBD has been developing software for over 36 years and has, in this time, gained a thorough understanding of the importance of good testing practice to produce great products. As it endeavours to offer clients the best possible service, BBD has been moving to automate testing processes where possible, and has already successfully done so with a large system implementation that saw reporting time go down from five days to a few hours.
So, with this major shift in the testing process very much under way, BBD has identified five notable ways that automation is affecting the overall software testing practice.
Automated testing trends
1. Codeless / scriptless automated testing and behaviour-driven development
Codeless or scriptless automated testing tools make use of model, object, data or keyword approaches to reduce or eliminate the amount of coding needed to create tests. Ultimately, scriptless tools (such as Katalon Studio, Tricentis Tosca QTP/UFT and TestProject, which has integration capabilities to test clouds such as Saucelab), aim to enable business user testing through user-friendly interfaces that are fairly easy to understand and navigate.
“However,” says Deole, “calling these ‘scriptless’ may be a bit misleading, since the initial process still requires setting up policies and writing the code to run the test automation.”
Nonetheless, these tools are growing in popularity because they often only require more complex programming to be done in the initial set-up, whereafter other less-technically inclined users may clone that framework to run automated tests.
Alternatively, for those who tend to shy away from complex coding, other options include behaviour-driven development frameworks and tools (such as Cucumber). This type of testing allows tests to be conducted using natural-language or English-like sentences based on an agreed on and shared vocabulary with all stakeholders and engineers within the project. While this still requires that the engineering team code the domain-specific language, once done, more of the team is able to utilise the tool to collaborate on the project.
2. Artificial intelligence (AI) and machine learning (ML)
Alongside the boom of our increasingly connected world, AI is predicted to have an overall global investment of around US$200 billion by 2025i. Similarly, AI-powered apps are becoming more prevalent in test automation, bolstering its capabilities by further reducing tasks that are repetitive and mundane.
While automated testing tools still require testers to manually set the tool’s functionality and test case scenarios, AI and ML are able to predict the type of test script required for particular Web pages. For instance, testing tool Tricentis Tosca offers an object spy functionality that leverages ML to work through all Web pages to identify and predict which test cases or test scripts should be run and the steps that need to be taken for each page. In some cases, it will even run those automated tests for you, or notify you as to which pages can’t be automated, such as OTP or capture scenarios that must be tested manually.
3. Agile and DevOps
In response to the demand for a shortened time from development to delivery, organisations are increasingly becoming leaner, more agile and adopting DevOps practices. The DevOps and agile methodologies blur the boundaries between development, operations and testing, emphasising not only continuous development but continuous testing. Instead of being deferred to the end of the cycle, continuous testing and testers are embedded into and across cross-functional teams with the mantra ‘test early, test often’, providing a continuous feedback mechanism that improves overall code quality, while picking up on defects as they crop up.
While BBD doesn’t believe in enforcing any specific methodologies on clients, it has had significant success when implementing agile principles in its testing practices, where it has seen the benefits of greater transparency across project teams in improving software releases. To this point, Deole adds that “automation can be used as a superpower, especially when it’s integrated within the CI/CD pipeline”.
4. Big data and ETL testing
As companies across the board continue to shoulder mounds of data, ripe for mining and testing for real-time insights, to make data-driven decisions, and improve marketing and targeting strategies, the global market for big data is set to hit US$243.4 billion by 2027[ii].
Big data testing is already happening and having positive effects across multiple industries, from e-commerce to healthcare. “Big data is never-ending,” says Deole. “Every single day, transactions are happening, new records are being made and new schemas are being deployed.”
To derive full value from big data, testers use extract, transform, load (ETL) testing, which is the process used to extract data to ensure it's correct and consistent before loading it into a single repository or database. From here, and because of the sheer volume of the data, automating tests (using Ab Initio or Informatica) becomes vital, and will continue to play a big part in how we work with such immense amounts of data, especially for banks and other organisations with transaction-oriented applications.
5. Mobile app compatibility and automated testing
Humans and mobile phones now go hand-in-hand (quite literally!) and, as smartphones are becoming increasingly powerful and capable, the mobile app testing market is seeing rapid growth. In this highly competitive landscape, however, development moves fast, and end-to-end testing must be done across a number of operating systems.
To ensure the quality and effectiveness of these rapidly produced apps, mobile testing with automation tools (such as Appium or Perfecto) is crucial, but so too is ensuring full compatibility across a range of operating systems, platforms and devices. “BBD is currently running several successful mobile app development projects using test automation,” explains Deole, “and what we’re seeing is that clients are opting to use free open source tools such as Appium for test automation, in lieu of spending their budgets on cloud device labs to ensure 100% compatibility.”
With compatibility and environmental stability a big priority in the mobile app space, testers are able to leverage cloud-based test infrastructures such as AWS Device Farm to test specific scenarios on multiple Android or iOS platforms, as well as with multiple device vendors like Samsung, iPhone, Huawei and more. This improves testing efficiency by eliminating the need to purchase and maintain real devices to run manual tests on.
Automation has clear benefits, and the possibilities it presents are continuously expanding as new tools and methods are developed. As existing and aspiring testers and organisations assess their testing capabilities over the coming months, they should look to how they can best leverage automation to stay at the forefront of their craft in an ever-evolving industry.
BBD endeavours to strike a balance between efficiency and quality, investing in both the tools and talent needed to truly harness automation to best serve clients.
[i] MarketsandMarkets (2018). Retrieved from MarketsandMarkets: https://www.marketsandmarkets.com/PressReleases/artificial-intelligence.asp
[ii] Global Industry Analysts, Inc. (2021) Big Data - Global Market Trajectory & Analytics. Retrieved from Research & Markets: https://www.researchandmarkets.com/reports/2228010/big_data_global_market_trajectory_and_analytics#pos-0