All,

During an interview with an major MNC , I was asked this curious question of " What is meant by pesticide paradox ? " I have been working as Test Engineer for almost 4 Years but I have never came across this terminology.

Can some one help me with a real time example ?

  • 7
    I downvoted this because I do not believe the OP tried to figure it out for themselves. The top two or three results from a Google search for "pesticide paradox" should tell them what they need to know. – user246 Jul 19 '13 at 13:08
  • 2
    First time I have heard the term as well and I've been doing it about 15 years now, if that's any consolation. Questions about something like this where it's not widely used/known seem kind of pointless for an interview. – Sam Woods Jul 19 '13 at 16:10
  • 2
    Hi, karthik, there's plenty of information out there if you google "pesticide paradox" - perhaps you could update your question with more details of why that information isn't enough for you. – Kate Paulk Jul 19 '13 at 18:24

Pesticide Paradox

The phenomenon that the more you test software, the more immune it becomes to your tests - just as insects eventually build up resistance and the pesticide no longer works. [Beizer]

from: https://strazzere.blogspot.com/p/testing-terms-glossary.html

  • 1
    Yes, existing insects build up resistance, but there might appear new insects that are not resistant to the "pesticide". So old tests can help discover bugs in introduced changes. Especially, recall tests that are designed to catch failures not anticipated. They exercise as much code as possible in as many different ways as possible (based on uploads.pnsqc.org/2016/papers/…). – dzieciou Jul 17 '17 at 20:52

Lets say you are testing a application. You have written a set of test cases.

Now you run one cycle of testing. You find few bugs and report them to the development team. Development team fixes the bugs and reverts to you with the updated code. You again execute the same set of test cases. This time you find that few of the bug were still not fixed and you report that back to the development team. They work of it and send an update to you. Once again, you execute the same set of test cases and don't find any bugs.

Now in a new release some changes were made in the application. You run the same set of test cases and they all pass. But, what you miss here is the new bugs that may have introduced when the fix and new changes were applied. The old set of test cases are incapable of identifying these new bugs.

This is called Pesticide Paradox. To avoid this you need to update your test cases with each cycle and add new cases to the old set.

  • Well, it's true that old tests might not find all new bugs, but they can find some new bugs (more precisely, regression bugs). If, for instance, I have a test that verifies that users locked up should not be able to login, and some changes to authentication process will, accidentally, allow users to login even when they are locked up, then my old tests may find this new bug. – dzieciou Jul 17 '17 at 20:36

Boris Beizer wrote “Every method you use to prevent or find bugs leaves a residue of subtler bugs against which those methods are ineffectual.”

In the most simple terms not every method or technique will find or prevent all bugs, so we must use a variety of approaches, techniques, and methods in testing.

See this post for more info

  • The link is broken :-( – dzieciou Jul 17 '17 at 20:50

Pesticide paradox can be also explained as: If the same tests are repeated over and over again, eventually the same set of test cases will no longer find any new bugs. To overcome this 'pesticide paradox', the test cases need to be regularly reviewed and revised, and new and different tests need to be written to exercise different parts of the software or system to potentially find more defects.

As defined on ISTQB Syllabus:

Pesticide paradox: If the same tests are repeated over and over again, eventually the same set of test cases will no longer find any new defects. To overcome this “pesticide paradox”, test cases need to be regularly reviewed and revised, and new and different tests need to be written to exercise different parts of the software or system to find potentially more defects.

So when a software is a subject of continuous changes and updating repeating the same test steps and scenario will make the software undiscovered bugs immune against the testing. That is why to avoid "Pesticide paradox" keep your test cases uptodate when ever a change or fix is applied on the testing area and always try to add new test scenarios and steps whenever possible. Also have different tester check different areas on each regression or release.

  • Well, if the software is a subject of continuous changes, then old tests can find bugs (called regression bugs) introduced by those changes. – dzieciou Jul 17 '17 at 20:32

When the same kinds of tests are repeated again and again, eventually the same set of test cases will no longer be able to find any new bugs.

To overcome this “Pesticide Paradox”, it is really very important to review the test cases regularly and new and different tests need to be written to exercise different parts of the software or system to potentially find more defects.

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.