The Future of Software Testing
I was recently featured in QASymphony’s e-book, The Future of Software Testing: 12 Testing Experts Share Their Predictions discussing my thoughts on what’s in store for the future of software testing, and how testers can prepare and adapt to this transformation. Here’s an excerpt of my thoughts.
THE FUTURE OF SOFTWARE TESTING IS… about deep thought and exploration. As software becomes more sophisticated and interconnected with our physical world, traditional approaches to testing will need to evolve. In a world dominated by the IoT, AI and Machine Learning, the tools, techniques and approaches to testing must evolve. When dealing with smarter systems, tests are not as simple as an action and a known expectation. Sometimes the expectations won’t be known and it won’t be clear how systems will react in certain situations. Testers will really need to explore and be extremely creative in their scenario generation to determine how these “smart” systems react. They’ll also need to be sensitive to what these reactions truly mean for customers and advocate for those customers like never before.
THE FUTURE OF SOFTWARE TESTING MAKES ME FEEL… extremely excited. Many people think that these emerging trends will put testers out of work. I don’t agree. I’ve worked on applications in these spaces, and they need serious thought-provoking testers. There are so many scenarios to consider as we face this smarter digital world. It’s an absolutely fascinating time to be a tester.
SOFTWARE TESTING HAS ALREADY CHANGED DRAMATICALLY DUE TO… Agile practices. Teams are moving at lightning speed with continuous integration and deployment, and this change has required everyone to pick up new skills. Testers are now required to shift left and test much earlier in the process than we did five years ago, and we’re now providing valuable insight and customer advocacy much earlier in the delivery cycle. At the same time, developers are now doing a better job of testing their features before check-in. And perhaps the biggest change we’ve seen is that testers no longer solely own quality. We’ve learned that to truly succeed in this fast-paced game, everyone must make quality initiatives a part of their job.
THE BIGGEST CHALLENGE TO EMBRACING THESE CHANGES IS… learning so many new skills. In testing IoT or AI applications, I’ve needed to code to truly test, and this is not just automating the tests themselves, but setting up infrastructure to actually get to meaningful results. For example, with IoT applications, I’ve needed to set up mock services to fill in for third party integrations. For Machine Learning applications, I’ve needed to simulate thousands of interactions to trigger learning and analyze the results. All of this required a comfort level with code. In addition to code, testers will also need to learn about these new trends and their impact on the software as well as customers. There’s lots to learn, and as someone who plans to continue in this industry for a while, I recommend getting started on learning as much as possible now even if your immediate job does not require it.
The world is evolving. Software is evolving. Testing must evolve as well. Let’s not be frightened. There’s a place for us and it’s exciting!