Testing

This wiki is in the process of being archived due to lack of usage and the resources necessary to serve it — predominately to bots, crawlers, and LLM companies. Edits are discouraged.
Pages are preserved as they were at the time of archival. For current information, please visit python.org.
If a change to this archive is absolutely needed, requests can be made via the infrastructure@python.org mailing list.

Testing is matching output produced by your Python code with your expectations.

Testing strategy is what you test and how you do it. There are multiple strategies that can be combined:

  • unit tests - your Python code is limited by specific function and methods
  • performance - measure performance over the time
  • fuzz testing - overload your inputs with garbage to see the response
  • web testing - code is server-side and expected output is web stuff
  • acceptance - write testing logic once, and run it over a set of desired output

See PythonTestingToolsTaxonomy for more details.