Let’s say you invite an Olympic marathon competitor and the Olympic Gold-Medal Winner in 100 yard dash over for a late afternoon lunch. (Did I mention – while winning the gold medal, the 100 yard dash guy set a world’s record.)
Which one is better? The sprinter?
After lunch, you decide to take a little drive in rural Nevada. Along the way, your car runs out of gas on a deserted road, 15 miles from a gas station.
Which of the two is the better now?
In other words, the sprinter is clearly ‘better’ …
… except when he isn’t.
This is how I feel about best practices for software testing.
There are no best practices. Practices are better or worse in a given context.