This document provides an overview of tools and techniques for testing Python code including:
1) virtualenv for creating isolated Python environments, nose for test discovery and less boilerplate than unittest, and doctest for executing code samples.
2) Mock for replacing real objects with mock objects to make assertions about method usage, and coverage for generating test coverage reports.
3) Metrics for test quality including count, code length ratio, and coverage percentage.