From Fedora Project Wiki

(Redesigned the use cases)
(regrouped the use cases and organized each step by step)
Line 1: Line 1:
== Wiki Use Cases ==
<!-- Identify our current test workflows (or use cases)-->
This page aims to identify current wiki test workflows. It lists general use cases when using wiki and summarizes main test events use cases step by step.   


<!-- Identify our current test workflows (or use cases)-->
== General Use Cases ==
This page lists the general use cases when using wiki, which are divided by different groups, considered as different permissions.   


* QA: quality assurance engineer or the ones who applied the same permission level as QA
* Host: each test event organizer/host
* Tester: users with normal login permission or anonymous user
* User: general logged in users  
* User: general logged in users  
* Admin: system administrator
* Admin: system administrator


=== Creating A Common Page Use Case ===
=== Creating A Common Page ===


# User inputs a url to name the page  
# User inputs a url to open the page  
## Or User moves a existing page to a new name
#* Or User moves an existing page to a new one
# User edits the page with wiki markup
# User edits the page with wiki markup
## User addresses other pages and rename the links
#* User addresses other pages and rename the links
#* User uses existing templates
# User uses 'show preview' to preview the contents
# User uses 'show preview' to preview the contents
# User uses talk page for discussion
# User compares changes from history logs
# User compares changes from history logs
# User undos the action by history rollback
# User undoes changes by history rollback
# User creates/searches its category
# User adds it to relative category
# User adds it to watchlist


=== Creating A Test Case Use case===
=== Creating A Test Case ===


# User creates a page  
# User creates a page
# User edits it to add contents using [[Template:QA/Test_Case]]
# User edits it using [[Template:QA/Test_Case]]
## User adds Link tests to packages using [[Template:Package]]
#* User adds Link tests to packages using [[Template:Package]]
## User adds files by linking to it
#* User adds files by linking to it
# User adds [[Template:Draft|'draft note']] before use
# User adds [[Template:Draft|'draft note']] before use
# User removes the 'draft note' when approved in its trac ticket.
# User removes the 'draft note' when approved in its trac ticket or somewhere else.
# User creates/searches its category
# User adds it to relative category


=== Creating A Test Plan Use Case===
=== Creating A Test Plan ===


# User creates a test plan page by coping some of previous plan contents  
# User creates a page by coping some of previous plan contents  
# User Uses Templates such as [[Template:FedoraVersion]]
# User edits the page
# User creates new category
# User adds the page to relative category
# User adds the link of test cases to the page  
# User adds the link of test cases to the page  
# User adds [[Template:Draft|'draft note']] before use
# Reviewers reviews it and adds review time on the page
# User removes the 'draft note'


=== Creating A Test Result template ===
=== Creating A Test Result Page Template ===


# User creates a page
# User creates key section as result example using [[Template:Result]]
# User creates key section as result example using [[Template:Result]]
# User creates sortable and collapse result table
# User creates sortable and collapse result table
# User creates results area for different platforms: i386 and x86_64
# User links test cases to the page
# User links test cases to the page


=== Creating A Test Result ===
=== Creating A Test Result Page ===


# User creates result page using result template
# User creates result page with certain namespace(Test_Day, Test_Results etc) using result page template
# User modifies the page to fit for the product and test event
# User modifies the page to fit for the product and test event
# User copies test results from previous result page when needed  
# User copies test results from previous result page when needed  


=== Post test result ===
=== Posting test results ===


# User opens current links
# User opens current link page
# User contributes result to different platforms: i386 and x86_64
# User contributes result to the matrices using [[Template:Result]]
# User adds comments as references
# User adds comments as references
# User posts a bug to result using [[Template:Bz]]
# User posts a bug to result using [[Template:Bz]]
# Users post multiple results in each one case
# Users post multiple results in each one case
# (Use signatures)
# (User signatures)
 
=== Adding A Category ===
 
# User creates a category by creating a page using 'Category:' namespace
#* Or user searches out the relative category from [[Special:Categories]]
# User adds the category name to the end of the page


=== Search test results/cases ===
=== Searching test results/cases/plans ===


# User searches by categories
* User searches by categories
# User searches by current redirect links
* User searches by current redirect links
# User searches from event main/intro page  
* User searches from event main/intro page
# User uses 'what links to here of Toolbox'
* User searches from schedule
* User searches from watchlist
* User uses 'what links to here of Toolbox'


=== Uploading files ===
=== Uploading files ===


# User posts images/packages
# User posts images/tar packages
# User creates package repos/updates.img through SSH to fedorapeople server
# User creates package repos/updates.img through SSH to fedorapeople server


Line 77: Line 88:
# User sends out test report to mail lists manually
# User sends out test report to mail lists manually


=== Administrating Use Case ===
=== Administrating ===
 
* Admin manages pages authority with diff namespaces
* Admin implements FAS Integration with wiki
* Admin adds some plugins to enhance some functions
* Admin protects a special page
* Admin deletes a special page
* Admin manages License
 
== Test Events Use Cases ==


# Admin manages pages authority with diff namespaces
* QA: quality assurance engineer or the ones who applied the same permission level as QA
# Admin accomplished FAS Integration with wiki
* Host: each test event organizer/host
# Admin adds some plugins to enhance some functions
* Tester: users with normal login permission or anonymous user
# Admin protects a special page
# Admin deletes a special page
# Admin manages License


=== Test Days Use Case ===
=== Test Days ===


