Bug Squad

From Joomla! Documentation

Revision as of 13:37, 30 November 2013 by Tom Hutchison (talk | contribs) (added Category:PLT using HotCat)

JBS Portal Page · Bug Squad · Tracker Team · Coding Team · Automated Testing Team

Introduction to the Joomla! Bug Squad


<translate> The Joomla! Bug Squad (JBS) is a team within the Production Department. Their job is to identify and fix bugs in Joomla. This includes the following:</translate>

<translate>

<translate>

<translate>

<translate> The Bug Squad is also supporting with testing and quality assurance when a new major or minor version is developed. Generally speaking the bug-squad is in the lead when a version switches from beta-stage to the stable-stage within the development cycle of Joomla!</translate>


Bug Squad Background


<translate> Shortly after Joomla! came into the world, the Quality & Testing Working Group was created[1] to test and evaluate major and minor releases for security, stability and performance issues. The team should organise, process and test reports and suggestions provided by the community in order to improve the code base between major and minor releases[2].</translate>

<translate> The release of Joomla! 1.5 Beta2 marked the transition from the Development Working Group leading the process to the Quality & Testing Working Group leading the development process[3]. The focus thus had officially shifted from features to stability and security. Unfortunately, because of the long period of down time between the release of Joomla! 1.0.12 and the change of lead to the Quality & Testing team for the Joomla! 1.5 cycle, many of the Quality & Testing members had disappeared. The team was overburdened with the process. Finally in September 2007, the Quality & Testing Working Group was disbanded[4].</translate>

<translate> To fill the gap, the first Pizza, Bugs and Fun (PBF) event was organised[5], with Joomlers gathering in New York, San Francisco, Washington DC, Vancouver and Brussels in the beginning of December 2007. In three days around 100 commits were processed and 88 artifacts closed[6].</translate>

<translate> During the PBF event, the idea for a new team was born. The team was called "The Bug Squad", and should help organise the feedback process, keep the tracker up to date, perform testing, guide people in the forums and during PBF events, and provide patches to the Development Working Group, to which the Bug Squad would be a sub-team[7].</translate>

<translate> In May 2010, the Joomla! Bug Squad (JBS) had been organised into the different teams: a Tracker Team to monitors the forums and trackers, a Coding Team to create patches for confirmed issues, a Testing Team to test pending issues, an Automated Testing Team to create automated system and unit tests for tracker issues, and a Migration and Upgrade Team to support migration and upgrading from the prior version to the current version.</translate>

<translate> In the following years, the team structures changed a lot. The introduction of the Volunteers Portal made most of the working groups bubble to the main level. A System Testing Working Group and a Unit Testing Working Group were created and in January 2015 combined into the Automated Testing Working Group on the same organisational level as the Bug Squad. Specific Release teams were in charge to support migration and upgrades.</translate>

<translate> With the transition to the new structure in January 2017, the Joomla! Bug Squad, as any other team in the Production Department, had to redefine its purpose, function and roles. This was an opportunity for JBS to reflect on its origins. Although the purpose still was to reduce the number of bugs in Joomla, not only for the CMS, but for every Joomla project, helping and mentoring developers and contributors with bug squashing gained significant importance. </translate>

<translate>

References

</translate>


Contacts


<translate>

Joomla! Bug Squad Team Leader</translate>

Jacob Waisner
<translate>

To request to join the Bug Squad</translate>

Bug Squad


Meet the Bug Squad Teams

The following is a list of all the Bug Squad Teams and a brief description of what each one does. Use the contact information found above if you would like to help the Bug Squad or become a JBS member!

Tracker Team

<translate> This team has the very important and sometimes difficult job of filtering all of the forum posts and bug reports and sorting out which ones are real bugs that are ready to be worked on. From the standpoint of the tracker, their job is to move issues from Open status to Confirmed status. Of course, many issues will also be put into other status codes, including Information Required, Needs Review, Duplicate, Not a Bug, and so on.</translate>

