In this chapter, we will cover the following recipes:
- Debugging—how to leverage the Python built-in debugger
 - Testing—writing test suites with the Python standard library test framework
 - Mocking—patching objects to simulate fake behaviors in tests
 - Reporting errors in production—getting crashes reported by email
 - Benchmarking—how to benchmark functions with the standard library
 - Inspection—inspecting the type, attributes, and methods provided by an object
 - Code evaluation—running Python code within Python code
 - Tracing—how to trace which lines of code were executed
 - Profiling—how to trace bottlenecks in code