It is about ways to change your coding so that your code is more testable but it is also a good reminder about good design. I really liked the article, nice work Justin.


  1. Use Interfaces

  2. Define a base test class

  3. As much as feasible, make everything return a value

  4. Separate data access from business logic

  5. Make use of configuration

  6. Make Your Classes Do Only One Thing

  7. Have Domain Object Factories

  8. Think carefully about packaging, assemblies and namespaces

  9. Pick a logging strategy early

Did I miss one or it is just 9 and not 10 like in the title of the article: 10 Ways to Make Your Code More Testable.