<translate> Before an issue is marked Confirmed, it needs to be reproduced and documented so that others can reproduce the problem.</translate>

<translate> The Tracker Team should also make sure the issue has the correct Type and Priority. Remember, many users reporting bugs are not familiar with all of the fields and terminology. In many cases, this could be the user's first contribution or interaction with the project.</translate>

For more information see the Tracker Team page

Coding Team

The coding team works with Confirmed issues and creates patches to correct these issues if they haven't already been provided. When a patch is completed, and when a test plan has been added that tells the testers how to test the patch, the issue is changed to Pending status.

Many times the first patch submitted for an issue will not be the actual patch that is committed. There are many reasons for this. Someone else may have a different approach to the solving the issue, a tester might find a problem, or the person who submitted the patch will think of a better way to do it.

It is important to be positive and flexible and not expect that every patch you submit will go straight into the SVN. That does not mean the work is not helpful or valuable. In many cases, it is not possible to get to the result without going through one or more tries.

For more information see the Coding Team page.

Testing Team

Bug Squad Testing Team

For more information see the Testing Team page.

Automated Testing Team


<translate> 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.</translate>

<translate> 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>

<translate>

Team Members

</translate> <translate> Please visit the Volunteers Portal to get an overview of the members of this team.</translate>

<translate>

Goals

</translate> <translate>

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

<translate>

Roadmap

</translate> <translate> 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>

<translate>

History

</translate>

<translate>

2017

</translate> <translate>

  • Merge system tests into core (tests/codeception)</translate>

<translate>

Google Summer of Code

</translate> <translate>

  • JavaScript Tests for Joomla 4
  • Parallel Testing setup
  • PR Testing platform.</translate>

<translate>

2016

</translate> <translate>

  • System test architecture.</translate>

<translate>

Google Summer of Code

</translate> <translate>

  • JavaScript Tests with Karma and Jasmine
  • focus on Joomla system Tests and test architecture for Joomla.</translate>

<translate>

GSoC 2014

</translate> <translate>

<translate>

Documents

</translate>

  • <translate>

Writing System Tests for Joomla!</translate>

  • <translate>

Writting system tests with Codeception: Testing Joomla Extensions with Codeception</translate>

  • <translate>

Javier Gomez presentation of Joomla System Testing at Joomla World Conference 2014:</translate> http://prezi.com/qsf17leurgbe/automated-system-testing-in-joomla/

  • <translate>

Joomla! Testing Overview 2016 session slides:</translate> https://www.slideshare.net/YvesHoppe/joomla-testing-jdd-germany-2016.

<translate>

Projects

</translate>

  • <translate>

Joomla System tests:</translate> https://github.com/joomla/joomla-cms/tree/staging/tests/codeception

Extension testing project with Codeception</translate>

  • <translate>

Old system tests repository:</translate> https://github.com/joomla-projects/gsoc16_browser-automated-tests

  • <translate>

Basic steps and actions for Joomla Selenium / Codeception tests:</translate> https://github.com/joomla-projects/joomla-browser

  • <translate>

JoRobo build scripts for building extensions:</translate> https://github.com/joomla-projects/jorobo

  • <translate>

Joomla Robo.li testing scripts:</translate> https://github.com/joomla-projects/joomla-testing-robo

  • <translate>

The Joomla Docker Container for System Tests</translate>

  • <translate>

Docker system testing image:</translate> https://github.com/joomla-projects/docker-systemtests

  • <translate>

JS Tests (merged in core):</translate> https://github.com/joomla-projects/gsoc16_js-unit-tests

  • <translate>

Joomla vagrant testing box:</translate> https://github.com/joomla-projects/vagrant-joomla-testing

  • <translate>

Selenium package with webdrivers:</translate> https://github.com/joomla-projects/selenium-server-standalone


For more information see the Automated Testing Team page.

Migration and Update Team