-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Testing
fred-wang edited this page Apr 13, 2012
·
14 revisions
- Maintain Selenium up-to-date and support more platforms.
- Maintain documentation of the testing framework.
- Report browser bugs upstream.
- Maintain the testsuite:
- Ensure that the tests work correctly on all platforms.
- Add tests for new MathJax issues.
- Find a way to improve simulation of user interaction via Selenium 2's "native events". Improve/Complete UI and Configuration tests that require this feature.
- Continue to improve the testing framework interface, including:
- Interface to choose/update a browser version (stable, beta, nightly etc). For the moment this is possible with Selenium 1 by installing the programs somewhere on a test machine and setting the browserPath configuration option accordingly.
- Set up machines to run tests and report errors regularly.
- Tests covering most of the LaTeX support. Done
- Tests covering most of the MathML support. Done
- Tests covering most of the public API. Done
- Tests covering most of the Configuration options. Done
- Tests covering most of the UI. Done
- Web User Interface to control the testing instances. Done (see taskViewer.png in attachment)
- Allow scheduling testing instances. Done
- Upgrade Selenium and support more platforms. Done (see Migration from Selenium 1 to Selenium 2 and Platforms Supported)
- Interface to choose/update a version of MathJax (stable, development, developer's branches etc). Done
- Set up the webfactional machine to store the test suite, the development branches, the test runner and the QA web interface. Done
- Set up DSI test machines to run automated tests. Done
Connect the webfactional machine with the test machines.
- Analyze areas of functionality to be tested, strategy for testing them, and identifying test cases to be created.
- See TestSuite
- Review automated test frameworks, and select one.
- See Automated Test Framework. Our choice is Selenium. We plan to move to Selenium 2 as soon as it is released to gain support for Opera. Google is also providing Selenium support for mobile devices, which we will use as it becomes available.
- Create a test plan. After preliminary discussions with Frédéric, our plan is:
- Create Selenium ref tests for LaTeX and MathML processing, rendering, and UI testing that can be automated.
- Create "scenario tests" for installation, configuration, API and UI testing that can't easily be tested with Selenium ref tests. The scripts in the current ./test directory can be thought of as an initial step in this direction
- Define testing procedures.
- Create a test suite of ref tests to be executed in Selenium. The plan here is:
- Robert will setup a github repository dedicated to MathJax testing.
Robert will find people to try Selenium and the automated testing from MathJax-test github repository.- Frédéric will start writing reftests for LaTeXToMathML and MathMLToDisplay covering the main features.
- Frédéric will check the issue trackers for sensitive parts of the implementation that should be tested in priority (marked with QA tags).