Bear with me, this is a beginner question: I'm a solo developer, quite familiar with C# and web development and I'm currently trying to shift to TDD since I believe I've understood the advantages in the long run. The classes I usually create do not implement any Interfaces (except from IDisposable and other standard candidates) since I never saw a need to do so. My projects are usually made up of a Website and a couple of class libraries, which only I consume.
Now I had a first look at TDD, and I'm feeling like to be pushed into a Lego-Cube-Box. I don't know where to start. Is an interface-based design required for unit-testing? What are mockups used for and are they required for unit-testing? I would be very glad if someone could explain the basics of test-driven-development and the steps required to get started. A further reading link would be highly appreciated as well.