Automated Tests Working Group: Difference between revisions

From Joomla! Documentation

No edit summary
m Add missing translation tag
 
(12 intermediate revisions by 3 users not shown)
Line 1: Line 1:
This is the home page of the Automated Test Working Group, that is the result of combining the old System Testing Working Group and the Unit Testing Working Group.
<noinclude><languages /></noinclude>
<translate><!--T:1-->
The '''Automated Testing Team ''' falls under the responsibility of the [https://volunteers.joomla.org/departments/production Production Department], which oversees all aspects related to the code of all software lead by the Joomla! Project.</translate><br />


== Team Members ==
<translate><!--T:2-->
See the full list at: http://volunteers.joomla.org/working-groups/automated-tests-working-group
This is the home page of the Automated Test Team. This team is the result of combining the old System Testing Working Group and the Unit Testing Working Group.</translate>


== Goals ==
<translate>
* to improve the Quality of Joomla CMS software
== Team Members == <!--T:3-->
* to create learning material about "how to test" for the Joomla Community
</translate>
<translate><!--T:4-->
Please visit the [https://volunteers.joomla.org/teams/automated-tests-working-group Volunteers Portal] to get an overview of the members of this team.</translate>


== Roadmap==
<translate>
The next steps in this team are:
== Goals == <!--T:5-->
</translate>
<translate><!--T:6-->
* Improve the Quality of Joomla CMS software
* Create learning material about "how to test" for the Joomla Community.</translate>
<translate>
== Roadmap== <!--T:7-->
</translate>
<translate><!--T:8-->
The next steps for 2017 / 2018 are:
* System test coverage for Joomla! CMS core
* Update PHPUnit to newest version
* Code Sniffer rules
* New docker based infrastructure
* Extension Tests for B/C.</translate>


=== GSoC 2014 ===
<translate>
* focus on [[GSOC_2014_Project_Ideas#Project:_Webdriver_system_tests_for_CMS|Google Summer of Code 2014 Project: Webdriver_system_tests_for_CMS]]
==History== <!--T:9-->
</translate>


=== Sauce Labs integration ===
<translate>
* Test SauceLabs and Travis integration with the repo at GitHub: https://saucelabs.com/opensource/travis. It will require the use of Paratest, to run several tests at the same time, otherwise it will take too long (more than 8 hours just the /Adminitrator/ tests)
=== 2017 === <!--T:10-->
</translate>
<translate><!--T:11-->
* Merge system tests into core (tests/codeception)</translate>


=== Improvements in current tests ===
<translate>
* '''(done)''' Create an Assert in all test that makes sure there is not any warning, even if the test passes. See this example:{{-}}[[File:System tests-example of warning.png|450px]]{{-}}
=== Google Summer of Code === <!--T:12-->
* '''(done)''' Create a graphical test coverage report
</translate>
* Move to Codeception framework. Some tests are being done here: https://github.com/joomla-projects/com_localise/tree/codeception#testing-with-codeception
<translate><!--T:13-->
* Create a Best Practice in System testing Joomla! extensions with https://github.com/joomla-projects/com_localise component.
* JavaScript Tests for Joomla 4
** reorganise folders inside codeception for _step objects and _pages (we need to wait for Codeception 2.1, see: http://phptest.club/t/issue-with-codeception-autoload-and-namespaces/192 )
* Parallel Testing setup
** Run tests in parallel, see: https://twitter.com/JAVI_GOMEZ/status/523422301384368128
* PR Testing platform.</translate>


=== Travis ===  
<translate>
We have Travis complaining about this:
=== 2016 === <!--T:14-->
<source lang="php">
</translate>
E.................E.........
<translate><!--T:15-->
I'm sorry but your test run exceeded 50.0 minutes.
* System test architecture.</translate>
One possible solution is to split up your test run.
</source>
We need to find a solution, for example: http://blog.travis-ci.com/2012-11-28-speeding-up-your-tests-by-parallelizing-them/  


=== Test Joomla extension ===  
<translate>
The goal of this project is to test com_localise extension https://github.com/joomla-projects/com_localise/ to create a proof of concept and documentation to teach others how to test their Joomla Extensions.
=== Google Summer of Code === <!--T:16-->
</translate>
<translate><!--T:17-->
* JavaScript Tests with Karma and Jasmine
* focus on Joomla system Tests and test architecture for Joomla.</translate>


After com_localise our efforts will be moved to com_weblinks https://github.com/joomla-extensions/weblinks/issues/10
<translate>
=== GSoC 2014 === <!--T:18-->
</translate>
<translate><!--T:19-->
* Focus on [[S:MyLanguage/GSOC_2014_Project_Ideas#Project:_Webdriver_system_tests_for_CMS|Google Summer of Code 2014 Project: Webdriver system tests for CMS]].</translate>


=== Create a infrastructure for fast testing the CMS ===
<translate>
We plan to run create a battery of webservers able to run several instances of the system tests with different configuration: browser, screen size, testing area...


The idea is to create a server infraestructure capable to create a set of virtual machines and run individually part of the system testing suite on each of them. Then send a signal back to issues.joomla.org to change the status of a pull request to OK or KO depending on the result of running the tests.  
== Documents == <!--T:20-->
</translate>
* <translate><!--T:21-->
[[S:MyLanguage/Writing_System_Tests_for_Joomla!_-_Part_1|Writing System Tests for Joomla!]]</translate>
* <translate><!--T:22-->
Writting system tests with Codeception: [[S:MyLanguage/Testing Joomla Extensions with Codeception|Testing Joomla Extensions with Codeception]]</translate>
* <translate><!--T:24-->
Javier Gomez presentation of Joomla System Testing at Joomla World Conference 2014:</translate> http://prezi.com/qsf17leurgbe/automated-system-testing-in-joomla/
* <translate><!--T:25-->
Joomla! Testing Overview 2016 session slides:</translate> https://www.slideshare.net/YvesHoppe/joomla-testing-jdd-germany-2016.


== Documents ==
<translate>
* [[Writing_System_Tests_for_Joomla!_-_Part_1|Writing System Tests for Joomla!]]
* GSOC-Webdriver_system_tests_for_CMS repository: https://github.com/joomla-projects/GSOC-Webdriver_system_tests_for_CMS
* Writting system tests with Codeception: [[Testing Joomla Extensions with Codeception]]
* Javier Gomez presentation of Joomla System Testing at Joomla World Conference 2014: http://prezi.com/qsf17leurgbe/automated-system-testing-in-joomla/


== Projects ==
== Projects == <!--T:26-->
* com_localise: https://github.com/joomla-projects/com_localise/tree/codeception project for testing a Joomla extension with Codeception framework adding parallel testing and Saucelabs or BrowserStack integration.
</translate>
* https://github.com/joomla-projects/Codeception/ fork of original Codeception project for bug fixing and contributing to the main project.
* <translate><!--T:27-->
* The Joomla [[Docker Container for System Tests]]
Joomla System tests:</translate> https://github.com/joomla/joomla-cms/tree/staging/tests/codeception
* com_weblinks: https://github.com/joomla-extensions/weblinks - <translate><!--T:38-->
Extension testing project with Codeception</translate>
* <translate><!--T:28-->
Old system tests repository:</translate> https://github.com/joomla-projects/gsoc16_browser-automated-tests
* <translate><!--T:29-->
Basic steps and actions for Joomla Selenium / Codeception tests:</translate> https://github.com/joomla-projects/joomla-browser
* <translate><!--T:30-->
JoRobo build scripts for building extensions:</translate> https://github.com/joomla-projects/jorobo
* <translate><!--T:31-->
Joomla Robo.li testing scripts:</translate> https://github.com/joomla-projects/joomla-testing-robo
* <translate><!--T:32-->
The Joomla [[S:MyLanguage/Docker Container for System Tests|Docker Container for System Tests]]</translate>
* <translate><!--T:33-->
Docker system testing image:</translate> https://github.com/joomla-projects/docker-systemtests
* <translate><!--T:34-->
JS Tests (merged in core):</translate> https://github.com/joomla-projects/gsoc16_js-unit-tests
* <translate><!--T:35-->
Joomla vagrant testing box:</translate> https://github.com/joomla-projects/vagrant-joomla-testing
* <translate><!--T:36-->
Selenium package with webdrivers:</translate> https://github.com/joomla-projects/selenium-server-standalone


<noinclude>
<translate>
<!--T:37-->
[[Category:Production_Department]]
[[Category:Automated Testing]]
[[Category:Active Working Groups]]
[[Category:Working Groups]]
[[Category:Working Groups]]
[[Category:PLT]]
</translate>
[[Category:Automated Testing]]
</noinclude>

Latest revision as of 14:38, 2 April 2019

The Automated Testing Team falls under the responsibility of the Production Department, which oversees all aspects related to the code of all software lead by the Joomla! Project.

This is the home page of the Automated Test Team. This team is the result of combining the old System Testing Working Group and the Unit Testing Working Group.

Team Members

Please visit the Volunteers Portal to get an overview of the members of this team.

Goals

  • Improve the Quality of Joomla CMS software
  • Create learning material about "how to test" for the Joomla Community.

Roadmap

The next steps for 2017 / 2018 are:

  • System test coverage for Joomla! CMS core
  • Update PHPUnit to newest version
  • Code Sniffer rules
  • New docker based infrastructure
  • Extension Tests for B/C.

History

2017

  • Merge system tests into core (tests/codeception)

Google Summer of Code

  • JavaScript Tests for Joomla 4
  • Parallel Testing setup
  • PR Testing platform.

2016

  • System test architecture.

Google Summer of Code

  • JavaScript Tests with Karma and Jasmine
  • focus on Joomla system Tests and test architecture for Joomla.

GSoC 2014


Documents


Projects