From Fedora Project Wiki

No edit summary
(update a link (even though this page is a bit old...))
 
(11 intermediate revisions by one other user not shown)
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.   
 
== General Use Cases ==
 
* User: general logged in users
* Admin: system administrator
 
=== Creating A Generic Page ===


<!-- Identify our current test workflows (or use cases)-->
# User inputs a url to open the page
This page lists the general use cases when using wiki, which are divided by different groups, considered as different permissions.  
#* Or User moves an existing page to a new one
# User edits the page with wiki markup
#* User addresses other pages and rename the links
#* User uses existing templates
# User uses 'show preview' to preview the contents
# User uses talk page for discussion
# User compares changes from history logs
# 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 ===
 
# User creates a page
#* Or user moves an existing case to a new name
# User edits it using [[Template:QA/Test_Case]]
#* User adds Link tests to packages using [[Template:Package]]
#* User adds files by linking to it
# User adds [[Template:Draft|'draft note']] before use
# User removes the 'draft note' when approved in its trac ticket or somewhere else.
# User adds the case to category
 
=== Creating A Test Plan ===
 
# User creates a page by coping some of previous plan contents
# User edits 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'
# User adds the plan to category
 
=== Creating A Test Result Page(Test Run) Template ===
 
# User creates a page
# User creates key section as result example using [[Template:Result]]
# User creates sortable and collapse result table
# User links test cases to the page
#* User groups the cases to different sections 
# User adds the template to category
 
=== Creating A Test Result Page(Test Run) ===
 
# 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 copies test results from previous result page when needed
# User adds the result page to category
# User redirects current link to the result page
 
=== Posting test results ===
 
# User opens current link page
# User contributes result to the matrices using [[Template:Result]]
# User adds comments as references
# User posts a bug to result using [[Template:Bz]]
# Users post multiple results in each one case
# (User signatures)
 
=== 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 ===
 
# User posts images/tar packages
# User creates package repos/updates.img through SSH to fedorapeople server
 
=== Submitting A Test Summary ===
 
# User uses curl command to generate bug and contribution list
# User sends out test report to mail lists manually


=== Test Days Use Cases ===
=== Administrating ===


* QA:
* Admin manages pages authority with diff namespaces
# Create main/intro page of test day
* Admin implements FAS Integration with wiki
# Create SOP guide page for hosting a test day
* Admin adds some plugins to enhance some functions
# Create Test Day template
* Admin protects a special page
# Create test day schedule
* Admin deletes a special page
# Create new categories
* Admin manages Licensing for the tcms
# Create Test result and test case templates
* Admin licenses the contents
# Add page to related category
* Admin implements our update tools (bodhi/f-e-k) integration with wiki
* Admin provides actively upstream project community


* Host:
== Test Events Use Cases ==
# Create the test day page Using the Test Day template
## Create test cases
## Set up the results table
# Add page to related category
# Send out announcement manually
# Redirect current link: Test_Day:Current
# Summarize the event with curl command to test-announce


* Tester(anonymous user permitted):
* QA: quality assurance engineer or the ones who applied the same permission level as QA
# Posts test result to the table with the template format
* Host: each test event organizer/host
# Use the talk page for discussion
* Tester: users with normal login permission or anonymous user


=== Release Validation Use case ===
=== Test Days ===


* QA:
At the very beginning:
# Create installation/desktop test plan
# QA creates [[QA/Test_Days|main/intro page]]
# Create/maintain Release Criteria
# QA creates [[QA/SOP_Test_Day_management|SOP guide page]]
# Create main/intro page
# QA creates [[QA/Test_Days/Template|test day result page template]]
# Create new categories
# QA creates new categories such as [[:Category:Test_Days]] and [[:Category:QA_Templates]]
# Create new test cases
# QA creates new templates such as [[Template:Result]] and [[Template:QA/Test_Case]]
# Create test result template
# QA creates current test day link: [[Test_Day:Current]]
# Create templates format for cases and results
# QA adds pages to related categories
# Add page to related category


* Host:
Then for each release development cycle:
# Create test result page using template
# QA creates [[QA/Fedora_14_test_days|test day schedule]]
# Add page to related category
# QA creates new categories for the release, such as [[:Category:Fedora_15_Test_Days]]
# Set previous page as draft
# QA adds pages to related categories
# Use redirect link as current links
# Copy previous result page(results) to current
# Send out announcement
# Summarize the report using curl command


* Tester(anonymous user permitted):
Then for each test event:
# Post test results using result format
# Host edits [[QA/Fedora_14_test_days|test day schedule]] to propose a test day
# Use talk page for discussion
# Host creates a test day page Using [[QA/Test_Days/Template|test day result page template]]
# Host searches test cases from categories
# Host creates new cases using [[Template:QA/Test_Case]]
# Host adds pages to related categories
# Host redirects [[Test_Day:Current]]
# Host sends out announcement with links manually to list and irc
# Tester executes the test day
# Tester posts test result using [[Template:Result]]
# Tester uses the talk page for discussion and queries
# Host summarizes the results with curl command to community


