Extension talk:Selenium.php
Selenium is a browser testing environment for testing the various aspects of a sites features and functionality from a users perspective. We see this as an extremely useful tool for use in the MediaWiki environment, for testing MediaWiki installations and installed extensions. Such tests could be maintained along with extension code and documentation by the community responsible for that extension.
Selenium is available for many programming environments including PHP. The tests are written in a simple language called Seleniumese which can be contained in many common textual structures such as XML or HTML. Essentially tests are just lists of Selenium function calls so if tests were maintained as articles in the wiki, a bullet list would be most appropriate. There are also test suites which are in a similar format to the tests but refer to a list of tests rather than a list of functions. We have some example test which act on a wiki here.
The idea of the extension is to allow a simple means of incorporating tests along with extensions which can be maintained as articles in the wiki, and a special page used to manually run the tests. Also we'd like the ability to run tests on a regular schedule and have an email or talk-page based failure notification system. This would allow us to know immediately when changes to code affect functionality when running in various MediaWiki versions.
Taking testing to a further level of organisation would allow us to package up wiki-based organisational systems which exactly specify their functionality and exhibit corresponding tests for every item specified. This would allow us to move into a higher level of service automation and would form the basis of a more robust SLA-based service architecture.