Software testing, a vital step in the software development lifecycle, can be a complex process. As applications become more complex in terms of functionality and with a large number of platforms and browsers that software must be compatible with, the possibility of bugs seems almost inevitable.
To combat this, software engineers have embraced automation testing to amplify test efficiency and maximize test coverage, while leveraging the speed it offers to keep pace with rapid release cycles on a highly competitive market.
The move to automated testing
Historically, software testing was performed only through manual testing, where a team of manual testers or QA engineers were responsible for running the tests and generating reports without the aid of testing tools. ‘execution. Since there are dozens of tests that can and should be performed, this practice is both as resource-intensive and time-consuming as it sounds. Fortunately, as technology gets smarter, more and more manual test functions are being automated with specially designed automation tools.
In fact, while automated testing within the industry remains a relatively young practice, Akshay Deole, technical manager of automation testing at BBD, believes that “having skills only in manual testing is no longer enough. In today’s world, testers need to broaden their skills to include knowledge about automated testing tools, especially for performance, resting APIs, and front-end testing.
BBD has been developing software for over 36 years and during this time has gained a deep understanding of the importance of good testing practices in producing great products. While striving to provide its customers with the best possible service, BBD has decided to automate testing processes where possible, and has already done so successfully with a large system implementation that has saw the reporting time go from five days to a few hours.
So, with this major change in the testing process underway, BBD has identified five notable ways that automation is affecting the overall practice of software testing.
Trends in automated testing
1. Automated no-code / no-script testing and behavior-driven development
Codeless or scriptless automated testing tools use model, object, data, or keyword approaches to reduce or eliminate the amount of coding required to create tests. Ultimately, scriptless tools (such as Katalon Studio, Tricentis Tosca QTP / UFT, and TestProject, which has integration capabilities for testing clouds like Saucelab), aim to allow business users to test through interfaces. user-friendly fairly easy to understand and navigate.
“However,” says Deole, “calling them ‘scriptless’ can be a bit misleading, because the initial process still requires setting up policies and writing code to run the test automation. ”
Nevertheless, these tools are growing in popularity because they often only require more complex programming during the initial setup, after which other less technically inclined users can clone this framework to run automated tests.
Alternatively, for those who tend to avoid complex coding, other options include behavioral-focused development frameworks and tools (like Cucumber). This type of test allows tests to be carried out using natural language or English-like sentences based on an agreed vocabulary and shared with all stakeholders and project engineers. While this still requires the engineering team to code the domain-specific language, once done, more of the team is able to use the tool to collaborate on the project.
2. Artificial intelligence (AI) and machine learning (ML)
Along with the rise of our increasingly connected world, AI is expected to have a global global investment of around US $ 200 billion by 2025i. Likewise, AI-based applications are increasingly prevalent in test automation, enhancing its capabilities by further reducing repetitive and mundane tasks.
While automated testing tools still require testers to manually define tool functionality and test cases, AI and ML are able to predict the type of test script required for particular web pages. For example, the Tricentis Tosca test tool offers object spy functionality that leverages ML to work on all web pages to identify and predict which test cases or test scripts need to be executed and which ones. steps to follow for each page. In some cases, it will even run these automated tests for you, or tell you which pages cannot be automated, such as OTP or capture scenarios that need to be tested manually.
3. Agile and DevOps
In response to the demand to shorten the time between development and delivery, organizations are becoming increasingly lean, more agile, and adopting DevOps practices. DevOps and agile methodologies blur the lines between development, operations and testing, with a focus not only on continuous development, but also continuous testing. Rather than being carried over to the end of the cycle, ongoing testing and testers are built into and between cross-functional teams with the mantra of ‘test early, test often’, providing a continuous feedback mechanism that improves overall code quality. , all in flaws as they arise.
While BBD does not believe in applying client-specific methodologies, it has experienced significant success in implementing agile principles into its testing practices, where it has seen the benefits of greater transparency between project teams in improving software versions. At this point, Deole adds that “automation can be used as a superpower, especially when built into the CI / CD pipeline.”
4. Big data and ETL tests
As businesses at all levels continue to shoulder heaps of data, ready to be exploited and tested to gain real-time insights, to make data-driven decisions, and to improve marketing and targeting strategies, the Global Big Data market is expected to reach $ 243.4 billion. by 2027[ii].
Big Data testing is already underway and is having positive effects in several industries, from e-commerce to healthcare. “Big data has no end,” says Deole. “Every day, transactions take place, new records are created and new schemas are deployed. ”
To take full advantage of big data, testers use Extract, Transform, and Load (ETL) testing, which is the process used to extract data to ensure it is correct and consistent before loading it. in a single repository or database. From there, and due to the sheer volume of data, test automation (using Ab Initio or Informatica) becomes vital and will continue to play an important role in how we work with d ‘huge amounts of data, especially for banks and other organizations. with transaction-oriented applications.
5. Compatibility of mobile applications and automated tests
Humans and mobile phones now go hand in hand (literally!) And, as smartphones become more powerful and capable, the market for mobile application testing is growing rapidly. In this highly competitive landscape, however, development proceeds rapidly and end-to-end testing must be performed on a number of operating systems.
To ensure the quality and efficiency of these rapidly produced applications, mobile testing with automation tools (such as Appium or Perfecto) is essential, but so is ensuring full compatibility across a range of systems. operating systems, platforms and devices. “BBD is currently running several successful mobile application development projects using test automation,” says Deole, “and what we’re seeing is that customers are choosing to use free open source tools such as Appium for test automation, instead of spending their budgets. on cloud device labs to ensure 100% compatibility.
With compatibility and environmental stability a high priority in the mobile application space, testers are able to leverage cloud-based test infrastructures such as AWS Device Farm to test specific scenarios across multiple Android platforms. or iOS, as well as with several device providers like Samsung, iPhone, Huawei and more. This improves test efficiency by eliminating the need to purchase and maintain real devices on which to run manual tests.
Automation has obvious advantages, and the possibilities it presents keep expanding as new tools and methods are developed. As existing and aspiring testers and organizations assess their testing capabilities over the coming months, they need to explore how they can best leverage automation to stay ahead of their time in an industry. constantly evolving.
BBD strives to strike a balance between efficiency and quality, investing in both the tools and the talent needed to truly harness automation to better serve customers.
[i] Markets and Markets (2018). Retrieved from MarketsandMarkets: https://www.marketsandmarkets.com/PressReleases/artificial-intelligence.asp
[ii] Global Industry Analysts, Inc. (2021) Big Data – Global Market Trajectory and Analysis. Retrieved from Research & Markets: https://www.researchandmarkets.com/reports/2228010/big_data_global_market_trajectory_and_analytics#pos-0