From Fedora Project Wiki

(link to relval and wikitcms separately, add testdays link and info)
(drop snake (it's ancient and unused), drop python-bugzilla (still active but QA doesn't maintain it any more), update testdays webapp link, update execdb link, make the opening paragraph less scary)
Line 2: Line 2:
{{autolang|base=yes}}
{{autolang|base=yes}}


The [[QA]] team develops tools to make testing easier and more repeatable.  Developing open source quality assurance tools is complex and challenging stuff at the cutting edge of the field. Contact [[User:tflink|Tim Flink]] if you're up to the challenge of building new tools for Fedora QA.
The [[QA]] team develops tools to make testing easier and more repeatable.  We have several projects ranging from some that are pretty simple and new developer friendly to complex and challenging stuff at the cutting edge of the field. Contact [[User:tflink|Tim Flink]] or the {{fplist|qa-devel}} mailing list if you're interesting in helping to build new tools for Fedora QA.


= QA tools =
= QA tools =
Line 8: Line 8:
== Test Automation ==
== Test Automation ==


; [[Taskotron]] : Taskotron is our current in-development framework for automatically executing a number of Fedora related tests. Both Fedora infrastructure generic and Fedora packages specific tests should be supported. Package maintainers should have an easy way of providing tests for their packages. This framework is intended to obsolete [[AutoQA]].
; [[Taskotron]] : Taskotron is our current framework for automatically executing a number of Fedora related tests. Both Fedora infrastructure generic and Fedora packages specific tests should be supported. Package maintainers should have an easy way of providing tests for their packages. This framework obsoleted [[AutoQA]].


; [[ResultsDB]] : A generic storage of (automated) test results. Designed to be lightweight, simple, scalable and fast. It's used by our automation frameworks (AutoQA and Taskotron).
; [[ResultsDB]] : A generic storage of (automated) test results. Designed to be lightweight, simple, scalable and fast. It's used by Taskotron.


