QA

Upstream Kernel Bug Process and Relationship

The current workflow and relation can be improved by:

  1. Work with the Ubuntu kernel team to provide an upstream vanilla kernel package that our users can easily install and test.
    • Build a package for the latest upstream kernel -rc candidate or final release
    • Build a package for the most recent upstream stable kernel
  2. Work on re-educating our bug reporters to test the upstream kernel and report their bugs upstream:
    1. Bug is triggered using the Ubuntu kernel
    2. Next step is to test the stable kernel package which the Ubuntu kernel was based on. Use cat /proc/version_signature to determine which stable kernel package the Ubuntu kernel was based on.

      • If the bug does not exist with the stable kernel package this indicates the issue is with an Ubuntu specific patch(es)
      • If the bug exists with the stable kernel package, proceed to the next test
    3. Test the latest upstream kernel -rc candidate or final release package (which ever is the most recent)
      • If the bug does not exist in the upstream kernel, narrow down which patch to backport to the Ubuntu kernel
      • If the bug exists in the upstream kernel, report the bug upstream (create docs to instruct user the proper was to report the bug upstream - may vary between reporting the bug to a mailing list or filing a bug report at kernel.bugzilla.org)
  3. Enable kerneloops by default and enable apport to detect and report bugs from oopses on the next boot
    • Add extra version info to identify the kernel as an Ubuntu kernel so that oops reports are more useful to upstream
    • Ensure that the hardware certification infrastructure takes proper advantage of the oops reports - this includes booting the system with a working kernel / in a working mode to let apport generate the bug report
  4. Work with upstream kernel bugzilla maintainers to update to bugzilla 3.0 and install the Launchpad plugin

Elevate checkbox privileges with policykit

Checkbox currently runs completely as root which is not appropriate default behaviour for most end-user cases. Privileges should be elevated only when there is a specific need as defined in the test.

Automate testing from -proposed

Uploads of certain packages to the -proposed archive should trigger a full test run on all certified hardware in Canonical's labs. We can currently do this manually but should add more automation.

Managing needs-packaging bug reports

Currently, 'needs-packaging' bug reports are intermingled in the list of bugs without a package which is problematic for both bug triagers and Ubuntu developers.

Expand checkbox's test coverage

Checkbox currently has a limited amount of test coverage, due to its history of being the hardware testing tool. We would like to expand its test coverage by incorporating other existing testsuites, like the security teams qa-regression-testing tests and ldtp based testing.

What tests are out there and what is appropriate for different cases? checkbox itself has a limited set of tests in it

Organization

Cherry picking tests is expensive because it is like forking from a project - so just start running all of the tests

We should not write tests that have already been written, we should leverage upstream tests and trust that those tests are good

Ubuntu QA Portal

The QA Team has started migrating various QA tracking pages to the new QA server. We should focus on moving any remaining pages over and write a central landing page to reference all of the information provided.

Jaunty Regression Management

A discussion about how we should improve the management of repoted regressions to avoid that they are released in Janty

Package status pages - Jaunty updates

A discussion on how we continue to improve the status pages for Jaunty.

HIGH

MEDIUM

LOW

WISHLIST

Regression tracker jaunty improvements

Regression tracker is a page for tracking the regression of the Ubuntu release, the page could be found at Regression Tracker, for Jaunty the improvements of this page are going to be:

Split into two components:

For Developers:

For QA:

Triaging of bugs with patches attached

During previous cycle a big amount (~1900) of bugs with patches attached was detected and an unknown number of reports with attachment but without being marked as a patch. During the session we discussed how the bugsquad could help to review these bugs and patches to get them included or not in Ubuntu in the short term. In order to improve this workflow we will:

* Create Bugs/Patches

* Add patch replies to Bugs/Repsonses. * Add links to bugs with patches flagged report. * Add links to bugs with unflagged patches report. * Document Patch Workflow

* Create a list of patches reports

* Write scripts for flagging / unflagging patches and adding comments and add to ubuntu-qa-tools. * Modify unfixed-bugs-with-patches report to not include bugs a sponsorship team is subscribed to. * Update patches reports to use new Launchpad report formatting.

Gnome desktop testing

Session to discuss the creation of a GNOME Desktop Testing framework, based on Ubuntu's.

Improving test definition in Checkbox

We need to update the way tests are defined for Checkbox to cover new use cases.

Existing fields:

Required

Optional

Actions:

Filing bugs from Checkbox

When performing tests, users should be encouraged to file bugs immediately to a) ensure the bug is filed and b) attach relevant information to the bug. This discussion covered how we should handle this from a user experience perspective.

Questions:

Can apport queue up bug reports for filing later or report bugs from the console, ie in a server environment?

QA Bugs

A session led by LP Bugs developer Graham Binns and LP lead Christian Reis covering possible future improvements to Launchpad to improve the workflow of the QA team.

ISO tracker improvements for Jaunty

The ISO tracker is serving us well, but could with some improvements. In this session we gathered the various todo items.

Hardware test result publication

When performing tests, users should be encouraged to file bugs immediately to a) ensure the bug is filed and b) attach relevant information to the bug. How we handle this from a user experience perspective is the focus of this blueprint.

Questions:

* How does this relate to apport? Do we use apport to file the bug or simply use the same LP calls?

* How do we note that a bug is a regression?

Can apport queue up bug reports for filing later or report bugs from the console, ie in a server environment?

Hardware Reporting with Checkbox

Although checkbox currently collects hardware information and submits it to Launchpad, there is no facility for users to view the collected data.

Streamlining the SRU validation process

Proposed updates to the stable release need to be verified to ensure we don't introduce any regression and that the fix actually works. Currently the process is not flowing as smoothly as it could. This can be iproved with a better SRU validation workflow, including adhering more closely to existing rules. Workflow changes are going to be introduced during the Jaunty cycle:

The Ubuntu SRU Team should be contacted to ensure packages don't get uploaded to -proposed without a TEST CASE, which is a requirement in the SRU Procedure.

If a package was uploaded and does not have a detailed description on how to perform the verification, the bug should be:

For the bugs requiring specific hardware in order to perform the verification, a HARDWARE DESCRIPTION section should be added to the bug description.

A template for improve the process is going to be created and presented to the SRU Team in order to use it for the approvation of New Proposed SRU packages.

Test framework coordination

Discussion (not related with any spec) about coordination of teams using the same tools for tackling the same problem

Test case wiki migration

Session to discuss the migration of the available test cases at https://wiki.ubuntu.com/Testing/Cases to the new testcases specific wiki at http://testcases.qa.ubuntu.com

UDSJaunty/Report/QA (last edited 2009-01-16 13:43:37 by cpc4-oxfd8-0-0-cust39)