[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: re QA Testing Work Flow for Debian OS



On 2013-09-26 21:43, Ryuken Iwaski wrote:
> Hi, 
> I am new to the debian OS and my formal experience with the programming is in Java.

Hi,

Welcome to Debian :) from a development point of view.  A quick ad: If
you are interested in packaging Java libraries or programs, there is
also a Java team[1].

Since you said you are new, I took the liberty of CC'ing you explicitly.
 On most Debian mailing lists, we will not do this and instead assume
you are subcribed (unless otherwised noted).
  So, please let us know if you want to be CC'ed or if you are
subscribed in your follow-up email (if any).


> I want to get into the QA to understand build testing and package testing and interested to know how the QA process for the debian works.
> I want to know about the workflow of the QA team.

We have multiple quality assurance initiatives and the archive-wide
testing is usually maintained by individuals or specific "sub-teams".
Many of these tools are also available to maintainers, who will (or
should) run these tools on their package(s) before uploading them.

For most parts, the workflow (for a maintainer) could be described as
something like:

 1 Update package
 2 Build the package in a clean chroot
 3 Run tool 1 (e.g. Lintian)
   - maybe go to step 1
 4 Run tool 2 (e.g. piuparts)
   - maybe go to step 1
   ... repeat with other tools ...
 5 sign the package and upload it to the archive


However, this is something individual do, so they may skip tools or run
them in a different order than I have listed.  For archive-wide testing,
the tools usually pull the packages from the mirror once they have been
built on the relevant architecture(s).  So that is something like:

 1. package is uploaded
 2. package is built on all missing architectures (if needed)
    - this might be counted as build testing (although I suspect it is
      "preferred" if our build-daemons are not used like that)
 3. package is tested by tool X and results are published on the site of
    tool X.
    - lintian has lintian.debian.org, piuparts has
      piuparts.debian.org etc.
 4. the results are aggrevated and displayed on the PTS[2]

> Also want to know how the work is divided and where the test results are reported and how the overall structure works for the QA team.

Officially, everybody is a part of the "QA team".  But most of the tools
or QA-services are maintained by smaller teams that are focused on that
tool/service.  These teams are usually not considered the "QA team"-itself.

As mentioned above, currently each tool seems to have its own "site"
where its results are published.  Then we have the PTS to "collect" all
the results and show it on a per-package basis.  Results for a few tools
also show up on the "DDPO" page for a developer[3].

A list of tools and QA testing services I remember are:
 * lintian (lintian.debian.org)
   - static analysis check of packages
 * piuparts (piuparts.debian.org)
   - install/upgrade/removal tests
 * dedup (dedup.debian.net)
   - checks for duplicated files in or between packages
 * archive-wide rebuild testing
   - rebuilds of (a subset of) all packages.  Sometimes with new
     compilers (or tools) to test what breaks; othertimes just a
     rebuild test to see things still builds.
   - Don't think it has a (separate) homepage nor mailing list.
 * Depcheck (qa.debian.org/debcheck.php)
   - various checks (e.g. priority or unsatisfible recommends/suggests)

Other services include:
 * PTS[2]
   - package centric todo-list/view for maintainers (and "powerusers")
 * DDPO[3]
   - maintainer overview of all maintained/uploaded packages

I am certain that someone on this list can name a service I forgot. :)

Also, there are also some ideas/tools in the making or tools that are
not (yet) run on an archive-wide basis (e.g. autopkgtest/DEP-8 tests).

> Where is the right place to learn about all these things? 

This is indeed one of the best places for these kind of questions.  :)

> Sorry If I am asking too many questions. Just feeling a bit overwhelmed with my new exposure with debian linux. I am interested in QA team work flow, so that is why asking these questions. 
> 
> Thanksryuken 		 	   		  
> 

I hope you found my answers useful and you are welcome to ask follow up
questions if there are things you would like to know more about.

~Niels

[1] https://wiki.debian.org/Teams/JavaPackaging

[2] http://packages.qa.debian.org

(example: http://packages.qa.debian.org/localepurge currently lists some
Lintian warnings in its TODO section)

[3] http://qa.debian.org/developer.php

example include the "Depcheck" and "Lintian" columns shown on
http://qa.debian.org/developer.php?login=niels@thykier.net



Reply to: