The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)


Quality/Development

From Mer Wiki
< Quality(Difference between revisions)
Jump to: navigation, search
(New page: = QA Development = == Tools == '''OBS''' The Mer Tools are divided to two groups: * Host (SDK) and device side tools (Mer:Tools) * Server side tools (Project:MINT) Host and device side...)
 
(Guidelines)
 
(18 intermediate revisions by one user not shown)
Line 1: Line 1:
= QA Development =
+
= Guidelines =
  
== Tools ==
+
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 <packagename>-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/<packagename>/test-definition/'''
 +
* Test package's files should be installed to '''/opt/tests/<packagename>/'''
 +
* If test package provides some common test data (audio, video, image) those files should be installed to '''/opt/tests/<packagename>/{audio, video, image, text etc}/'''
  
 
'''OBS'''
 
'''OBS'''
  
The Mer Tools are divided to two groups:
+
* Host (SDK) and device side tools to [http://build.merproject.org/project/show?project=mer-tools%3Adevel mer-tools:devel]. Once package is tested and you are happy with it create submit request to [http://build.merproject.org/project/show?project=mer-tools%3Atesting mer-tools:testing]. Please contact lbt from freenode IRC if you have questions.
* Host (SDK) and device side tools (Mer:Tools)
+
* Normally tests are packaged in the same repository than actual test target, but if you have independent test software those should locate at [http://github.com/mer-qa mer-qa] GIT repository. Repositories are webhooked to [http://build.merproject.org/project/show?project=mer-qa%3Adevel mer-qa:devel] OBS project. Please contact mkosola or kontio from freenode IRC #nemomobile to create git repos and wehooks to OBS.
* Server side tools (Project:MINT)
+
  
Host and device side tools are compiled '''only''' against the Mer repositories. By this we try to keep the tools versions stable and avoid conflicts with the host distribution's packages (eg. Ubuntu/OpenSuse/Fedora). In addition, the Mer SDK can be used for testing.
+
= Test development =
  
The server side tools are provided for the most common Linux distributions. These are the tools that don't work in the Mer SDK, like OTS (Test automation system).
+
As a developer:
 +
# Search (or ask) the test's version control location
 +
# Pull the test's source code and make changes
 +
# Copy the original package to your home project in OBS
 +
# Update your changes to the OBS
 +
# Test your changes
 +
# Push your changes to the version control
 +
# Inform QA team about the changes with changes diff (URL to gitorious/gerrit/github diff)
 +
# The QA team will review, retest and update the tool to OBS
 +
# The QA team will select and approve tests for package and release testing
  
  
'''Development'''
+
As a QA team member:
 +
# Review and test submitted / changed test cases
 +
# Approve only passing and useful test cases. For failing test cases, inform the developer and/or file a bug/task
 +
# Update package's test-definition and add approved test cases to package/release test plan
  
* Host (SDK) and device side tools are submitted to '''Mer:Tools:Testing'''
+
[[Category:QA]]
* Server side tools are submitted to '''Project:MINT:Testing'''
+
 
+
As a developer:
+
# Copy the original package to your home project
+
# Make changes/fixes/updates
+
# Test your changes
+
# Ceate submit request to a respective OBS project (Mer:Tools:Testing or Project:MINT:Testing)
+
# If the request is declined, there is usually a reason for that. Go back to step 2 (avoid infinite loop!).
+

Latest revision as of 12:18, 16 December 2013

[edit] 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 <packagename>-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/<packagename>/test-definition/
  • Test package's files should be installed to /opt/tests/<packagename>/
  • If test package provides some common test data (audio, video, image) those files should be installed to /opt/tests/<packagename>/{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.

[edit] 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
Personal tools