As part of process improvements we are trying to ensure that all our projects have suitable unit tests, as there is a bit of education required in house I am trying ascertain what exactly is the best way to ensure we are making our classes as 'testable' as possible.
I suspect that we will start moving down the Mock object route and with most examples I have seen they interfaces to mock the implementations of the objects. So my question is should we ensure that ALL classes have an interface from which they derive?
If not what would be the process you would suggest in identifying classes that should have interface to allow them to be mocked?