MediaWiki testing

As with any other piece of software, MediaWiki needs testing by humans and by automated scripts to ensure quality.

Automated testingEdit

Automated testing of MediaWiki is hard. Much of the functionality depends on Web interaction, and the output is HTML, which is tough to evaluate for correctness.

Parser testsEdit

There is a parser test suite in the maintenance directory; run 'make test' or fiddle around with running parserTests.php directly. This runs a bunch of wikitext samples through the parser with a known set of settings and ensures that they come out to the expected results. Newly discovered problems with the parser should be added as test cases to parserTests.txt.

Unit testsEdit

A highly incomplete set of unit tests using PHPUnit is being added in the tests/ subdirectory. These test various functions in relative isolation. Coverage is limited so far.

Unicode testsEdit

The Unicode normalization library in includes/normal has its own test suite, including a run of the conformance tests, some custom unit tests, a random input tester to compare against the C++ module. The main test suite can be run via 'make test'; this will fetch some source data files from the net (requires wget) and run the conformance and unit tests.

Manual testingEdit

Interactive behavior is not yet subject to automated tests, so most testing of the UI is going to be manual. The MediaWiki test script contains instructions for doing a complete manual test of the software.

See alsoEdit