BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
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.
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., 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.
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, , 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.
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