Printer Friendly

Smart Automation-Overcoming Complexity and Reaping the Rewards.

The benefits of test automation are plentiful and well publicised.

However, even though most companies believe that automation is crucial, few can claim actual success.

Desktop and mobile browsers support increasingly more advanced capabilities, and 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.

Smart automation promises to make test automation easier. Smart practices give us faster release cycles, better tests and smoother collaboration between all practitioners. They help shrink unproductive delays between coding and defect detection, freeing up testing resources to focus on new development.

Ultimately, the benefits can be the difference between success of failure--not just for a product release, but for a business as a whole.

So how businesses turn the tide and make automation efforts a success?

A move to smart automation

Firstly, important to remember that not all test automation is created equal.

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, takes traditional automation to the next level by minimising the human risk error, as well as eliminating 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 and 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.

And so, automating everything shouldn't be the goal of continuous testing in DevOps. Instead, what's important is automating what's relevant from a risk mitigation / reduction perspective, and focusing on what provides value and feedback to the developer.

Best practices

At Perfecto, we break down the steps needed in order to get to smart automation success. It's split into phases; and takes our customers step by step through the process.

The first step is for an organisation to assess their current state: looking at what tools are available today, what resources and skills are available, and what the teams' future roadmap looks like. They should then drill down deeper still, looking into the pipeline to realise the percentage of reliable tests, the percentage of successful CI builds--and the covered vs. uncovered functional areas in the application.

This will allow them to build a pipeline of tests that are candidates for smart automation migration--and, equally importantly, decide which ones are not.

In our next step, 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 scripts it they're not effectively analysed.

And the final stage is putting together a process on how to maintain these tests and keep them valuable at the same time.

By following these steps, teams will be well on the way to effective smart automation. But of course, they must also have the right tools 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.

Using machine learning (ML) and artificial intelligence (AI in) smart record and playback test creation allows robust object identification and analysis. Smart test execution allows elasticity in scale, smart labs can self-heal itself when a platform either disconnects or busy, and smart analysis can shrink the time needed to analyse and debug issues--especially when dealing with big test data.

Support for highly complex scenarios especially in the mobile space requires more mature version of the smart automation tools, many of which are currently available, but with more tools being released to market all the time. 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.

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, chief technical evangelist for Perfecto.
COPYRIGHT 2019 A.P. Publications Ltd.
No portion of this article can be reproduced without the express written permission from the copyright holder.
Copyright 2019 Gale, Cengage Learning. All rights reserved.

Article Details
Printer friendly Cite/link Email Feedback
Author:Kinsbruner, Eran
Publication:Database and Network Journal
Date:Apr 1, 2019
Previous Article:Is Britain's Technology Landscape Advancing Too Quickly?
Next Article:The 21st Century Systems Integrator.

Terms of use | Privacy policy | Copyright © 2020 Farlex, Inc. | Feedback | For webmasters