In today’s hyper-competitive landscape, most companies would agree that test automation is crucial to business success. It promises to increase the depth and scope of tests and to significantly improve software quality. However, despite the benefits being well publicised and the technology being well established with tools like WinRunner, Silk Test, and QTP having started the move towards true automation paving the way for Selenium and Appium, few companies can claim true success.

The digital era makes automation even more difficult. Many organisations are unsure of what to automate, how complex the process will be, or how long it will take Desktop and mobile browsers to support increasingly more advanced capabilities. Services like FaceID, location capabilities and Virtual Reality (VR) / Augmented Reality (AR) are tough to automate and scale across multiple permutations. In addition, the available time within software iterations is continually shrinking – and so, for many, that means that there simply isn’t sufficient time to create automation that really works.

So how can businesses turn the tide and make automation efforts a success? At Perfecto, we believe that 2019 is the year for DevOps pros to make automation smarter.

Moving toward smart automation

At its most basic level, automation stands for the process of taking a set of requirements and creating code to implement them in an automated fashion. Traditional automation refers primarily to static test scenarios, such that whenever a change occurs in the app, it requires code changes, refactoring and other time-consuming tasks. In addition, traditional automation is error prone since it is created manually, and so subject to human error (wrong object IDs, duplications, wrong prerequisites to the test scenario implemented, lab issues, etc.).

Smart automation, on the other hand, minimises the risk of human error and eliminates the need for test maintenance. Since smart automation often relies on record and playback, there is close to zero code that needs to be managed, maintained, and this is clearly a huge benefit to teams. Coders at every skill level can use these tools, the output (the tests themselves) are more reliable, robust and the flakiness that traditional code-based automation creates is reduced to minimum.

So, smart automation promises to make test automation easier. It provides faster release cycles, better tests and smoother collaboration between all practitioners; it helps shrink unproductive delays between coding and defect detection, and allows elasticity in scale. Smart test labs can self-heal when a platform either disconnects or is busy, and smart analysis can shrink the time needed to analyse and debug issues – especially when dealing with big test data – all of which are crucial in ensuring that speed to market and quality assurance go hand in hand, freeing up testing resources to focus on new development.

Best practice

It’s the organisations that take a strategic approach, with clear goals, and with the right tools who will ultimately make smart automation a success.

Here’s a breakdown of the steps needed in order to get to smart automation success:

Step 1: assess the current state: look at what tools are available today, what resources and skills are available, and what the teams’ future roadmap looks like, then drill down deeper still, looking into the pipeline to realise the percentage of reliable tests, the percentage of successful Continuous Integration (CI) builds – and the covered vs. uncovered functional areas in the application. This will allow businesses to build a pipeline of tests that are candidates for smart automation migration – and, equally importantly, decide which ones are not.

Step 2: as well as scaling the number of tests, teams must put fast feedback capabilities into place to analyse and record the tests effectively on a big scale. It’s a common mistake not to put fast feedback loops in place and then teams drown in data. There’s no point in automating hundreds of scrips it they aren’t effectively analysed.

Step 3: put together a process on how to maintain these tests and keep them valuable at the same time.

A focus on tools

By following these steps, teams will be well on the way to effective smart automation. But of course, the right tools must also be in place. There’s a lot of choice in the market, so this means working with trusted partners, evaluating providers and tools against your objectives, and perhaps even looking at hybrid options to fit your needs. Support for highly complex scenarios especially in the mobile space requires a more mature version of the smart automation tools, many of which are currently available. However, more tools are being released to market all the time.

Machine learning (ML) and artificial intelligence (AI) are the crux of smart automation success. This is why we, at Perfecto, are investing in solutions like Perfecto Codeless, which employs machine learning algorithms to automate writing of test scripts in a way that allows development teams to not only run continuously, but also adjust to changes made to the application.

As testing cycles become shorter, it’s inevitable that teams will forgo testing extraneous aspects of their application. It’s essential that the risks of doing so are profiled adequately, so developers can ensure they’re testing the most important features first. By harnessing AI, systems can identify what should to be tested or prioritised based on prior test history or risks that are ranked by how critical they are, their complexity, and performance.

AI classification learns from correlations in past results to refine application test coverage through recommended test scenarios based on risk and identified root causes to quickly resolve defects. Furthermore, using ML and AI in smart record and playback test creation allows robust object identification and analysis.

At Perfecto, we believe that smart automation will become the foundation of DevOps continuous testing across all verticals. Such automation will in most cases be heavily supported by AI capabilities that will allow test automation to be created almost end-to-end with minimal human involvement. The generated automation will be very reliable, tuned to the business process, tied to the analytics to match the right coverage and deliver fast feedback to the teams.

So, smart automation promises to reshape the testing world. Indeed, organisations that get it right will see a greater return on investment by generating value in reaching business objective, such as time to market, rather than ‘just’ achieving incremental benefits in cost and efficiency. However, only the organisations which take strategic approach, with clear goals, and with the right tools in place will make it a success.

Eran Kinsbruner

Eran Kinsbruner

Contributor


Eran Kinsbruner, lead technical evangelist at Perfecto