From MozillaWiki
< QA
Jump to: navigation, search


The "One and Done" initiative, previously known as "QA Taskboard", is a workflow where Mozilla community contributors can pick tasks and work on them - one at a time, one day at a time - and feel good about doing them.

Mozilla QA sees the "One and Done" initiative as a way for Mozilla community contributors to get introduced to various projects and then to become involved in an area of their interest.

Contributors would be able to find their voice in the community, be able to engage meaningfully, and feel rewarded for their contribution.

Product Version 1.0


  • Goals for Mozilla QA:
    • Make it easy to attract and engage people who want to contribute.
    • Work well for Mozilla QA's needs and dovetail nicely into existing workflows.
  • Goals for Mozilla Community Contributors:
    • Help new people come in and find their voice.
    • Enable people to contribute in an area of their interest.
    • Enable people to take up and complete tasks broken up into well-defined chunks with respect to time, scope and difficulty level.
    • Reward people for their contribution.


One and Done workflow with mockups:

User Stories

User Stories for the Mozilla Community Contributor

A Mozilla Community Contributor should be able to:

  1. Create a personal profile to state areas of interest, technical ability, time generally available at hand on a daily basis, etc.
  2. Go through a list of tasks that match the profile.
  3. Pick up one task that matches profile and current time available.
  4. Read clear instructions on how to do the task.
  5. Get help from Mozilla QA Mentors assigned to the task.
  6. Update progress on task.
  7. Pause work on the task and resume at a later time, perhaps from a different location.
  8. Mark the task as abandoned or complete.
  9. Give feedback on the task.
  10. See the task completion reflected in profile statistics.
  11. Participate in community discussion to make "One and Done" better (similar to Meta Stack Overflow)

User Stories for the Mozilla QA team member

A Mozilla QA team member should be able to:

  1. Define areas of interest within Mozilla QA in which Mozilla Community Contributors may participate (e.g. WebQA, B2G, etc).
  2. Define test environment needed for completing tasks in each area of interest.
  3. Define common tasks for contributors (e.g. bug reporting, bug triage, bug verification, etc.)
  4. Define clear workflows for each common task (similar to Ubuntu's 5-a-day)
  5. Create tasks with clear instructions, a defined time box and other attributes (e.g. priority for Mozilla QA, difficulty level, area of interest, etc.).
  6. Internally discuss a particular task by sharing the task's URL.
  7. Identify and associate Mozilla QA Mentors for each task.
  8. Schedule each task for when Mozilla QA Mentors are available to support contributor.
  9. Save the task in an "unpublished" state and make it "go live" as needed.
  10. Make unlimited instances of a task available for contributors to pick up (for example, test case suites on a testday).
  11. See a list of all tasks (drill down by unpublished / live, , completed / abandoned, priority for Mozilla QA, difficulty level, area of interest, etc.)
  12. Get notified when a contributor picks up the task.
  13. Mentor contributor in case help is requested or encouragement is needed.
  14. Get notified when contributor updates progress on the task, and marks it complete or abandoned.
  15. Send thanks to the contributor.

User Stories for the Mozilla Manager

A Mozilla Manager (Community, Project, QA, etc.) should be able to:

  1. Read feedback of contributors after task completion.
  2. Read metrics of community participation.
  3. Participate in community discussion (similar to Meta Stack Overflow).

Metrics / Reports

  1. List of tasks in progress but not completed within the expected duration (also known as "hanging tasks" or "long-pending tasks").
  2. Number of unique contributors taking up tasks daily (drill down by area of interest, technical ability, etc.)
  3. Number of tasks completed daily (drill down by area of interest, difficulty level, etc.)
  4. Actual time taken to execute a task versus expected
  5. List of top contributors (sorted by total tasks completed)

Development Milestones

  1. Milestone 1

Product Version 2.0

(Features that are nice-to-have but do not fit into Version 1.0 above can be listed here.)

A Mozilla Community Contributor should be able to:

  • Earn reputation and badges.
  • Install a Firefox browser add-on that can show a notification when a matching task is available.

A Mozilla Manager (Community, Project, QA, etc.) should be able to:

  • Define how reputation and badges should be earned.


  • List of top contributors (sorted by reputation, number of badges)



HTML5 / CSS3 / JavaScript

Web Application Framework

Mozilla's Playdoh is a web application template based on Django.

Integration with other APIs

The product should be designed to easily integrate with other APIs to achieve the following goals:

  • Mozillians phone book: To sync the user's profile, if it already exists in the Mozillians phone book
  • MozTrap - To auto-populate test cases / test suites that need execution
  • Bugzilla - To auto-populate bugs that need attention (e.g. flagged 'qawanted')
  • Github - To auto-populate isssues that need attention (e.g. flagged 'open')
  • OpenBadges - To auto-populate badges earned
  • Persona (BrowserID) - To manage login / logout / session


PostgreSQL, an open source object-relational database management system.


The product should be designed so that it can be adapted to various languages and regions (locales) without engineering changes.

Error Handling and Reporting

The product should be designed so that it can handle errors gracefully, show an appropriate error message in the UI, and report errors on the backend for administrators to resolve.

Source Code Repository

This is the Github repo for the product.

Bug Reports

Please track bugs in the Github repo for the product.

Community Discussion Framework

OSQA is an open source, Django-based clone of Stack Overflow. It can be used to provide a forum for community discussion and participation.

Communication Channels

If you want to help on the project, it's very easy to start.

Mailing List

Subscribe to our QA team mailing list and send us an e-mail presenting yourself and telling us what kind of tasks you would like to do.


You can find us at on the #qa channel. If you don't have an IRC client, simply click here to use Mibbit's online IRC client. Feel free to talk to:

  • Marcia Knous (nickname marcia on the IRC #qa channel)
  • Matt Brandt (nickname mbrandt on the IRC #qa channel)
  • Juan Becerra (nickname juanb on the IRC #qa channel)
  • Parul Mathur (nickname pragmatic on the IRC #qa channel)


Mozilla Summit 2013

Members of the Mozilla QA team hosted an open session at the Mozilla Summit 2013.

  • Brussels
    • Presenter: Zac Campbell
    • Date and Time: Sun, October 06 2013 at 3:00 pm – 4:15 pm CET
    • Location: Studio 314/316 meeting room at Square-Brussels Meeting Centre
  • Toronto
    • Presenter: Juan Becerra
    • Date and Time: Sat, October 05 2013 at 1:30 pm - 3:30 pm EST
    • Location: Spruce meeting room at Sheraton Centre Toronto Hotel
  • Santa Clara
    • Presenter: Parul Mathur
    • Date and Time: Sat, October 05 2013 at 4:00 pm - 6:00 pm PST
    • Location: Portland meeting room at Santa Clara Marriot Hotel

Mozilla Hispano Work Week 2013

Delphine Lebédel of the Mozilla QA team will present at Mozilla Hispano Work Week 2013.

Mozilla Community Building Meetup 2013

Marcia Knous of the Mozilla QA team hosted a brown bag at the Mozilla Community Building Meetup 2013.

Air Mozilla

Parul Mathur, a community contributor, hosted a brown bag at Mozilla Spaces, which is now up on Air Mozilla

  • Date: Tue, January 22 2013
  • Time: 12:00 pm – 1:00 pm PST
  • Location: Mountain View, USA

Mozilla Festival 2012