The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)
Talk:Quality/Test processes
From Mer Wiki
(Difference between revisions)
(→Test mapping / Test plan configuration) |
(→New test process) |
||
Line 26: | Line 26: | ||
feature: bluetooth | feature: bluetooth | ||
test cases: | test cases: | ||
− | - name: | + | - name: &check_interface |
timeout: 60 | timeout: 60 | ||
test type: functional | test type: functional | ||
Line 32: | Line 32: | ||
environment: hardware | environment: hardware | ||
− | - name: | + | - name: &create_l2cap_connection |
timeout: 120 | timeout: 120 | ||
test type: functional | test type: functional | ||
Line 39: | Line 39: | ||
provides: bluetooth-connection-l2cap | provides: bluetooth-connection-l2cap | ||
− | - name: | + | - name: &close_l2cap_connection |
timeout: 120 | timeout: 120 | ||
test type: functional | test type: functional | ||
Line 46: | Line 46: | ||
provides: bluetooth-connection-l2cap-close | provides: bluetooth-connection-l2cap-close | ||
− | - name: | + | - name: &transfer_1Mib_file |
timeout: 600 | timeout: 600 | ||
test type: functional | test type: functional | ||
Line 53: | Line 53: | ||
requires-before: bluetooth-connection-l2cap | requires-before: bluetooth-connection-l2cap | ||
requires-after: bluetooth-connection-l2cap-close | requires-after: bluetooth-connection-l2cap-close | ||
+ | |||
+ | test sets: | ||
+ | - name: sanity testing | ||
+ | - test: &check_interface | ||
+ | - test: &transfer_1Mib_file | ||
+ | |||
</pre> | </pre> | ||
Revision as of 17:55, 25 April 2012
New test process
Some notes from #mer channel at 23.4.2012 from 12:34 onwards:
- Separating test-definition from the test packaging
- New test-definition/metadata defines test case
- Same information than in the current test-definition
- Architectural domain and subdomain/feature
- HW (chroot or device or both)
- Defines requirements, eg. needs 3G network or test data
- Defines provides, eg. provides 3G network
- Defines dependencies to packages 0-*
- Same information than in the current test-definition
- Metadata files are stored in version control
- Can be automatically updated to a database
- Testing changed packages first, then integration testing?
- This requires lots of changes to existing tools. We could take the current tools in use before developing them further.
- New testrunner could be written in Python or similar language
New test-definition format:
version: 1.0 name: bluetooth tests domain: communications feature: bluetooth test cases: - name: &check_interface timeout: 60 test type: functional dependencies: [bluez] environment: hardware - name: &create_l2cap_connection timeout: 120 test type: functional dependencies: [bluez] environment: hardware provides: bluetooth-connection-l2cap - name: &close_l2cap_connection timeout: 120 test type: functional dependencies: [bluez] environment: hardware provides: bluetooth-connection-l2cap-close - name: &transfer_1Mib_file timeout: 600 test type: functional dependencies: [bluez, mer-testdata-files] environment: hardware requires-before: bluetooth-connection-l2cap requires-after: bluetooth-connection-l2cap-close test sets: - name: sanity testing - test: &check_interface - test: &transfer_1Mib_file
Test mapping / Test plan configuration
- Test request comes in. The request has parameters such as stage and "changed packages" list
- Testplanner reads the configuration/mapping file and creates test plan(s)
- Kickstart files are delivered to image builder and test plans for test automation
Mapping/configuration file:
name: Release testing devices: - chroot ots-device: mer-chroot kickstart: chroot-release.ks - virtual ots-device: mer-virtual-i686 kickstart: virtual-image-core.ks - n900 ots-device: mer-n900 kickstart: nemo-n900.ks default options: - chroot: filter: "hardware=chroot" default packages: - chroot: - mer-core-chroot-tests - all: - mer-core-sanity-tests packages: - package: bluez tests: - check interface - transfer 1Mib file
Description:
- devices: a list of devices for the tests are executed
- ots-device: device name in the OTS (test automation)
- kickstart: mapping kickstart files to devices
- default options: default options for devices
- default packages: a list of test packages that are always executed
- packages: the actual package mapping
- version: package version to use
- device: on which devices to execute the test