Why Smart Testing Requires Strategy and Flexibility
Why are you testing your software? It might seem like a silly question to ask, but so often we test software without any clear goals or understanding of a coherent strategy. In order to succeed in a project, you shouldn’t string together a series of mismatched tests and simply hope you plug enough holes to reach the finish line—you need consistency.
And that’s what Randy Rice, a leading author, speaker, and consultant in software testing and software quality, preaches to the many teams he works with. Rice understands that if you’re doing anything in testing with any degree of complexity, you’re going to have to have a strategy to frame it.
Why? To get a grasp of what you can do, what you can’t do, what your objectives are, and again, why you’re actually testing the things you’re testing. You shouldn’t do things the way other teams do them because you’ve heard they’ve been successful. You need to pinpoint the strategy that maximizes your unique circumstances.
“A lot of people sometimes have a little bit of trouble distinguishing between the strategy and a tactic,” Rice explained during this year’s STAREAST. “Everything we do flows from the strategies that we have; not that you have it on paper necessarily, or anything, but that you at least can articulate it. It affects how you look at testing, what your objectives are. Most importantly, it defines why you're doing what you're doing.”
You can design the most intricate, intelligent test in the world, but if it isn’t right for your specific project and your specific strategy, there really isn’t much use for it.
And just like the software industry itself, things are constantly changing. In order to account for this degree of flexibility, you need to create a test strategy that allows you to pivot and adjust as everything around you changes. As Rice points out, just about anything can happen at any time during development, so you can’t allow yourself to create a ridged test strategy that you’re too stubborn to change.
“Give yourself permission and understand that it’s OK to reset. In most cases, you’re going to have to reset,” Rice continued. “Give yourself some safety nets. Give yourself some reserves. So when you do have to reset, you can do so somewhat gracefully.”
You can’t expect to achieve successful testing without the proper strategy, but you also can’t create a strategy that doesn’t allow you to adapt along the way. Think about why you’re testing, and be confident enough to change course if you feel it can benefit your team and project.