The seven wastes
Before we dive in too far, there are a couple of arguments we need to cover. First, in software testing, there is the argument that a test that finds no problems is a waste. We’re not so sure about that; before we ran the test, there was a risk, and after the test ran, that risk was mitigated. However, we will say that if a test never seems to fail, it might not be worth running. That is especially true if the test doesn’t need to run because it would be covered by other tests. For example, you might not need a test to demonstrate the simple “positive” login case if login is a blocking condition for every other end-to-end check. If the login is broken, those other checks will all fail. Likewise, if an automated check doesn’t provide much information yet causes a great deal of maintenance effort that could be spent on other things – it “breaks” a lot or is “flaky” due to a changing user interface...