I'm dubbing my Top Test Automation Trends 2022 Predictions the year of Non-Functional Automation Testing.
Because of the current pandemic, I've spoken to many software engineers who are becoming responsible for more and more automation that falls outside of “functional” testing.
Many of the top software testing trends for this year reflect this development.
External Dependency Test Tooling
API Security Testing
The Test Pyramid is Antiquated
Top Testing Programming Languages
Automation beyond Testers and Developers
Selenium Fights Back
There’s also quite a bit of overlap between my 2021 and 2022 predictions, as many things I saw happening in 2021 did come true and will only grow in 2022.
1. Performance Testing
Something’s going on here.
In 2021, many firms acquired “performance testing” tool companies to add to their offering of services.
I’ve always considered acquisitions to be a key indicator of changes that are going on in our industry.
If many companies are all investing in the same area, I feel we should definitely pay attention.
Take a look at these 2021 acquisitions:
In their press release, Mark Ties, CEO and President of Perforce, said: “With Perfecto, our presence in SAST, and now BlazeMeter, Perforce can continue solving the most challenging quality challenges in DevOps for our global customer base.” (For those who aren’t aware, SAST stands for Static Application Security Testing.)
Why am I pointing ☝🏻 this out?
Because Mark's statement implies the need for full-pipeline automation beyond just functional automation, including activities like security, accessibility testing, and performance.
It also helps validate my 2021 prediction, in which I said, “2021 will be an evolution away from automation scripting to automation pipelines and continuous testing.”
If you're not currently doing any performance testing, you will be in 2022.
2. Cloud-Native Testing
Last year I pointed to how Cloud spending rose 37% to $29 billion in 2020 and will continue to rise well into 2022.
And according to PWC.com, “This trend is likely to persist, as the departure to virtual work underscores the urgency for scalable, secure, reliable, cost-effective off-premises technology services.”
They go on to say that, despite the acceleration of cloud adoption across the business landscape, most companies are barely scratching the surface of the Cloud's vast potential. According to a PWC survey of C-level leaders in the United States that was released in 2021, 53% of companies have yet to reap substantial value from their Cloud investments.
So, there is ample opportunity in this space right now.
With opportunity, however, comes lots of testing challenges.
For example, although more companies are leveraging third-party services like AWS software, there’s some considerable vulnerability in relying on things outside of one’s control.
In the last few months of 2021, AWS went down a few times, causing significant outages for companies including Hulu, Netflix, and Twitch.
As a result, expect to see an uptick in testing teams focusing on how to test and plan for these types of events.
Besides companies relying on third-party services like AWS for hosting, this trend is also being seen with third-party services.
Did you know that, on average, an application touches more than 50 external dependencies!?
How do you do the automated testing process in this scenario?
(Missed the latest automation guild online conference? No worries – get instant access now and watch many sessions that cover the trends in software testing in this article)
3. External Dependency Test Tooling on the Rise in 2022
As you all know, many firms rely heavily on continuous integration and continuous delivery pipelines for building, testing, and deploying applications. A smooth build promotion strategy involves an automation testing strategy with a real-life environment at each phase.
Here is some tooling to become more familiar with this year:
The Testcontainers Library allows you to use Docker containers within your tests. It provides the external dependencies in distributed Cloud architectures like database layer, stream processing (Kafka, pulsar), Selenium, AWS mocks (LocalStack), any Docker image, or any application-defined in the Docker-composed file—contained within your tests. It will spin up the required Docker container.
LocalStack provides an easy-to-use test/mocking framework for developing Cloud applications.
It spins up a testing environment on your local machine that provides the same functionality and APIs as a real AWS Cloud environment.
This means you can run your Lambda functions, store test data to DynamoDB tables, feed events, put your application behind an API Gateway, and a bunch of other things. All of it happens on your local machine, without ever talking to the Cloud.
4. Resilience Testing
According to Michael Sage of Gremlin, when doing performance testing, we software testers are accustomed to exercising our applications based on the traffic we're sending to it.
So, you test to see how the application responds to a particular load profile, or maybe a soak test over many days, or a stress test.
But with Resilience Testing, we can introduce faults or inject failure modes to understand further how our applications respond to that kind of stress.
It's not solely about requests and response timings or the metrics you're collecting. It's more about understanding what happens when a condition in the application changes.
This technique allows you to create conditions that help you further understand how stress and load affect your application.
5. API Security Testing
APIs have quickly become the fundamental building blocks of software and are used by developers in every software testing industry and country across the globe. With more organizations moving to the Cloud and the increase in Cloud microservices, 2022 will be an API-first world.
An API-first world will require API tooling and techniques that can enable more people to do API testing beyond functional testing.
I've been talking about the rise of API functional testing since 2014, but now it has expanded to cover API “non-functional” testing.
So, one place to start is API security testing.
6. API Observability
Besides security, another buzzword I frequently heard in 2021 was “observability,”—which I also predicted in my 2021 report.
Because of this, I think we’ll see a number of firms coming out with solutions in 2022 to help test API observability.
For example, this Speedscale just made available a free API Observability desktop tool called CLI.
Seeing tools like this enter the automation testing market jibes with something else I've been noticing: numerous businesses buying performance testing companies.
The trend is on performance, but not traditional, server-side performance; the focus is now on front-end user experience performance.
7. The Test Pyramid is Antiquated in 2022
We discussed the fact that, as with the growth of the Cloud, it's infrequent to see an application that is an isolated island on its own and doesn't work with anything else on the Internet. As soon as we begin using Internet services, we start relying on changes that other companies might make without our involvement at all.
Things like the testing pyramid were pretty amazing for an age where everything was under our control.
But now, in this Cloud/API-first world, significant components of risk occur after deployment and happen without any influence or control from the people working on a specific piece of software.
You need to be able to de-risk things much more effectively. This is where testing small, isolated units of code and focusing on the speed of isolated testing doesn't bring as many benefits because these things only happen when it's highly integrated and deployed in production.
What kind of testing will potentially replace the test pyramid? Visual Validation testing.
Here are some open-source test automation tools you can start exploring to become more familiar with this approach:
8. The Top Testing Programming Languages for 2022
Test engineers usually want to know which programming language(s) they should learn.
I've seen a few sites that track the popularity of languages in 2021, and many of them have them listed in a similar order (1. Python, 2. Java)
How does this jibe with what employers want for SDET testers?
Just for fun, I took a look at the job descriptions of test engineers at the top 20 Silicon Valley companies. Then I created a Word Cloud to find out if there was a correlation between popular languages and the skills companies are looking for.
You can't go wrong with any of the three.
9. AI-Assisted Automation
Last year, I talked about how “AI-based software assistance” would be a trend in 2021 and Dang! I was spot on. (This was before the release of GitHub Copilot.)
GitHub Copilot converts comments to code.
This is done by typing a comment describing the logic you want and letting GitHub Copilot assemble the code.
Whether you're working in a new language or framework or just learning to code, GitHub Copilot can help you find your way. Tackle a bug or learn how to use a new framework without spending most of your time spelunking through the docs or searching the Web.
One of its features lets you import a unit test package, and the Copilot will suggest tests that match your implementation code.
Can this help with functional automation testing?
Here is an example by Colby Fayock demoing GitHub Copilot with Applitools!
This isn’t just an anomaly; I learned of another tool that helps create Artificial Intelligence-driven unit tests called DiffBlue.
So, I think we’ll be seeing even more AI technology assisted automation testing tools in 2022.
10. Automation beyond Testers and Developers
For me, there are two specific things that point to why we’ll be hearing much more about codeless automation testing solutions in 2022.
First, no matter how big they are, most large companies still have their own in-house software development environment. Also, most of these backend systems are built using a no-code solution like Salesforce, SAP, Oracle, etc.
The scary part is that most of these systems are mission-critical and usually ignored by testers and developers.
Business users generally use these systems today, yet they don't have the developing skills needed to code up automation.
Secondly, in 2021, I saw numerous articles on how the demand for IT contractors was at its highest level since March 1998.
And what really caught my attention when I dug into these reports were the skills that were in short supply.
One of the skills that were in such a shortage was automation testing!
These two realities leave many companies in a tough spot.
How can you accelerate automation in the software development life cycle and deliver quality software faster and more frequently without a workforce with the coding skills needed for automation?
Enter codeless testing tools.
Also, seeing some 2021 acquisitions confirms my prediction that this will be a growing area in the coming year.
For example, SauceLabs Acquired AutonomIQ in Feb 2021, and guess what the tool helps with? Codeless automation with a focus on packaged-based automation for solutions like Salesforce.
In their press release, Sauce said, “Smaller, low-code applications are becoming increasingly common in the enterprise, driven by a surge in the prevalence of SaaS business applications.”
Expect to see more and more vendors coming out with new solutions or features in this area in 2022.
11. Selenium Fights Back
Over the past few years, I’ve seen a number of testers moving from Selenium to other tools like Cypress and Playwright.
While each tool has its pros and cons, the knock-on Selenium was that it lacked many modern features that these new solutions provided.
Selenium 4 was released near the last quarter of 2021, which included many of the features that folks had been waiting for. (Take our free, online mini-course with Simon Stewart covering all the new features to get up and running quickly.)
Will 2022 be the year Selenium fights to regain its browser automation crown 👑?