From Fedora Project Wiki

(link to trac and category:autoqa)
(completely reworked - provided basic information about the project and linked more advanced articles; most of the previous text moved to "AutoQA architecture")
Line 1: Line 1:
{{header|qa}}
{{header|qa}}
{{draft}}
{{draft}}
AutoQA is an automated test system for Fedora. Its basic design is simple: when certain events occur (a package is built, updates are pushed, a new Rawhide build is available, etc.) autoqa launches some automated tests.
'''AutoQA''' is an automated test system for Fedora. Its basic design is simple: when certain events occur (a package is built, updates are pushed, a new Rawhide build is available, etc.) AutoQA launches some automated tests.


Visit the project page at: https://fedorahosted.org/autoqa/
Visit the project development page at: https://fedorahosted.org/autoqa/


= AutoQA priciples =
== How does it work ==


== Hooks ==
=== End users ===
End users are those people, who use AutoQA just to see the result of a particular test. They will probably be developers (of other software) at the same time.


AutoQA defines "hooks" for events that we are interested in. A hook basically consists of:
If you work with development version of Fedora, AutoQA results page will inform you if the up-to-date Rawhide repository is broken or not, if the Rawhide is installable and bootable, etc. If you maintain some packages for Fedora, you can see there if there were some problems detected with latest updates of your packages or not. We plan to provide means of notifications to the package maintainer if such events happens.
* A definition of the event we're watching for
* A Watcher program to monitor for the event and gather arguments needed for the tests
* Code to handle the arguments passed from the watcher
* A list of tests to run when the hook is triggered
* Template files for writing new tests for this hook


=== Defining Events ===
The public website will be set up in a near future and will display every-day results of tests performed. Currently you can see output of all the tests executions posted in the [https://fedorahosted.org/mailman/listinfo/autoqa-results autoqa-results] list.


For AutoQA to respond to an event, someone needs to create a "hook" for that event. The first step in creating a new hook is, obviously, to define the event itself.
=== Developers ===
Developers are those people, who have intentions to work on AutoQA itself or want to contribute another test for it.


For example, the <code>post-repo-update</code> hook is triggered whenever a Fedora repo is updated. The repo update is the event, and Obviously, any <code>post-repo-update</code> test needs to know the URL of the repo that was just updated. (This is an example of a ''required'' argument.) Certain repos can't be used properly without other "parent" repos (for example, the Fedora 11 <code>updates</code> repo isn't useful without also knowing the address of the main Fedora 11 repo). So a list of "parent repos" is an ''optional'' argument to the tests.
The internal layout of AutoQA itself is described in [[AutoQA architecture]]. If you plan to write a new test, please see [[Writing AutoQA Tests]]. Instructions for installing and setting up AutoQA on your own machine are available in [[Installing AutoQA]].


=== Watchers ===
== More documentation ==
 
Other documentation about AutoQA on this wiki can be found at [[:Category:AutoQA]].
The next part of a hook is the Watcher. This is a program that watches for the event and launches the autoqa harness when the event occurs. The Watcher is responsible for filling in all the optional arguments for the hook and passing that information along to autoqa.
 
=== Test arguments ===
 
The autoqa test launcher needs to know how to process the arguments gathered by the watcher
 
More detailed information about implementing new hooks can be found in [[Writing AutoQA Hooks]].
 
== The autoqa Harness ==
 
The autoqa harness is launched by the watchers in response to an event. It's basically just a python script, <code>/usr/bin/autoqa</code>, which handles the arguments passed by the watcher and schedules the appropriate tests to be run in autotest.
 
== Autotest ==
 
Autotest is "a framework for automated testing". It handles scheduling test jobs from the job queue, putting the test code onto the appropriate test machine, running the test, and gathering the test results for later examination. For more information see [[Autotest]].
 
== Tests ==


AutoQA tests consist of some test metadata, some setup and test reporting code, and the test itself - which may be a pre-existing test or a new test written specifically for AutoQA.
== Providing feedback ==
Please contact us! The most recommended way is writing to [https://fedorahosted.org/mailman/listinfo/autoqa-devel autoqa-devel] list, but you can also use [https://www.redhat.com/mailman/listinfo/fedora-test-list fedora-test-list] or [irc://irc.freenode.net/fedora-qa #fedora-qa] channel.


The test results are reported back to the [[Autotest]] system and can be examined through its web interface. Tests can also opt to report their results in other ways - commonly by sending email to the [http://fedorahosted.org/mailman/listinfo/autoqa-results autoqa-results] mailing list.
For more detailed information about AutoQA tests, see [[Writing AutoQA Tests]].
= More documentation =
Other documentation about AutoQA on this wiki can be found at [[:Category:AutoQA]].


[[Category:AutoQA]]
[[Category:AutoQA]]

Revision as of 13:58, 18 November 2009

QA.png


Warning.png
This page is a draft only
It is still under construction and content may change. Do not rely on the information on this page.

AutoQA is an automated test system for Fedora. Its basic design is simple: when certain events occur (a package is built, updates are pushed, a new Rawhide build is available, etc.) AutoQA launches some automated tests.

Visit the project development page at: https://fedorahosted.org/autoqa/

How does it work

End users

End users are those people, who use AutoQA just to see the result of a particular test. They will probably be developers (of other software) at the same time.

If you work with development version of Fedora, AutoQA results page will inform you if the up-to-date Rawhide repository is broken or not, if the Rawhide is installable and bootable, etc. If you maintain some packages for Fedora, you can see there if there were some problems detected with latest updates of your packages or not. We plan to provide means of notifications to the package maintainer if such events happens.

The public website will be set up in a near future and will display every-day results of tests performed. Currently you can see output of all the tests executions posted in the autoqa-results list.

Developers

Developers are those people, who have intentions to work on AutoQA itself or want to contribute another test for it.

The internal layout of AutoQA itself is described in AutoQA architecture. If you plan to write a new test, please see Writing AutoQA Tests. Instructions for installing and setting up AutoQA on your own machine are available in Installing AutoQA.

More documentation

Other documentation about AutoQA on this wiki can be found at Category:AutoQA.

Providing feedback

Please contact us! The most recommended way is writing to autoqa-devel list, but you can also use fedora-test-list or #fedora-qa channel.