This content is part of the Essential Guide: What you need to know about software testing automation
Manage Learn to apply best practices and optimize your operations.

Are you ready for the latest software testing trends?

From security to integration and flexibility, the software testing profession is undergoing more changes. Expert Matthew Heusser offers his best advice.

It's a whole new year, which means a good time to take stock and make plans.

Let's get to the latest software testing trends.

Integration over (simple) automation

Open source tools like Selenium and Cucumber have become ubiquitous -- the vast majority of our clients are using some sort of tooling. The problem is the tools tend to run on a system and run against a system. Setting them up on a desktop means the tester can't work while the test runs. Worse, the tester needs to set up and configure the test environment before clicking the 'run' button.

Creating test environments should be automated, preferably by the result of a continuous integration (CI) tool, like Jenkins or Hudson. When the programmer commits a fix and marks a story done, the CI software itself should run build->unit test->create test server automatically. When I work with teams, I often suggest automating the build/deploy process before driving the user interface with tools. Many teams already have something like this in place; look to see it extend in 2017.

The rise of A/B split testing

Product companies frequently A/B test marketing materials -- running a variety of keywords to see who will click on what and at what price point. Software, on the other hand, tends to be more of a "code it and forget it" thing. The rise of cloud computing gives us the ability to deploy different builds to different servers and compare user activity. Designing the tests is easy enough, pouring over the metrics and managing the rollouts is a little more work. These latest software testing trends are an area where "quality people" can make a huge difference and become more powerful or choose to ignore it and thus become just a little less relevant.

Securing the internet of things

One of the great business stories of 2016 was the hacking of internet-connected devices -- specifically, a Chinese company called Hangzhou Xiongmai Technology that sold DVR boards and web camera components that ran Linux and had a wifi board with default passwords. Once the hackers were able to get into the system, they could direct those resources to attack popular DNS servers, causing outages of popular U.S. websites.

Yes, there is a great divide in testing, and it may be getting wider. So be the bridge.

In another of the latest software testing trends, suddenly we don't just need to test hardware as a system; we also need to examine the system, and every component, for security vulnerabilities. That means a lot of penetration testing. As hardware continues to get cheaper (and shrink) it will find more uses -- what economists call Jevons' law or paradox. Here's an example: A lawn mower texting you when it is low on gas or needs to be winterized might be not be a valuable feature -- it might be worth just a nickel, which is what the price of this hardware is approaching.

If the internet of things (IoT) will be a thing in 2017, and it will, then securing and security testing of IoT products will also be a consideration.

The great divide continues

It's been five years since Scott Barber, chief technologist at PerfTestPlus, Inc., pointed out a divide between modern organizations, which I believe he called "Agile / lean / cloud / DevOps," and the more traditional, legacy organizations. The new companies continue to innovate, to push to production weekly, daily or perhaps hourly, to create virtual test environments at the click of a button and rollback problems in production almost as quickly.

The legacy organizations need two months to order a server, rollout builds manually, and have one shared "test" server for an entire group to work on. For these kinds of groups rolling back a patch to see if it worked might involve commenting out code, doing a new build, over-writing the test server and blocking all current testing work.

The divide between these groups seems to be growing, not shrinking. Testers trying to find a job in the new modern company will find they are challenged to quickly learn an ever-changing skill set. Testers who want to stay in the legacy organization will find the career easier, but more political and less rewarding.

The important thing to do now is to consider the latest software testing trends and choose wisely, to choose what you want in a career and look for it, instead of reacting to what someone else wants.

Software Testing

How to benefit

We are living at an amazing time in history. Technology is changing at such a pace that books are obsolete before they are available on the shelf. Thanks to online ordering, there is often no shelf, or even physical store, to purchase the books.

Instead, today there are also open source software, 30-day trials and online learning programs like Treehouse, Lynda, Skillshare and Coursera.

Don't let these latest software testing trends get you down. Instead, get ahead of them. Become the expert on virtualization, on integration, on build and deploy automation, on A/B split testing or continuous delivery.

Yes, there is a great divide in testing, and it may be getting wider.

So be the bridge.

Next Steps

Software testers, it's time to get to know data science

Where will AI fit in software testing?

How BizDevOps is going to change software testing forever

Dig Deeper on Topics Archive

Join the conversation


Send me notifications when other members comment.

Please create a username to comment.

How are you planning to take charge of your career in 2017?
Honestly there are variations in the DevOps Vs Legacy.  Many shops have leveraged Continuous Deployment or Delivery to their test environments.  However, they may not be deploying and testing with each individual check-in you may see gated check ins hourly or bi-hourly.   Also, when stability is important rolling out too often can be seen as a hindrance to customers who like a platform they can trust to be stable.

Which one will your company choose, will depend on your needs and willingness to take risks.   So there will continue to exist a wide spectrum of environments.  Right now I'd say there are four or 5 types of shops.  Type 1 is Legacy, single server test environment, deployment to it is manual, and they have long release trains to customer. (They may be agile or waterfall, because how often you deploy does not depend on the model you use to build.)  Type 2 is Legacy taken a step further.  Continuous integration for test environments, probably daily or twice daily builds deployed to test environments, but still a long time between releases which happen in large chunks. Type 3 might have hourly or bihourly deployment to test environments, or the same as in Type 2, but will look to leverage spinning up of virtual infratstructure as part of the build and deploy process to test and also possibly to production.  The release train might still be only twice yearly or quarterly perhaps.   Type 4 would be regular releases to Prod test environments not only include deployment of code but some automated unit and component level checking going on.  The key difference between Type 3 and 4 is that they remain ready to release when a complete featureset is ready.  What that means is that if they are building a feature that touches UI, business logic, service layer, and database, the features are queued to go out when ready is decided.  That decision is likely made by humans and not machines, so they could deploy fast or it could still be weeks between them and that lets the business use strategy and marketing efforts to time things together.   The last one Type 5 is probably where the bleeding edge is now.  instead of spin up and down of environments, containers that separate distinct microservices are deployed.  You may at this point be close to the situation Matt describes, but I'll be honest I'd say less than 15% of companies are using this in production right now or are close.  Moving to this mode takes a lot of time and effort, and most companies prefer to keep rolling out new product as they move in that direction then stopping and sitting without improving.

That all assumes that you deploy to a customer base.  If you have to deploy on premises for clients, then a lot of that becomes moot IMO.