How do I stop my colleagues from calling “integration tests” “unit tests”?

This is probably not so much a question of pitting one word against another as it is a question of having disparate views of what testing (checking) is, what scope it has, and what its objective should be. While unit tests are relatively easy to define (although there are shades of grey), integration tests and system tests will vary in both design and scope depending on the context. Then we tests that are somewhere in between, the ones called “fast medium tests” in the book.

To sort this issue out, first become familiar with the vocabulary of testing and its minefields. Then, have a discussion around the Agile testing quadrants and the Testing pyramid to understand the scope of your current and future tests. Last, name them whatever you want, as long as you agree on the definitions.

Book References
Read more about these topics in Developer Testing: Building Quality into Software:

  • Chapter 3: The Testing Vocabulary, pages 21-36
  • Chapter 11: Almost Unit Tests, pages 151-157
  • Chapter 18: Beyond Unit Testing, pages 257-269