Software testing anti-patterns

Click for: original source

Article by Kostis Kapelonis in which he wants to catalog some high-level testing anti-patterns that are technology agnostic. Hopefully you will recognize some of these patterns regardless of your favorite programming language.

Unfortunately, testing terminology has not reached a common consensus yet. If you ask 100 developers what is the difference between an integration test, a component test and an end-to-end test you might get 100 different answers.

The anti-patterns in the article:

  • Having unit tests without integration tests
  • Having the wrong kind of tests
  • Testing the wrong functionality
  • Testing internal implementation
  • Paying excessive attention to test coverage
  • Having flaky or slow tests
  • Running tests manually
  • Treating test code as a second class citizen
  • Not converting production bugs to tests
  • Treating TDD as a religion
  • Writing tests without reading documentation first
  • Giving testing a bad reputation out of ignorance

This is long article with detailed explanation and examples for each anti-pattern. Excellent read!

[Read More]

Tags programming tdd agile