Brief explanation: Automated system tests allow us to test the CMS by automatically running Joomla from a browser, selecting menu options, and evaluating results. At present, most of the system tests are written using the now-outdated Selenium RC program. A small number of tests are currently completed using the newer Selenium Webdriver technology and using the Page Objects pattern to separate the page objects from the test objects. This project will build on the current base of Webdriver tests and expand the test coverage to include more of the CMS.
Expected Results: The student will complete the following tasks.
Create a strategy & roadmap for Joomla system tests. This will include things like:
How to organize the tests.
How to cover the critical back-end and front-end functionality of Joomla.
Write the reusable foundation classes for the expanded test coverage. These classes will be used to create the page object classes and test classes for the various portions of the CMS.
Begin the implementation of the roadmap.
Knowledge Prerequisite: PHP, object-oriented programming, Joomla CMS (from a user point of view), HTML