In a perfect world CIOs, CTOs, devs and QA teams would be perfectly aligned. Software would always function the way it was intended, security breaches would be a thing of the past and the movie Top Gun 2 would stop being delayed.
Unfortunately, the world is imperfect, but there is a silver lining. Today’s CIOs understand the importance of quality, speed and the value of software testing. They know that their users expect flawless and consistent experiences across all platforms and the only way this is possible is through testing.
That’s a great start and represents solid progress from where we were just a few short years ago. However, if you have been watching my video series, 10 Things Testers Wish CIOs and CTOs Knew About Testing, you’ll understand there is still a gap between what your boss does know and what you want them to. For more detailed information on how I think we should address this gap, I invite you to watch all 10 videos of the series, but as this is the internet I would be remiss not to offer you a TL;DR version.
Let’s examine the top five concepts testers wish their CIOs knew about software testing and quality.
1. Achieving 100 percent test automation is not possible
The purpose of test automation never has been and never should be to achieve 100 percent coverage. The truth is that some code is too difficult to write automation for and some code is too unimportant to write automation for. What you want to do is use a risk-based approach to guide you towards providing coverage for the most important parts of the software.
2. Test automation is not meant to replace humans
Humans and technology have different skill sets. Automation doesn’t replace testers. Automation frees testers to go beyond pure application functionality and instead focus on ensuring that the flow and overall user experience are intuitive and in line with your customers’ always-changing expectations.
3. The role of a tester is not to search for bugs
Bugs are bad and they are expensive. But, ultimately, the role of a tester is to model and advocate for a great user experience. Does that include, to some extent, finding bugs and ensuring they don’t make it to production? Of course. But just because software is bug-free doesn’t mean it’s user-friendly. Testers should be focused on ensuring that your customers are treated to a seamless, intuitive experience that keeps them coming back.
4. Selenium is not a strategy
Selenium is a terrific resource for testers, and it has a place in your overall testing strategy. But it cannot be the entirety of that strategy. A truly comprehensive testing strategy spans unit tests, API tests, integration tests, performance and visual tests, and even error monitoring in production. Selenium solves a great number of challenges, but a modern testing strategy ensures quality throughout the entire software development lifecycle.
5. Quality is Everyone’s Responsibility
For testers, understanding our customers and our business is as much a part of our job as understanding how to code. We need to know what drives our customers – what they like, what they dislike, what drives them to our software, and what keeps them coming back. And we need to know everything about our business – what drives revenue and growth, what drives customer retention, and how we stack up against competitors.