DEV Community

Cover image for Testers Aren’t Necessarily the Best Last Defense Against Bugs
Devs @ 7pace for 7pace

Posted on • Edited on

Testers Aren’t Necessarily the Best Last Defense Against Bugs

Most engineering teams have a built-in defense against bugs: Testers. But testing processes aren’t foolproof either, and bugs manage to slip through.

Here’s why your testing process might be failing, and how to address it:

1. The Pesticide Paradox

In 1990, software engineer Boris Beizer coined the term “Pesticide Paradox” in his book, Software Testing Techniques. He was referring to the phenomenon that, the more you run particular tests on your software, the more immune it becomes to those tests. Even though it’s been nearly 30 years since Beizer introduced the idea, engineers still see the Pesticide Paradox in action today.

What you can do about it:

Never get complacent about your testing process. The way to beat the Pesticide Paradox is by changing up your test suite, reviewing it and making updates as often as possible to ensure it’s keeping up with product changes as they’re made.

2. There’s Not Enough Time for Testing

Just like engineers need good project management that gives them enough time to meet their deadlines working at a comfortable pace, enough time needs to be left for testers to thoroughly do their jobs before a project is shipped. Since testers work toward the end of the development process, it’s even more likely that missed deadlines before the code reaches the testing phase will put a time crunch on testers, requiring them to either work overtime or skip some tests.

What you can do about it:

If your deadline is fixed, this can be a tricky problem to overcome. You’ll have to analyze risks and make some tough calls about how you can decrease the scope of testing to meet your deadline while still trying to catch as many bugs as possible.
Having a good project manager on every project, setting realistic deadlines for all stages of the project, and ensuring that every member of the team is hitting those deadlines will help avoid this problem to begin with.

3. Bugs Are Found, But Not Fixed

Testers are responsible for testing the system and reporting on its quality, but it’s ultimately not their decision what to do about problems that are found. It’s not too uncommon that testers will discover and report bugs, but it’s ultimately determined that it would take too much time, money, or backtracking to fix them.

bugs

What you can do about it:

Testers should be encouraged to report bugs they discovered in as clear and timely a manner as possible; this helps leave enough time for developers to circle back and fix errors in the code. All stakeholders should receive comprehensive information from testers about the system’s functionality, performance, usability, and security, with open communication between stakeholders, testers, and developers as the best path forward is chosen for dealing with bugs.

4. Sometimes, Even the Most Obvious Bugs Get Missed

Just like developers are human and make mistakes, the same goes for testers. A human tester isn’t going to catch every single bug that comes their way, no matter how good they are at their job.

What you can do about it:

Not much, since it’s impossible to eliminate human error. Practice multitasking and attention to detail. Pay your testers and developers a living wage and give them plenty of time off to maintain a good work-life balance. Happy, satisfied, engaged workers do the best work.

It’s Impossible to Squash Every Bug

As long as software is coded and tested by humans, bugs will always exist. There’s no way to eradicate them completely, as annoying as they may be. But by knowing what causes them, you have a better chance of finding and squashing them.


7pace Timetracker is the only integrated, professional time management solution for teams using Azure DevOps.

Alt Text

Top comments (0)