Difference between revisions of "GSOC 2013 Project Ideas/template"

From Joomla! Documentation

< GSOC 2013 Project Ideas
(Created page with "====Project: Add here the name of the project==== :'''Brief explanation:''' Brief explanation of the project that the Google Summer of Code 2013 will do. :'''Expected Result...")
 
(system test coverage project)
Line 1: Line 1:
====Project: Add here the name of the project====
+
====Project: Webdriver system tests for CMS ====
  
:'''Brief explanation:''' Brief explanation of the project that the Google Summer of Code 2013 will do.
+
:'''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 [https://code.google.com/p/selenium/wiki/PageObjects 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:''' please describe here the task that the student will have to cover in this project.
+
:'''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:''' List the technologies that the user need to have in order to accomplish the project
+
:'''Knowledge Prerequisite:''' PHP, object-oriented programming, Joomla CMS (from a user point of view), HTML
  
:'''Difficulty:''' Level of difficulty between Easy, Medium or Hard
+
:'''Difficulty:''' Medium
  
  
 
<noinclude>[[Category:Google Summer of Code 2013]]</noinclude>
 
<noinclude>[[Category:Google Summer of Code 2013]]</noinclude>

Revision as of 13:17, 13 March 2013

Project: Webdriver system tests for CMS[edit]

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.
  1. Create a strategy & roadmap for Joomla system tests. This will include things like:
    1. How to organize the tests.
    2. How to cover the critical back-end and front-end functionality of Joomla.
  2. 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.
  3. Begin the implementation of the roadmap.
Knowledge Prerequisite: PHP, object-oriented programming, Joomla CMS (from a user point of view), HTML
Difficulty: Medium