The future of software testing: five trends to watch

The last decade has seen a relentless push to deliver software faster. Automated testing has emerged as one of the most important technologies for scaling DevOps. So much so that companies are investing enormous time and effort to build end-to-end software delivery pipelines with automated testing built-in.

High performers are delivering software faster than ever. In fact, according to Garner, high performers are 106 times faster in lead time from commit to deploy and deploy 208 times more than low performers. This wide disparity is consistent with interviews we’ve conducted with many companies in the last year. A lot of organizations are struggling to balance speed and quality. Many are stuck trying to make headway with legacy software, large test suites, and brittle pipelines.

As companies seek to accelerate their DevOps transitions in the next year, here are five trends to watch...

#1 Automating tests

A surprising number of companies that we talked to in the last year still rely on manual tests for essential parts of their delivery pipeline. You cannot deliver fast if you have humans in the critical path of the value chain slowing things down (except for exploratory testing where humans are a must). 

Companies like Cypress.io are front runners that help companies automate their existing manual tests. That said, the migration is a long process that requires dedicated engineering time. I expect that Automated Testing will remain in the top trends for the future.

#2 Establishing a continuous quality culture

As tests get automated and DevOps is adopted, quality can no longer be an afterthought. It will become part of the DevOps mindset. Quality will become a shared responsibility of everyone in the organization.

Top performers shift tests around to enable new workflows. Left for earlier validation and right to speed up delivery. Source: Launchable, Inc.

Top performers shift tests around to enable new workflows. Left for earlier validation and right to speed up delivery.

Teams will become more intentional about where tests land. Should they shift tests left to catch issues much earlier, or should they add more quality controls to the right. On the “shift-right” side of the house, practices such as chaos engineering and canary deployments will become essential.

There isn’t much help on the “shift-left” side of the house (unless you include Launchable, which we'll talk about later).

#3 Data-driven DevOps

In the last 6-8 years, the industry focus has been on connecting various tools by building robust delivery pipelines. Each of these tools generates a heavy exhaust of data, but this data is being used minimally – if at all. If you look at this delivery pipeline (x-axis), it becomes clear (y-axis) that we have moved from the Craft → At scale stage in the evolution of tools in the delivery pipelines. The next phase is to bring Smarts into tooling. 

Expect to see an increased emphasis for practitioners to make data-driven decisions.

#4 Rise of AI: Test Generation tools

There are two key problems in testing: not enough tests and too many tests. Test generation tools take a shot at the first.

To create a UI test today, you must write a lot of code, or a tester has to click through the UI manually. This is an incredibly painful and slow process. To relieve this pain, tools like Mabl and MesmerHQ use AI to create and run UI tests on various platforms. 

For example, Mabl uses a trainer that allows you to record actions on a web app to create scriptless tests. While script-less testing isn’t a new idea, what is new is that this tool “auto-heals” tests in lockstep with the changes to your UI.

Another example is MesmerHQ which has AI bots that act like humans. They tap buttons, swipe images, type text, and navigate screens to detect issues. Once they find an issue, they create a ticket in Jira for developers to take action on - pretty sweet!

We expect more testing tools that use AI to gain traction in 2021.

#5 Machine learning and predictive test selection 

But AI has other uses for testing apart from test generation. For organizations struggling with run times of large test suites, an emerging technology called predictive test selection is gaining traction.

When testing is the bottleneck predictive test selection can be a solution

Companies struggling with too many tests can use predictive test selection to remove the bottleneck and get feedback to developers much faster.

Many companies have thousands of tests that run all the time. Testing a small change might take hours or even days to get feedback on. While more tests are generally good for quality, it also means that feedback comes more slowly.

To date, companies like Google and Facebook have developed machine learning algorithms that process incoming changes and run just tests that are most likely to fail. This is called predictive test selection. What’s amazing about this technology is that you can run between 10% and 20% of your tests to reach 90% confidence that a full run will not fail.

Get 80-90% of the results with 10-20% of the tests!

With predictive test selection, Launchable allows you to run a small percentage of your tests while still maintaining high confidence that failing runs will be detected.

Predictive test selection enables you to reduce a 5-hour test suite that normally runs post-merge to 30 mins on pre-merge, running only the tests that are most relevant to the source changes. Another scenario would be to reduce an hour run to 6 minutes.

At Launchable, we believe in the potential of this technology so much that we're building a product around it. Most companies don't have the engineering resources of Google or Facebook. They need a more accessible way to use predictive test selection. This is where we come in. Launchable makes it easy to process incoming changes in real-time and run just the right tests for each code change using machine learning and AI. This allows you to drastically cut down on testing time with no loss of confidence and shift tests left or right in your workflow to get faster feedback.

Machine learning & AI step into the gap

Automated testing has proven to be one of the most valuable technologies for scaling DevOps. Even so, many teams are struggling to catch up. In 2021, expect AI and machine learning to step into the gap. Many companies will begin reaching for these tools to accelerate delivery and while improving quality.

Interested in trying out Launchable with your own test suite? Sign up for the beta to get access to Launchable while we are in beta!

Portions of this article were originally published on TechBeacon.com.