PythonTestingToolsTaxonomy¶
Legacy Wiki Page
This page was migrated from the old MoinMoin-based wiki. Information may be outdated or no longer applicable. For current documentation, see python.org.
Join the Testing In Python (TIP) mailing list for Python testing tools discussions!
This wiki page is originated from PyCheeseCake and it was originally created by Grig Gheorghiu
Unit Testing Tools¶
The following tools are not currently being developed or maintained as far as we can see. They are here for completeness, with last activity date and an indication of what documentation there is. If you know better, please edit.
Mock Testing Tools¶
See also here for a side-by-side syntax comparison between some of the more popular tools in this space.
Fuzz Testing Tools¶
According to Wikipedia, “fuzz testing” (or “fuzzing”) is a software testing technique whose basic idea is to attach the inputs of a program to a source of random data (“fuzz”). If the program fails (for example, by crashing, or by failing built-in code assertions), then there are defects to correct. The great advantage of fuzz testing is that the test design is extremely simple, and free of preconceptions about system behavior.
Web Testing Tools¶
First, let’s define some categories of Web testing tools:
Browser simulation tools: simulate browsers by implementing the HTTP request/response protocol and by parsing the resulting HTML
Browser automation tools: automate browsers by driving them for example via COM calls in the case of Internet Explorer, or XPCOM in the case of Mozilla
In-process or unit-test-type tools: call an application in the same process, instead of generating an HTTP request; so an exception in the application would go all the way up to the command runner (py.test, unittest, etc).
Acceptance/Business Logic Testing Tools¶
GUI Testing Tools¶
The following tools were being actively developed and maintained when this page was last edited, and have usable documentation.
The following tools are not currently being developed or maintained as far as we can see. They are here for completeness, with last activity date and an indication of what documentation there is. If you know better, please edit.
Source Code Checking Tools¶
Code Coverage Tools¶
Continuous Integration Tools¶
Although not properly a part of testing tools, continuous integration tools are nevertheless an important addition to a tester’s arsenal.
Automatic Test Runners¶
Tools that run tests automatically on file changes. Provides continuous feedback during development before continuous integration tools act on commits.