; [https://bitbucket.org/rajcze/execdb ExecDB] : This database with a front-end allows us to track tasks which are scheduled, running and finished in Taskotron. It provides a simple way to navigate people (mostly admin and developer-type folks) into different corners of the Taskotron infrastructure - BuildBot job details, ResultsDB results, logs and artifacts directories. Read some design [https://phab.qadevel.cloud.fedoraproject.org/w/taskotron/planning/execdb_features/ concepts].
; [https://bitbucket.org/fedoraqa/execdb ExecDB] : This database with a front-end allows us to track tasks which are scheduled, running and finished in Taskotron. It provides a simple way to navigate people (mostly admin and developer-type folks) into different corners of the Taskotron infrastructure - BuildBot job details, ResultsDB results, logs and artifacts directories. Read some design [https://phab.qadevel.cloud.fedoraproject.org/w/taskotron/planning/execdb_features/ concepts].


; [https://os-autoinst.github.io/openQA/ openQA] : We use this tool (developed by our friends at [https://www.suse.com/ SUSE], now with contributions from us too) to automate certain release test cases, especially installation with [[Anaconda]]. We develop [https://bitbucket.org/rajcze/openqa_fedora Fedora tests] for openQA, along with some [https://bitbucket.org/rajcze/openqa_fedora_tools helper tools].
; [https://os-autoinst.github.io/openQA/ openQA] : We use this tool (developed by our friends at [https://www.suse.com/ SUSE], now with contributions from us too) to automate certain release test cases, especially installation with [[Anaconda]]. We develop [https://bitbucket.org/rajcze/openqa_fedora Fedora tests] for openQA, along with some [https://bitbucket.org/rajcze/openqa_fedora_tools helper tools].


; [http://beaker.fedoraproject.org Beaker] : Beaker is an up and coming fully automated test framework that provides bare metal hardware provisioning including console and power management, and job scheduling and execution. Learn more at [http://beaker-project.org/ Beaker homepage].
; [http://beaker.fedoraproject.org Beaker] : Beaker is an up and coming fully automated test framework that provides bare metal hardware provisioning including console and power management, and job scheduling and execution. Learn more at [http://beaker-project.org/ Beaker homepage].
== Installation ==
; [https://fedorahosted.org/snake SNAKE] : Smart Network Automated Kickstart Environment.  A small tool to assist with installing and pykickstart-based library for modeling sustainable kickstarts.


== Release validation testing ==
== Release validation testing ==
Line 28: Line 24:
== Test case reporting ==
== Test case reporting ==


; [http://testdays.qa.fedoraproject.org/testdays/all_events Test Days Frontend] : A web application for providing results from [[QA/Test Days|Test Days]] events. It uses ResultsDB (legacy) as a backend.
; [http://testdays.fedorainfracloud.org/events Test Days Frontend] : A web application for providing results from [[QA/Test Days|Test Days]] events. It uses ResultsDB (legacy) as a backend.


== Bug reporting ==
== Bug reporting ==


; [https://qa.fedoraproject.org/blockerbugs/ Blocker Bugs App] : A web application to display current [[QA:SOP blocker bug process|blocker bugs]] during our pre-release cycle.
; [https://qa.fedoraproject.org/blockerbugs/ Blocker Bugs App] : A web application to display current [[QA:SOP blocker bug process|blocker bugs]] during our pre-release cycle.
; [https://fedorahosted.org/python-bugzilla/ python-bugzilla] : Command-line interaction with [https://bugzilla.redhat.com/ Bugzilla]. Supports searching, creating and modifying bugs.


== Test update feedback ==
== Test update feedback ==

Revision as of 09:44, 6 February 2016

QA.png

The QA team develops tools to make testing easier and more repeatable. We have several projects ranging from some that are pretty simple and new developer friendly to complex and challenging stuff at the cutting edge of the field. Contact Tim Flink or the qa-devel mailing list if you're interesting in helping to build new tools for Fedora QA.

QA tools

Test Automation

Taskotron
Taskotron is our current framework for automatically executing a number of Fedora related tests. Both Fedora infrastructure generic and Fedora packages specific tests should be supported. Package maintainers should have an easy way of providing tests for their packages. This framework obsoleted AutoQA.
ResultsDB
A generic storage of (automated) test results. Designed to be lightweight, simple, scalable and fast. It's used by Taskotron.
ExecDB
This database with a front-end allows us to track tasks which are scheduled, running and finished in Taskotron. It provides a simple way to navigate people (mostly admin and developer-type folks) into different corners of the Taskotron infrastructure - BuildBot job details, ResultsDB results, logs and artifacts directories. Read some design concepts.
openQA
We use this tool (developed by our friends at SUSE, now with contributions from us too) to automate certain release test cases, especially installation with Anaconda. We develop Fedora tests for openQA, along with some helper tools.
Beaker
Beaker is an up and coming fully automated test framework that provides bare metal hardware provisioning including console and power management, and job scheduling and execution. Learn more at Beaker homepage.

Release validation testing

python-wikitcms, relval and testdays
A Python library and CLI based upon it for performing various release validation testing tasks in the Wikitcms 'test management system' (the set of wiki pages in which release validation test results are stored). testdays can perform a few basic operations on Test Day pages.

Test case reporting

Test Days Frontend
A web application for providing results from Test Days events. It uses ResultsDB (legacy) as a backend.

Bug reporting

Blocker Bugs App
A web application to display current blocker bugs during our pre-release cycle.

Test update feedback

Fedora Gooey Karma
A graphical tool that makes it easy to report feedback for any updates-testing packages currently installed.
Fedora Easy Karma
A command line tool that makes it easy to report feedback for any updates-testing packages currently installed.

Mixed bag

Fedora QA scripts
A git repository containing various small scripts.


Infrastructure tools

These tools we use as our support infrastructure during QA tools development.

Bitbucket team repository
A list of repositories that are related to our tools and needs.
Phabricator
Our main issue and code review tracker for most of our projects.