| Line 3: | Line 3: | ||
'''Test Case Naming''' | '''Test Case Naming''' | ||
| - | + | * Show the purpose clearly, avoid simply use number. | |
| - | + | * Name length should less than 30 | |
| - | + | * Use '_' to connect words | |
'''Test Definition''' | '''Test Definition''' | ||
| - | + | * XML format :http://gitorious.org/qa-tools/test-definition | |
| - | + | * One test package corresponds one test case definition file | |
'''File header''' | '''File header''' | ||
| - | + | * Copyright | |
| - | + | * License | |
| - | + | * Author | |
| - | + | * Changelog | |
'''Check list''' | '''Check list''' | ||
* README | * README | ||
| Line 23: | Line 23: | ||
* pack.sh: the script to make package | * pack.sh: the script to make package | ||
* test.spec: spec files to create package | * test.spec: spec files to create package | ||
| - | + | '''Makefile (??? If need automake)''' | |
* make : build test package. | * make : build test package. | ||
* make install: install test binary or script into /usr/bin, tests.xml into /usr/share/<testpackagename>/tests.xml | * make install: install test binary or script into /usr/bin, tests.xml into /usr/share/<testpackagename>/tests.xml | ||
| Line 31: | Line 31: | ||
'''Coding Style''' | '''Coding Style''' | ||
| - | + | * C/C++ : http://www.chris-lott.org/resources/cstyle/indhill-cstyle.html | |
| - | + | * Python: http://www.python.org/dev/peps/pep-0008/ | |
| - | + | * Shell : http://hub.opensolaris.org/bin/view/Community+Group+on/shellstyle | |
'''Test Case Design''' | '''Test Case Design''' | ||
| - | Common Rule: | + | *Common Rule: |
| - | + | ** Automate test under condition of stability | |
| - | + | ** Main function should keep simple and structure keep neat. | |
| - | + | ** Define common function file shared between test cases. | |
| - | + | ** Have no dependency on other test case. | |
| - | + | ** Have no dependency on UX or vertical specific apps. | |
| - | + | ** Have no dependency on test framework. | |
| - | + | ** Platform irrelevant | |
| - | + | ** Clean environment after test complete. | |
| - | + | ** Avoid hard coding - String, Digital | |
| - | + | ** If parameters number greater than 3, use getopts | |
| - | + | ** Suitable comments | |
| - | Test Level Specific Rules: | + | *Test Level Specific Rules: |
| - | + | **Thorough | |
| - | + | *** All APIs should be covered. | |
| - | + | *** A test case targets an usage (API combination) instead of an API itself | |
| - | + | *** Test need cover param pairs with equivalence partitioning and boundary condition (All-pairs optional) | |
| - | + | **Average | |
| - | + | *** Legacy or low risk APIs are covered only with positive tests | |
| - | + | ||
| - | + | **Lightweight | |
| - | + | *** Test most critical functionalities | |
| - | + | *** With most typical parm-pairs | |
Test Case Naming
Test Definition
File header
Check list
Makefile (??? If need automake)
Coding Style
Test Case Design