Thus far I have written about how great test and quality work is. This is not the whole picture – far too often, quality work is not a pleasant experience. It is soul crushing to do a job that you know will end up having no impact at all.
Sometimes Bad Testing even has a negative effect on quality. Allow me to list 3 Quality Antipatterns that will leave you worse off than when you started:
Once I was in a team where the usual process went as follows:
- Developer tests the happy path, and it works.
- Tester does some deeper testing, and it works.
- Acceptance test is performed, and it works.
- Feature immediately breaks in production. Every time.
The reason? The environment and data used for development, test and acceptance differs significantly from the production environment. So whatever the team does to ensure quality is meaningless. The Bad Testability Antipattern creates a false sense of security.
Speaking of a false sense of security, have you ever heard someone brag about their “100% Test Coverage”? This kind of talk smells of a dangerous mindset:
- that all tests are automatable
- that testability is static and not an issue
- that there is a finite amount of test that can be performed
- that we don’t need or want fallible humans to complicate our work
Autotests that are poorly designed are hard to maintain. Now you have ended up with a bigger workload, but no improvement in quality. Some autotests are permanently broken, and the team doesn’t question that. But worse, what about the autotests that run for years and never fail? What do they test in the first place?
Autotest is one of many testing tools, and it must be used with purpose and intent.
This antipattern is borrowed from the field of climate and energy efficiency. “The money I save by driving electric I spend on a trip to Thailand” leaves you with a negative climate rec´bound effect from the change. Do you recognize these thought patterns?
- “I’m too stressed to write clean code. Let’s just commit this and hope QA catches and fixes it”
- “I don’t understand this story, and also there’s a scary QA person who’s gonna evaluate my work and find out that I’m an impostor”
Thus it is very important to evaluate your quality interventions and look out for regressions in other places that may have been caused by a well-meaning change.
We all want to create value in our day job. Can you think of other quality antipatterns?