From Fedora Project Wiki

m (Updated admin use case)
m (Minor updates)
Line 61: Line 61:
# Her first task is to prepare a new Fedora system
# Her first task is to prepare a new Fedora system
# Once the system is prepared, Nancy reads and follows the instructions for how to [[Install_and_configure_autotest]]
# Once the system is prepared, Nancy reads and follows the instructions for how to [[Install_and_configure_autotest]]
# Next, Nancy wants to add one or more systems that [[Autotest]] will use as test systems.  She does so by following the instructions at [[How_to_add_autotest_clients]]
# Now, Nancy must install AutoQA packages - <ref>FIXME</ref>
# Is she done?  What next?


== Add a new test system to AutoQA ==
== Add a new test system to AutoQA ==
# Nancy first started by setting up an AutoQA system from scratch (see [[#Create a AutoQA system from scratch]])
# Next, Nancy wants to add one or more systems that [[Autotest]] will use as test systems.  She does so by following the instructions at [[How_to_add_autotest_clients]]


== Recover a failed test system ==
== Recover a failed test system ==

Revision as of 20:45, 23 November 2009

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

  1. Her first task is to prepare a new Fedora system
  2. Once the system is prepared, Nancy reads and follows the instructions for how to Install_and_configure_autotest
  3. Now, Nancy must install AutoQA packages - [1]

Add a new test system to AutoQA

  1. Nancy first started by setting up an AutoQA system from scratch (see #Create a AutoQA system from scratch)
  2. Next, Nancy wants to add one or more systems that Autotest will use as test systems. She does so by following the instructions at How_to_add_autotest_clients

Recover a failed test system

Remove a test system

Update puppet configuration

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.

View existing test coverage

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)

Subscribe for notifications to a selected test (or test/package combination)

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

  1. FIXME