Quality/Development

= Guidelines =

Test package is a RPM package that includes scripts, binaries and/or libraries for testing a feature or function.


 * Test package's name must use -tests[-*] format
 * eg. bluez-tests or bluez-tests-unittests
 * Doesn't have to depend on testrunner
 * Test-definition is not required, however recommended
 * Test package can have not approved or failing test cases
 * Test package's test-definition should be installed to /opt/tests/ /test-definition/
 * Test package's files should be installed to /opt/tests/ /
 * If test package provides some common test data (audio, video, image) those files should be installed to /opt/tests/ /{audio, video, image, text etc}/

OBS


 * Host (SDK) and device side tools to mer-tools:devel. Once package is tested and you are happy with it create submit request to mer-tools:testing. Please contact lbt from freenode IRC if you have questions.
 * Normally tests are packaged in the same repository than actual test target, but if you have independent test software those should locate at mer-qa GIT repository. Repositories are webhooked to mer-qa:devel OBS project. Please contact mkosola or kontio from freenode IRC #nemomobile to create git repos and wehooks to OBS.

= Test development =

As a developer:
 * 1) Search (or ask) the test's version control location
 * 2) Pull the test's source code and make changes
 * 3) Copy the original package to your home project in OBS
 * 4) Update your changes to the OBS
 * 5) Test your changes
 * 6) Push your changes to the version control
 * 7) Inform QA team about the changes with changes diff (URL to gitorious/gerrit/github diff)
 * 8) The QA team will review, retest and update the tool to OBS
 * 9) The QA team will select and approve tests for package and release testing

As a QA team member:
 * 1) Review and test submitted / changed test cases
 * 2) Approve only passing and useful test cases. For failing test cases, inform the developer and/or file a bug/task
 * 3) Update package's test-definition and add approved test cases to package/release test plan