=== Sub use cases ===
=== Release Validation Test Event ===


* QA:
At the very beginning:
# Create test plan/main page
# QA creates [[Fedora_Release_Criteria]]
## Use wiki markup
# QA creates [[https://fedoraproject.org/wiki/QA:Release_validation_test_plan]] validation event main/intro pages
## Use links and rename them
# QA creates [[QA/SOP_Release_Validation_Test_Event|SOP guide page]]
## Manually add reviewers
# QA creates new templates such as [[Template:Result]], [[Template:Bz]], and [[Template:QA/Test_Case]]
## Manually set as draft before ready
# QA creates current test event links: [[Test_Results:Current_Installation_Test]], and [[Test_Results:Current_Desktop_Test]]
## Use Templates such as FedoraVersion:  
# QA creates new categories such as [[:Category:Install_Results_Templates]], and [[:Category:Release_Criteria]]
## Create new category
# QA adds pages to related categories
## Add the page to relative category
## Link test cases to the page
# Create test result template
## Have key section as result example: http://fedoraproject.org/wiki/Template:Result
## Create sortable and collapse result table
## Link test cases to the page


* Host:
Then for each release development cycle:  
# Create test cases
# QA creates [[QA:Fedora_14_Install_Test_Plan|installation]]/desktop test plan
## Use test case [https://fedoraproject.org/wiki/Template:QA/Test_Case template format]
# QA creates [[Fedora_Release_Criteria#Current_Release_Milestones|Fedora Release Criteria for current release milestones]]
## Link tests to the packages they are designed to test
# QA creates [[QA:Fedora_14_Install_Results_Template|install]] and [[QA:Desktop_validation_results_template|desktop]] test result page templates
## Use Template:Package
#* QA sets priorities for the cases
## Rename a test case(Move a page)
#* QA creates results area for different platforms: i386 and x86_64
## Set as draft before use
# QA creates new test cases to extend coverage
# Initiate a test run
# QA creates new categories
## Create new test result page using test result template
# QA adds pages to related categories
## Add test result page to relative category
## Redirect current link
## Move previous test results to new test run
# Create a certain page
## Edit with wiki markup
## Rollback history
## Preview function
## Compare changes between different version
## Use template format
## Use subpages
## Set pages as draft before use
# Submit a test summary
## Use curl command to generate bug and contribution list
## Send out test report to mail lists manually


* Tester(Anonymous permission):
Then for each test event:
# Post test result
# Host creates test result page using [[QA:Fedora_14_Install_Results_Template|install]] and [[QA:Desktop_validation_results_template|desktop]] templates
## Contribute result to different platforms
# Host adds 'No longer current' note to previous result pages using [[Template:Admon/tip]]
## Add comments as references
# Host redirects current links
## Post a bug to result
# Host copies some previous results to current result page
## allow multiple results for each one case
# Host creates new category such as [[:Category:Fedora_14_Final_RC_Test_Results]]
## Use signatures
# Host adds page to related category
# Search test results
# Host sends out test announcement with links manually
## Search by categories
# Tester executes tests
## Search by current redirect links
# Test posts test results using [[Template:Result]]
## Search from event main/intro page  
# Tester uses talk page for discussion and queries
## Use 'what links to here of Toolbox'
# Host summarizes results using curl command
# Upload files
## Post images/packages
## Setup package repos/updates.img through SSH to fedorapeople server


* Admin:
== Reference ==
# Manage pages authority with diff namespaces
[[Tcms_Comparison|Wiki and Nitrate features Comparison Page]]
# FAS Integration
# Add some plugin to enhance some functions
# Protect a special page
# Delete a special page

Latest revision as of 23:06, 8 July 2014

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 Generic 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
    • Or user moves an existing case to a new name
  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.
  5. User adds the case to category

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'
  7. User adds the plan to category

Creating A Test Result Page(Test Run) 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 links test cases to the page
    • User groups the cases to different sections
  5. User adds the template to category

Creating A Test Result Page(Test Run)

  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
  4. User adds the result page to category
  5. User redirects current link to the result page

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)

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 Licensing for the tcms
  • Admin licenses the contents
  • Admin implements our update tools (bodhi/f-e-k) integration with wiki
  • Admin provides actively upstream project community

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 Fedora_Release_Criteria
  2. QA creates [[1]] validation event main/intro pages
  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 Fedora Release Criteria for current release milestones
  3. QA creates install and desktop test result page templates
    • QA sets priorities for the cases
    • QA creates results area for different platforms: i386 and x86_64
  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

Reference

Wiki and Nitrate features Comparison Page