This document and its children are in development and subject to change -- contact Anthony Hughes (:ashughes) if you have questions.
The DOM team works on Mozilla's implementation of the W3C's Document Object Model spec, Gecko's event infrastructure, Web Workers, IndexedDB, and many other parts of Gecko. QA's role in the DOM team is to ensure new features are implemented to spec without regression, assist with development of automated tests, and to triage bugs so that critical issues do not slip through the cracks. As the DOM QA team is relatively small we depend a lot on developers engaging in the QA process and the participation of volunteers. The purpose of this document is to help clarify some of the ways developers and volunteers can help QA.
The Role of QA
Quality Assurance (QA) plays an important role in the development process. Although we have limited resources, we provide many services which aide the development process. The following short-list attempts to illustrate some of the services we provide.
- Making sure bugs have the correct flags, keywords, and other relevant information so they can be tracked correctly
- Making sure bugs have sufficient test coverage
- Making sure bugs are actionable by investigating regression windows, steps to reproduce, minimized testcases, and whatever else developers need to find and fix the bug
- Making sure crashes are tracked in actionable bug reports
- Making sure Release Management is aware of important bugs
- Making sure tracked bugs are in progress and stay in progress
- Making sure bugs aren't slipping through the cracks by conducting periodic triage
- Making sure new features ship on time and meet a sufficient standard of quality
- Making sure features and processes are adequately documented
- Making sure participation in the team is accessible and well documented
When successful, these services help move bugs forward which ultimately leads to higher quality releases.
The Role of Developers
Developers play a key role in the quality assurance process. Unfortunately the bug volume is too high for the comparatively few number of QA eyes. We need developers to help us identify bugs we've otherwise missed through bug triage. To this end, here are some simple steps a developer can take to help QA.
- Make sure the in-testsuite+ flag is set on your bugs which have sufficient test coverage.
- Use the in-qa-testsuite? flag to request QA assistance with test coverage.
- Use the qe-verify- flag to mark bugs which do NOT need QA attention.
- Use the qe-verify? flag to nominate bugs for QA verification.
- Use the qawanted keyword to request QA assistance on an unactionable bug.
- Use the regressionwindow-wanted keyword when a regression window is needed to make a bug actionable.
- Use the steps-wanted keyword when steps to reproduce are needed to make a bug actionable.
- Use the testcase-wanted keyword when a reduced testcase is needed to make a bug actionable.
- Most importantly, set the needinfo? flag to ashughes for any bug needing QA attention.
The more developers are engaged in QA, the more likely we are to catch serious regressions before they are released.
As mentioned above, there are several processes which ensure a high standard of quality in our releases. Please select an article to learn more.