Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Testing Roadmap: Difference between revisions

From MoodleDocs
No edit summary
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Work in progress}}
==Introduction==
==Introduction==
This page documents the current work being performed as a process of continuous improvement and testing planned at Moodle. Testing fulfils multiple roles within Moodle, from actually assisting Moodle developers to create a high quality product and mitigating risks during projects to providing user confidence in the product through reporting, feedback and visibility.
This page documents the current work being performed as a process of continuous improvement and testing planned at Moodle. Testing fulfils multiple roles within Moodle, from actually assisting Moodle developers to create a high quality product and mitigating risks during projects, to re-enforcing user confidence in the product through reporting, feedback and visibility.


==Areas of the Testing Process Improvement Currently Under Development==
==Areas of the Testing Process Improvement Currently Under Development==
Due to dependencies such as the QA test cycle, testing is aligned with Moodle's 6 monthly times release cycle. Version 2.4 of Moodle is scheduled for release in December 2012.
Due to dependencies such as the QA test cycle, testing is aligned with Moodle's 6 monthly times release cycle. Version 2.4 of Moodle is scheduled for release in December 2012.
===Test Environments===
===Test Environments===
Implement Oracle and MSSQL test databases for test automation. '''Issue to be added'''
*[http://tracker.moodle.org/browse/MDLTEST-302 MDLTEST-302] Implement Oracle and MSSQL test databases for test automation.
 
===Test Automation===
===Test Automation===
*[http://tracker.moodle.org/browse/MDLTEST-240 MDLTEST-240] Create the nightly build machine. A Jenkins server is required to run an automated nightly build of Moodle.
*[http://tracker.moodle.org/browse/MDLTEST-240 MDLTEST-240] Create the nightly build machine. A Jenkins server is required to run an automated nightly build of Moodle.
Line 12: Line 12:
*[http://tracker.moodle.org/browse/MDLTEST-274 MDLTEST-274] Implement Behat Behavioural Driven Development (BDD) framework with Selenium in PHP. We already have a suite of tests running in Selenium against core modules in Moodle on a nightly basis. This project adds usability to the tool allowing the community to implement automated tests easily using a ubiquitous, domain specific language.
*[http://tracker.moodle.org/browse/MDLTEST-274 MDLTEST-274] Implement Behat Behavioural Driven Development (BDD) framework with Selenium in PHP. We already have a suite of tests running in Selenium against core modules in Moodle on a nightly basis. This project adds usability to the tool allowing the community to implement automated tests easily using a ubiquitous, domain specific language.
*[http://tracker.moodle.org/browse/MDLTEST-256 MDLTEST-256] This implements our selenium tests on the nightly build machine against a Selenium 2 Grid.
*[http://tracker.moodle.org/browse/MDLTEST-256 MDLTEST-256] This implements our selenium tests on the nightly build machine against a Selenium 2 Grid.
*[http://tracker.moodle.org/browse/MDLTEST-284 MDLTEST-284] Implement Unit tests on the nightly build machine against Postgres database. The plan is to increase the coverage of tests against the different supported database drivers. We already run continuous integration against the MySQL database driver at every checkin.
*[http://tracker.moodle.org/browse/MDLTEST-284 MDLTEST-284] Implement Unit tests on the nightly build machine against Postgres database. The plan is to increase the coverage of tests against the different supported database drivers. We already run continuous integration against the MySQL database driver at every check-in.
===Test Management===
===Test Management===
*[http://tracker.moodle.org/browse/MDLTEST-296 MDLTEST-296] Implement a new test management tool. Using Jira to document testing creates a large documentation overhead when adding or updating tests. Find a replacement.
*[http://tracker.moodle.org/browse/MDLTEST-296 MDLTEST-296] Implement a new test management tool. Using Jira to document testing creates a large documentation overhead when adding or updating tests. Find a replacement.
*[http://tracker.moodle.org/browse/MDLTEST-273 MDLTEST-273] A test automation strategy document. This will define the processes and practices used when deciding what to automate and how.
*[http://tracker.moodle.org/browse/MDLTEST-273 MDLTEST-273] A test automation strategy document. This will define the processes and practices used when deciding what to automate and how.
*[http://tracker.moodle.org/browse/MDLTEST-301 MDLTEST-301] Add tests for the 2.4 QA cycle based upon the current [https://docs.moodle.org/dev/Roadmap roadmap].
==Future Work==
The work here is planned for the near future and, although unlikely, may be completed or partially competed before the 2.4 release of Moodle.
*Implementation of a method for serving Development test environment VM's using a tool such as Vagrant and Chef. This will include the relevant templates.
*Increase Selenium test automation coverage.
*Add performance test jobs to the nightly build for MSSQL and Oracle databases.
*Add unit test jobs to the nightly build for MSSQL and Oracle databases.
*Add more browser interoperability testing to the nightly build using Selenium.
*Performance testing reporting improvements.

Latest revision as of 03:17, 6 September 2012

Introduction

This page documents the current work being performed as a process of continuous improvement and testing planned at Moodle. Testing fulfils multiple roles within Moodle, from actually assisting Moodle developers to create a high quality product and mitigating risks during projects, to re-enforcing user confidence in the product through reporting, feedback and visibility.

Areas of the Testing Process Improvement Currently Under Development

Due to dependencies such as the QA test cycle, testing is aligned with Moodle's 6 monthly times release cycle. Version 2.4 of Moodle is scheduled for release in December 2012.

Test Environments

  • MDLTEST-302 Implement Oracle and MSSQL test databases for test automation.

Test Automation

  • MDLTEST-240 Create the nightly build machine. A Jenkins server is required to run an automated nightly build of Moodle.
  • MDLTEST-246 Add performance testing comparison tool and performance tests to the nightly build.
  • MDLTEST-274 Implement Behat Behavioural Driven Development (BDD) framework with Selenium in PHP. We already have a suite of tests running in Selenium against core modules in Moodle on a nightly basis. This project adds usability to the tool allowing the community to implement automated tests easily using a ubiquitous, domain specific language.
  • MDLTEST-256 This implements our selenium tests on the nightly build machine against a Selenium 2 Grid.
  • MDLTEST-284 Implement Unit tests on the nightly build machine against Postgres database. The plan is to increase the coverage of tests against the different supported database drivers. We already run continuous integration against the MySQL database driver at every check-in.

Test Management

  • MDLTEST-296 Implement a new test management tool. Using Jira to document testing creates a large documentation overhead when adding or updating tests. Find a replacement.
  • MDLTEST-273 A test automation strategy document. This will define the processes and practices used when deciding what to automate and how.
  • MDLTEST-301 Add tests for the 2.4 QA cycle based upon the current roadmap.

Future Work

The work here is planned for the near future and, although unlikely, may be completed or partially competed before the 2.4 release of Moodle.

  • Implementation of a method for serving Development test environment VM's using a tool such as Vagrant and Chef. This will include the relevant templates.
  • Increase Selenium test automation coverage.
  • Add performance test jobs to the nightly build for MSSQL and Oracle databases.
  • Add unit test jobs to the nightly build for MSSQL and Oracle databases.
  • Add more browser interoperability testing to the nightly build using Selenium.
  • Performance testing reporting improvements.