<translate> The Joomla! Bug Squad (JBS) is a team within the Production Working Groups. Their job is to identify and fix bugs in Joomla. This includes the following:</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>
<translate> The Bug Squad was created in December 2007. As of May 2010, JBS has been organised into the following teams:</translate> <translate>
- Tracker Team - Monitors the forums and trackers.</translate>
- Coding Team - Creates patches for Confirmed Issues.</translate>
- Migration and Upgrade Team - Responsible for supporting migration and upgrading from the prior version to the current version.</translate>
<translate> These teams are not rigid, and JBS members can participate in whatever activities they wish. The purpose of these teams are to make it easier for the JBS members to focus their efforts and learn the skills required to successfully contribute to the project.</translate>
<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>
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>
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 end result without going through one or more tries.
This team tests Pending issues and, when tests are successful, documents this and moves the issue to Ready to Commit status. At this point, one of the JBS coordinators will commit the patch to the SVN.
Over time, we plan to include more automated testing into the process. Eventually, we would like every Ready to Commit issue have both a code patch and an automated system or unit test. Accordingly, it will be important for members of the testing team to be learning how to write and use system tests.
There are some tips for testing in the wiki in the Testing Checklists article.
Automated Testing Team
Automated testing is a key technology that we will incorporate into the workings of JBS. At the present, this is a somewhat specialized skill, so we will start by developing a separate team of people who are familiar with this and can help write automated tests and train other JBS members on automated testing. Our aim is to eventually make automated testing a routine part of fixing issues.
For more information see the Automated Testing Team page.
Migration / Upgrade Team
This team is responsible for coding and documenting the upgrade process for users migrating sites or extensions from one version to the next (for example, from version 1.5 to 1.6). They will be responsible for creating and fixing issues in this area of the code.