MediaWiki testing

From Meta, a Wikimedia project coordination wiki
Jump to navigation Jump to search

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

Automated testing[edit]

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 tests[edit]

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 tests[edit]

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 tests[edit]

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 testing[edit]

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 also[edit]