11/ The fundamental idea is that we're going to test everything—everything!—with narrow, sociable, state-based tests.
Narrow tests are like unit tests: they focus on a particular class, method, or concept.
Sociable tests are tests that don't isolate dependencies. The tests run everything in dependencies, although they don't test them.
And state-based tests look at return values and state changes, not interactions.
(There's a ton of code examples in the article, btw, if you want them.)