QASymphony / Blog / From the Experts: Top 5 Trends Shaping the Future of Software Testing
From the Experts: Top 5 Trends Shaping the Future of Software Testing
Let me start by stating the obvious: The field of software testing is in a state of extreme change.
In fact, the changes underway now are arguably more impactful than any changes the industry has ever seen. So what’s behind these changes? And more importantly, what can testers expect from software testing?
To answer these questions and more, we turned to the experts: 12 well-respected, highly seasoned software testing leaders. We spoke with:
Why Now: Looking Behind the Change in Software Testing
The change currently underway in the software testing space is driven by both external, environmental factors as well as internal, industry-driven factors. Let’s take a look.
External Factors Contributing to Changes in Software Testing
In terms of external factors, some of the most notable trends affecting the software testing industry include:
The growing use of technology throughout our everyday lives as both consumers and business users. According to a 2017 report from App Annie, we now use an average of nine apps daily, and that’s only on our smartphones — just think about how that number multiplies when you consider all the other technology you use seamlessly throughout the day.
Heightened expectations around the software user experience. For example, TechBeacon finds that 49% of users expect apps to respond in two seconds or less and 80% of users will not attempt to use a problematic app more than three times.
Demands for net new software and improvements to existing software to come to market quickly. Consider the precedent set by Amazon of performing 50 million code releases a year — more than one per second — and the ability of a DevOps model to help teams release code 30x more frequently.
Together, these changes have made every company, regardless of its core competency, a software company. In fact, IDC predicts that the worldwide market for Internet of Things products and services will reach $7.1 trillion by 2020, making it essential for every business to at least dip their toes in the water of software development and testing.
Internal Factors Contributing to Changes in Software Testing
At the same time as these external factors put pressure on software testing teams to help deliver high quality products at a faster pace, there are several internal factors that are also changing the game for how things get done. These internal factors include:
The growth of technology solutions to aid throughout the software development lifecycle (SDLC). According to our 2017 SDLC landscape graphic, there are now just under 1,500 different tools from hundreds of different companies that testers can use throughout the SDLC, which can end up complicating development and testing even further if not approached correctly.
What to Expect: 5 Predictions for the Future of Software Testing
On a whole, these external and internal changes have put the field of software testing in a state of flux. And while a lot has changed already, there’s a lot of change still to come. So what can we expect for the future of software testing? And how can testers best prepare for this future? Here are the top five predictions that surfaced throughout our conversations with the experts:
1) Automation is (a hotly debated part of) the future of testing
Across the board, all of our experts agreed that automation is an important part of the future of testing. However, we noted some key differences in the role they think automation will play.
For example, Cipes predicts that “the future of software testing is almost entirely automated test cases.” In this future, he believes that there will be so many automated test cases that testers won’t be able to run all of them all the time, and the direction forward will be to get selective about what you test so that you only test against new changes. He does warn that this level of automation must be approached cautiously. “Speed comes with certain trade-offs, and you need to be very informed about the direction you’ll take. QA is one of the most significant pieces of that, because if you move faster with automation, you better be testing things or you’re going to have a very bad day. Automation is wonderful, but if you automate the wrong things, you’re going to make the problems happen that much faster,” he adds.
On the other hand, experts like Yackel, Dunne, Ours and Honda believe that we need to be cautious about automating too much. In fact, Yackel says that we currently have an overhyped notion of automation. “There’s all this talk about automate everything, but you have to understand that not every single thing that you do can be automated. You still need manual interactions with people, especially around user experience. There are many areas where automation is good, like step automation, but we’ve reached a point where there are a lot of unrealistic expectations around test automation, and we need to dial it back,” Yackel explains.
“There’s all this talk about automate everything, but you have to understand that not every single thing that you do can be automated.” – Ryan Yackel
Dunne agrees that testers need to be careful about over-automating, citing traps that are easy to fall into. He says the first trap is thinking you can automate everything and the second trap is thinking you’re doing good testing by writing a lot of automated tests, as this over-automation can actually hinder efficiency due to the high levels of maintenance that automation requires. In turn, this over-automation can also result in lower quality test cases that don’t provide a high level of confidence.
Meanwhile, Ours believes that we need to break down the “us versus them” mentality between automation versus manual because the reality is we need them both. He says: “There’s no such thing as 100% automatable software and there’s virtually no testing effort that’s 100% efficient if you have no automation whatsoever. So you need a balance and you need to employ those tools in the right way.”
Finally, Honda predicts that automation for simpler, more administrative “checks” will increase, but this increase will happen in order to allow testers to spend time on more meaningful tests, like exploratory testing. “Using tools in a smart way to take over simple tasks will free testers to focus more time and energy on more effective types of testing,” Honda concludes.
2) Up and coming technology, especially AI and Machine Learning, will make a big splash
Many new technologies are popping up in the software testing world, particularly AI and Machine Learning. Perhaps not surprisingly, every single expert with whom we spoke mentioned AI and Machine Learning in some form or another.
According to Sehgal, even though the maturity of AI and Machine Learning are still a bit far out, they definitely have a practical implementation from a testing perspective, and they’re coming sooner than we think. “Ultimately,” he says, “these technologies will give us an additional layer of automation. They will become prescriptive, they will augment testing and they will become self-adaptive.”
Merrill agrees that while these technologies have not yet fully matured, they are already impacting the software testing arena by making it more complicated, and that impact will only continue to grow. “The number of systems working together along with the integration of Machine Learning and AI are major challenges today. These challenges will only grow in the future.” He adds: “We’re beginning to see Machine Learning and AI involved in more software products, and the potential for those technologies to augment our abilities is breathtaking.” (Hear more about his thoughts on Machine Learning by watching his presentation at the QASymphony Quality Jam 2017 here.)
“The number of systems working together along with the integration of Machine Learning and AI are major challenges today. These challenges will only grow in the future.” – Merrill
Similar to Merrill, Jones finds that AI and Machine Learning are bringing a new layer of complexity to the software world, but she also believes that these technologies aren’t changing the game quite as much as we might think. Says Jones: “As software becomes much more sophisticated and interconnected with other software as well as our physical world, traditional approaches to testing will need to evolve. In a world dominated by the IoT, AI and Machine Learning, testing will remain the same at its foundational core, but the tools, techniques and approaches must evolve.”
3) Testers must be willing to adapt to change and learn new skills
For example, Colantonio believes that to succeed in the future, testers will need to be diligent about staying up to date on trends by talking to different people in the testing community and finding out what other organizations are doing. Fortunately, he says, this engagement shouldn’t be too difficult. “As the industry grows and the world becomes smaller, there will be a lot of opportunities for us to reach out across communities, attend meetups or conferences and just talk to as many people as possible to keep up to speed on what’s happening and what’s new,” he explains. Although he acknowledges that not being afraid of changing and trying new tools will be challenging, Colantonio says that as technology continues to evolve, testers will have to constantly refresh their knowledge base to keep up with what’s going on.
“As the industry grows and the world becomes smaller, there will be a lot of opportunities for us to reach out across communities, attend meetups or conferences and just talk to as many people as possible to keep up to speed on what’s happening and what’s new.” – Colantonio
Smith agrees, saying that his biggest piece of advice to testers is to embrace change. He says: “Think about how you can extend your capabilities by picking up new skills and working with your fellow testers and business partners to tackle big problems together. I think it’s human nature to be comfortable, so it’s easy to be scared of the unknown, but in the end the excitement should outweigh the nerves.”
So what kind of changes are we talking about exactly? According to Dunne, any opportunity that testers have to pick up coding skills or understand more about how an application that they’re testing is built is always a good track to pursue. In general, Dunne says that “testers should always be reconsidering how they can do testing. I think developers are always thinking about how they can develop something new and something better, but testers usually don’t think that way. But because testing is always evolving, if you’re not evolving with it, you’re probably not making the most of what you could be doing.”
Daniel narrows in on the importance of learning new approaches to testing and understanding the bigger picture. He argues: “To succeed in the future, testers need to be willing to adapt and learn new technologies and embrace more fluid development cycles, such as DevOps. It’s also important for testers to know the market that their client or their employer is in because if they understand the risks that company faces, then they can better understand the competing products and where the challenges lie and can plan their testing accordingly.”
Starting to learn new skills now is important, as Sehgal says that “right now, the testing community is not reading enough to augment their expertise and knowledge.” He continues that “testers and managers need to step up to hone their skills and be able to run at the same pace as the other technical communities. We need to run as fast as them because they’re running at 100 miles an hour, and if the testing community is not able to run at that speed, we are going to be left behind.”
Klain adds a new point of view to the discussion, contending that the biggest challenge to embracing these changes will be separating the signal from the noise. He explains: “There are a lot of ‘thought leaders’ or ‘experts’ who too often have views biased toward very specific practices limited to certain contexts and are given far too much weight. I believe you should research, question and experiment in your own ways and draw your own conclusions based on that evidence. Of course you should draw on the practical experiences and advice of seasoned professionals, but don’t take what you hear as unquestionable fact.”
The bottom line in all of this according to Honda is that “the pace of change will be rapid, and testers need to be willing to continuously learn and stay current on new tools and processes. You don’t need to know every tool, but you should be aware of tools that can supplement or help automate the mundane elements of the testing you do.” His biggest piece of advice? “Always look for opportunities to stay on top of your game by learning new skills, being open to new processes for doing things better and faster and practicing, practicing, practicing. I know it’s challenging, but invest in yourself and your career by carving out time to practice using new tools, techniques and soft skills.”
4) Lines will get blurred
If the rise of DevOps signifies nothing else, it’s that lines are blurring. As Yackel puts it: “The delegations of development and production are going to get blurrier and blurrier, and testers are actually going to be testing more in the production environment than they are in the development environment.” According to Yackel, testers need to be prepared to work closely with developers in order to adapt to and succeed in this future of blurry lines.
Building on Yackel’s sentiment, Dunne believes that the future of software testing is about eliminating the “testing silo” by changing the way that teams are built. He says that rather than having large testing teams with specialized resources, organizations will move to smaller teams comprised of well-rounded resources that are embedded throughout the business. Dunne says that to adapt to this future where testing roles are more integrated throughout the business, “testers need to get visibility into other parts of the organization to get a good perspective on problems and be open to learning, especially technical skills like coding.”
Ours agrees that this type of visibility will be important, arguing that testers must become information brokers. “As testers, we have multiple stakeholders, and it’s important to understand those stakeholders’ needs and goals to provide them with the information they need to make decisions. And that’s how we make ourselves more valuable and make sure we don’t get pigeonholed as a less valuable resource,” he explains.
Along the same lines, Daniel stresses the importance of involving QA teams in the software development process early on. He shares: “Teams need better planning and execution during the development cycle to bring quality products to market in less time,” adding that this shift should help avoid making testing and security an afterthought.
Colantonio believes that in addition to a shift left that involves testers earlier, we also need a shift right. “We’re going to stop forgetting about software after we release it. Once we release software, we will have more intelligent analytics that alert us about problems and help roll back the build automatically before anyone calls in an issue,” he explains.
In general, Smith says that the key to succeeding in this world of blurred lines will be working closely with product teams and becoming better communicators with the business. He concludes: “Identifying the bottlenecks and communication gaps that exist currently is more important now than ever if teams want to be able to keep pace in the future. In a DevOps world, testers should be empowered to help this along.”
5) Many skills will stand the test of time (and technology)
Despite all the changes taking place in the software testing space right now, there are many skills that will always be important for testers to have.
As all of our experts noted, testers need to be open to change and eager to learn new skills. This adaptability and willingness to learn, along with a passion for the space and trying new things, will continue to be critical for testers, regardless of whether it’s 2017, 2022 or 2058.
In general, says Ours: “A lot of what we do from a testing perspective is rather timeless. For example, the inquisitive of nature of testing — trying to question, inspect, uncover and gather information about whatever product we’re testing — is timeless, but the underlying technology is always new.”
And Honda believes that the future of software testing is all about problem solving, which is really nothing new. He says it’s simply a matter of testers getting creative in how they solve problems. Honda also identifies testers themselves as another timeless area of software testing. “We must not lose sight of the human aspect of testing. The big change going forward will not be to the basic function of testing, but rather to understanding the value humans provide when testing applications,” he adds.
Klain hammers the point home when he says that certain skills are “future-proof.” In fact, he says, “the best testing skills haven’t changed that much over the years. Critical thinking, communication and interactional expertise are vital to being valuable to your business and managing risk.”
Our Experts Can’t Wait for the Future of Software Testing
These five trends might be the biggest ones shaping the future of software testing according to our experts, but they’re only five trends of many. Some of the other key takeaways with which our experts left us include:
As release cycles pick up speed, security will move to the forefront. The biggest piece of advice here is that in a world where software comes to market at lightning speed, security can very easily fall by the wayside. It’s up to testers not to let that happen. And while it might be okay for the Facebook’s and Instagram’s of the world to release software with some minor bugs, when it comes to things like financial and medical software, the risk of bugs can not be taken for granted.
Testing leaders will need to learn how to manage a growing and complex SDLC technology landscape. Certainly the technology solutions now available to aid in the SDLC can help teams mature their operations and move faster, but they can also complicate things, as testing leaders will have to determine exactly what technology they need and how they will use it. In this area, due diligence is of utmost importance.
Quality will become everyone’s responsibility, but testers will remain indispensable. Even as developers take on some QA responsibilities, testers will not be eliminated from the process. Quite the contrary, testers bring a perspective and level of experience to the table that developers and others can not replicate. In the future, testers will not only own quality, but will also guide others on how to ensure software meets certain quality standards.
Opportunities for testers will only grow. Last but certainly not least, every single one of our experts said they were excited about the future of software testing, and that’s because the opportunities for testers will only grow. And these opportunities will become more interesting too, as testing becomes a more engaging, challenging and in-demand field.
Get Ready for the Future of Software Testing with Our Experts