Many times at work, we have discussions and debates whether to do one thing or another. One classic debate is between hiring testers or quality engineers. Whether its better to perform manual tests or create automated tests. Or, my favorite, whether we need to “follow process” or “deliver on time”.
I remember one of these debates, the topic was testing verses quality engineering. One one side, we had passionate defenders of testers who worked tirelessly and helped us deliver a much better product than we would have otherwise. On the other side, the thinking was that its much better to prevent problems in the first place, and to automate the testing so our precious time could be spent on more and more productive activities. Who is right? Well, they both are.
No amount of prevention activities will replace having a real human using the system like our customers will. The human brain and eyes are the best testing tools ever created, especially when paired with domain knowledge, customer empathy, and the knack of testing. At the same time, it is much better to prevent problems before they happen. Second best is to find the problems right at the point of injection. Also, repeating the same mundane tasks over and over again is a good use of automation. The classic quality engineering functions.
The answer is almost always “both” when there is a debate over doing one thing or another. We have to apply quality engineering skills and great testing skills; automation and manual testing; follow “process” and deliver on time.