Test Case Naming
* Show the purpose clearly, avoid simply use number.
* Name length should less than 30
* Use '_' to connect words
Test Definition
* XML format :http://gitorious.org/qa-tools/test-definition * One test package corresponds one test case definition file
File header
* Copyright
* License
* Author
* Changelog
Check list
Makefile (??? If need automake)
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 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:
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
- All cared APIs should be covered (e.g. new functionality relevant APIs) with thorough test rules
- Legacy or low risk APIs are covered only with positive tests
Lightweight
- Test most ciritical functionalities
- With most typical parm-pairs