Meego Wiki
Views

Quality/TestSuite/MCTS/MCTS Development Guideline

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
== '''MeeGo Core Test Suite(CTS) Development Guideline''' ==
== '''MeeGo Core Test Suite(CTS) Development Guideline''' ==
-
 
+
=== '''Test Definition''' ===
-
 
+
* XML format :http://gitorious.org/qa-tools/test-definition
 +
* One test package corresponds one test case definition file
=== '''Test Case Naming''' ===
=== '''Test Case Naming''' ===
* Show the purpose clearly, avoid simply use number.
* Show the purpose clearly, avoid simply use number.
* Name length should less than 30
* Name length should less than 30
-
* Use '_' to connect words  
+
* 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''' ===
=== '''File header''' ===
* Copyright
* Copyright
Line 24: Line 22:
* test.spec: spec files to create package
* test.spec: spec files to create package
=== '''Makefile (??? If need automake)''' ===
=== '''Makefile (??? If need automake)''' ===
-
* make : build test package.
+
* make : build test suite.
-
* 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, and tests.xml into /usr/share/<testpackagename>/tests.xml
* make clean: remove all object file and tempory files
* make clean: remove all object file and tempory files
-
* make uninstall: remove test binary or scripts, tests.xml under target installation directory.
+
* make uninstall: remove test binary, scripts, and tests.xml out of target installation directory.
-
* make package: create rpm for current test package
+
* make package: create rpm package
=== '''Coding Style''' ===
=== '''Coding Style''' ===
* C/C++ : http://www.chris-lott.org/resources/cstyle/indhill-cstyle.html
* C/C++ : http://www.chris-lott.org/resources/cstyle/indhill-cstyle.html

Revision as of 14:11, 9 June 2010

Contents

MeeGo Core Test Suite(CTS) Development Guideline

Test Definition

Test Case Naming

  • Show the purpose clearly, avoid simply use number.
  • Name length should less than 30
  • Use '_' to connect words

File header

  • Copyright
  • License
  • Author
  • Changelog

Check list

  • README
  • src/ : contain source files
  • utils/: contain utility and tools if any
  • Makefile
  • tests.xml
  • data/: contain small data files (For big data such as media content, need separate package)
  • pack.sh: the script to make package
  • test.spec: spec files to create package

Makefile (??? If need automake)

  • make : build test suite.
  • make install: install test binary or script into /usr/bin, and tests.xml into /usr/share/<testpackagename>/tests.xml
  • make clean: remove all object file and tempory files
  • make uninstall: remove test binary, scripts, and tests.xml out of target installation directory.
  • make package: create rpm package

Coding Style

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.
    • Has no dependency on other test case.
    • Has no dependency on UX or vertical specific apps.
    • Has no dependency on test framework.
    • Platform irrelevant
    • Clean environment after test complete.
    • If parameters number greater than 3, use getopts
    • Enough comments
  • Test Coverage Category 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
Personal tools