Whichever technique is used to create tests they will contain assumptions about the nature of bugs. Each technique targets a different set of bugs. If development teams react to bug reports by fixing the bugs that have been reported and by finding and fixing similar bugs, then running the same tests is unlikely to find bugs.[1]
This is “called the ‘pesticide paradox’ after the agricultural phenomenon, where bugs such as the boll weevil build up tolerance to pesticides, leaving you with the choice of ever-more powerful pesticides followed by ever-more powerful bugs or an altogether different approach”. [1]
The “Pesticide Paradox” is more relevant now than when Beizer wrote about it in 1995 because today unit testing is widely used and every bug fix should have unit tests to ensure that it does not reoccur.
Automated tests are run over and over again so the ‘Pesticide Paradox’ does raise questions about the role of automated tests. There are lots of reasons to automate tests but in my experience, automated tests are unlikely to find many bugs.
A reason to do exploratory testing is the ‘Pesticide Paradox’. We need to “learn, create and use new tests based on new techniques to catch”[1] bugs and “exploratory testing involves scouting around the areas”[2] that tests do not cover.
References
[1] Black-box testing by Boris Beizer (1995, p9)
[2] Explore It! By Elizabeth Hendrickson (2013, p5)
[[..Pingback..]]
This article was curated as a part of #123rd Issue of Software Testing Notes Newsletter.
https://softwaretestingnotes.substack.com/p/issue-123-software-testing-notes
Web: https://softwaretestingnotes.com
LikeLike