Testing is often a lengthy and boring process. MPICH contains a test suite that attempts to test the implementation of each MPI routine. While not as systematic as some commercial testing systems, which can dwarf the size of the original package, our test suite has proven invaluable to us in identifying problems before new releases. Many of the test programs originated as bug-demonstration programs sent to us by our users. In MPICH, we automate the testing process through the use of scripts that build, test, and generate a document that summarizes the tests, including the configuration, correctness, and performance results. The testing system is provided as part of the distribution.