Don't make weak tests to create a false sensation of coverage.
TL;DR: Test Assertions should be precise. Not too Vague and not too specific. There is no silver bullet.
Lack of Trust
Check the right case
Assert for a functional case.
Don't test implementation.
square = Square(5) assert square.area() != 0 # This will lead to false negatives since it is too vague
square = Square(5) assert square.area() = 25 # Assertion should be precise
With Mutation Testing techniques we can find these errors on our tests.
We should use development techniques like TDD that request concrete business cases and make concrete assertions based on our domain.
This smell was inspired by Mario Cervera and used with his permission.
A program that produces incorrect results twice as fast is infinitely slower.
This article is part of the CodeSmell Series.