At the very beginning:
At the very beginning:
Line 115: Line 132:
# Host summarizes the results with curl command to community
# Host summarizes the results with curl command to community


=== Release Validation Test Event Use case ===
=== Release Validation Test Event ===


At the very beginning:
At the very beginning:

Revision as of 09:36, 17 January 2011

This page aims to identify current wiki test workflows. It lists general use cases when using wiki and summarizes main test events use cases step by step.

General Use Cases

  • User: general logged in users
  • Admin: system administrator

Creating A Common Page

  1. User inputs a url to open the page
    • Or User moves an existing page to a new one
  2. User edits the page with wiki markup
    • User addresses other pages and rename the links
    • User uses existing templates
  3. User uses 'show preview' to preview the contents
  4. User uses talk page for discussion
  5. User compares changes from history logs
  6. User undoes changes by history rollback
  7. User creates/searches its category
  8. User adds it to relative category
  9. User adds it to watchlist

Creating A Test Case

  1. User creates a page
  2. User edits it using Template:QA/Test_Case
    • User adds Link tests to packages using Template:Package
    • User adds files by linking to it
  3. User adds 'draft note' before use
  4. User removes the 'draft note' when approved in its trac ticket or somewhere else.

Creating A Test Plan

  1. User creates a page by coping some of previous plan contents
  2. User edits the page
  3. User adds the link of test cases to the page
  4. User adds 'draft note' before use
  5. Reviewers reviews it and adds review time on the page
  6. User removes the 'draft note'

Creating A Test Result Page Template

  1. User creates a page
  2. User creates key section as result example using Template:Result
  3. User creates sortable and collapse result table
  4. User creates results area for different platforms: i386 and x86_64
  5. User links test cases to the page

Creating A Test Result Page

  1. User creates result page with certain namespace(Test_Day, Test_Results etc) using result page template
  2. User modifies the page to fit for the product and test event
  3. User copies test results from previous result page when needed

Posting test results

  1. User opens current link page
  2. User contributes result to the matrices using Template:Result
  3. User adds comments as references
  4. User posts a bug to result using Template:Bz
  5. Users post multiple results in each one case
  6. (User signatures)

Adding A Category

  1. User creates a category by creating a page using 'Category:' namespace
  2. User adds the category name to the end of the page

Searching test results/cases/plans

  • User searches by categories
  • User searches by current redirect links
  • User searches from event main/intro page
  • User searches from schedule
  • User searches from watchlist
  • User uses 'what links to here of Toolbox'

Uploading files

  1. User posts images/tar packages
  2. User creates package repos/updates.img through SSH to fedorapeople server

Submitting A Test Summary

  1. User uses curl command to generate bug and contribution list
  2. User sends out test report to mail lists manually

Administrating

  • Admin manages pages authority with diff namespaces
  • Admin implements FAS Integration with wiki
  • Admin adds some plugins to enhance some functions
  • Admin protects a special page
  • Admin deletes a special page
  • Admin manages License

Test Events Use Cases

  • QA: quality assurance engineer or the ones who applied the same permission level as QA
  • Host: each test event organizer/host
  • Tester: users with normal login permission or anonymous user

Test Days

At the very beginning:

  1. QA creates main/intro page
  2. QA creates SOP guide page
  3. QA creates test day result page template
  4. QA creates new categories such as Category:Test_Days and Category:QA_Templates
  5. QA creates new templates such as Template:Result and Template:QA/Test_Case
  6. QA creates current test day link: Test_Day:Current
  7. QA adds pages to related categories

Then for each release development cycle:

  1. QA creates test day schedule
  2. QA creates new categories for the release, such as Category:Fedora_15_Test_Days
  3. QA adds pages to related categories

Then for each test event:

  1. Host edits test day schedule to propose a test day
  2. Host creates a test day page Using test day result page template
  3. Host searches test cases from categories
  4. Host creates new cases using Template:QA/Test_Case
  5. Host adds pages to related categories
  6. Host redirects Test_Day:Current
  7. Host sends out announcement with links manually to list and irc
  8. Tester executes the test day
  9. Tester posts test result using Template:Result
  10. Tester uses the talk page for discussion and queries
  11. Host summarizes the results with curl command to community

Release Validation Test Event

At the very beginning:

  1. QA creates install and desktop validation event main/intro pages
  2. QA creates Fedora_Release_Criteria
  3. QA creates SOP guide page
  4. QA creates new templates such as Template:Result, Template:Bz, and Template:QA/Test_Case
  5. QA creates current test event links: Test_Results:Current_Installation_Test, and Test_Results:Current_Desktop_Test
  6. QA creates new categories such as Category:Install_Results_Templates, and Category:Release_Criteria
  7. QA adds pages to related categories

Then for each release development cycle:

  1. QA creates installation/desktop test plan
  2. QA creates install and desktop test result page templates
  3. QA creates Fedora Release Criteria for current release milestones
  4. QA creates new test cases to extend coverage
  5. QA creates new categories
  6. QA adds pages to related categories

Then for each test event:

  1. Host creates test result page using install and desktop templates
  2. Host adds 'No longer current' note to previous result pages using Template:Admon/tip
  3. Host redirects current links
  4. Host copies some previous results to current result page
  5. Host creates new category such as Category:Fedora_14_Final_RC_Test_Results
  6. Host adds page to related category
  7. Host sends out test announcement with links manually
  8. Tester executes tests
  9. Test posts test results using Template:Result
  10. Tester uses talk page for discussion and queries
  11. Host summarizes results using curl command