This document discusses unit testing and mock frameworks. It defines common terms like unit test, fake, stub, and mock. It describes the strengths and weaknesses of unit testing. It then introduces TypeMock as a mock framework that can fake static, sealed, or non-public elements without requiring design changes for testability. The document also briefly debates the pros and cons of dictating design for testability and mentions some research on the benefits of test-driven development.