From Fedora Project Wiki

Revision as of 13:43, 18 November 2009 by Jlaska (talk | contribs) (Expand on the ref tags)

Introduction

This page is intended to be a comprehensive list of all the ways people will interact with AutoQA. This page will detail activities for test developers, administrators, release engineers and package maintainers,. This page follows a similar design to the Fedora_Talk_Admin_Cases and related pages.

  • If the use case works today, there should be a link to a wiki page explaining how to do it
  • If the use case does not exist yet, there should be a link to an AutoQA Ticket.

Test Developer Use Cases

The following use cases are aimed at Roger

Getting Started with AutoQA

Roger wants to write a hello world program to see how the AutoQA framework works

  1. Roger goes to AutoQA for a summary of the project
  2. Roger reviews the guidelines for test requirements at Writing_AutoQA_Tests
  3. Roger creates a new test (hello world) on his local system
  4. Roger integrates his test into AutoQA by ...
    1. Installing the required software -- [1]
    2. Creating a directory for his new test code according to the instructions at Writing_AutoQA_Tests#The_test_directory
    3. Building a control file for his test according to Writing_AutoQA_Tests#The_control_file
    4. Finally, creating a python test object for his new test, according to Writing_AutoQA_Tests#Test_Objects
  5. Roger executes his test program using the AutoQA test environment -- [2]
  6. Roger reviews the test results -- [3]
  7. Roger submits his test to the AutoQA project -- [4]
  8. Roger is so blown away by how easy it is that he stays up all night writing tests with Fabio.

References:

  1. FIXME - What is required for a client setup?
  2. FIXME - Need to document how to locally validate your test
  3. FIXME - Need a document that describes how to locate test logs from autotest
  4. FIXME - Need a document that details test submission

Automate a test

Fabio is the maintainer for the FozBoz package. He is tired of running random tests and commands to see if his new package has regressions.

  1. Fabio retrieve the ____ template from ___
  2. Fabio writes automated tests that run from a bash command line
  3. Fabio adds hooks described at _____ to his automated tests
  4. Fabio checks his test into _____
  5. Fabio verifies that his test runs in AutoQA by doing _____
  6. Fabio files a ticket with ____ to have his test added to AutoQa
  7. Fabio orders a case of his favorite beverage and drinks it each night instead of running tests by hand
  8. After finishing his evening beverage Fabio reviews ____ to make sure his tests passed or ran as expected.

LINKS:

Fix an existing test

  • Where is the code?
  • How are patches submitted
  • Where are patches discussed

Integrate a test into AutoQA

  • How do you know it works when running inside AutoQA?

Administrator Use Cases

These use cases are aimed at Nancy. Nancy is a member of the Fedora Infrastructure team and has been asked to help the AutoQA project with sysadmin tasks that require access to infrastructure systems and tools.

Create a AutoQA system from scratch

Add a new test system to AutoQA

Recover a failed test system

Remove a test system

Update puppet configuration

Release Engineer Use Cases

Prevent breaking updates repo dependencies

Package Maintainer Use Cases

Ned is the maintainer of several packages in Fedora. After having dealt with a several reoccurring bugs in the last round of updates to his packages, Ned would like to write some tests to help capture the failures before they happen.

Write a test

  1. See #Write_a_test perhaps?
  2. Where do they store the tests? In CVSDist?

Run the test(s) manually

Test for proper integration of the test(s)

Received notification of test failure ... need more details?