XUnit test patterns and smells
Gerard Meszaros · 2010
High quality automated unit tests are one of the key development practices that enable incremental development and delivery of software by reducing the number of bugs introduced into code as it is evolved. But writing lots of tests is not enough as the tests need to be maintained over the life of the software. This maintenance cost can quickly outweigh the benefits provided by the tests.