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) |
(→Test selection) |
||
(20 intermediate revisions by one user not shown) | |||
Line 1: | Line 1: | ||
− | == Test | + | = New test process = |
+ | |||
+ | == Test definition == | ||
+ | Some notes from #mer channel at [http://mer.bfst.de/logs/%23mer/%23mer.2012-04-23.log.html#t2012-04-23T12:34:18 23.4.2012] from 12:34 onwards and from the QA meeting [http://mer.bfst.de/meetings/mer-meeting/2012/mer-meeting.2012-04-26-12.00.html 2012-04-26]. | ||
+ | |||
+ | * Separating test definition from the test packaging | ||
+ | * New test definition defines test cases and test sets | ||
+ | ** Test's steps are in own file, makes test management easier | ||
+ | ** 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-* | ||
+ | * Test definition files are stored in version control | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | * This requires lots of changes to existing tools. We could take the current tools in use before developing them further. | ||
+ | |||
+ | New test-definition format: | ||
+ | <pre> | ||
+ | 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 | ||
+ | |||
+ | - name: &transfer_10Mib_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: &create_l2cap_connection | ||
+ | - test: &close_l2cap_connection | ||
+ | - test: &transfer_1Mib_file | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | == Test selection == | ||
[[Image:test_mapping.png]] | [[Image:test_mapping.png]] | ||
− | # | + | # New test request comes in. The request has parameters such as stage and "changed packages" list |
− | # | + | # Get from the stage's test selection file devices and test sets/cases |
+ | # Get from test definitions requirements, packages and dependencies for test sets/cases | ||
# Kickstart files are delivered to image builder and test plans for test automation | # Kickstart files are delivered to image builder and test plans for test automation | ||
− | + | Test selection: | |
<pre> | <pre> | ||
name: Release testing | name: Release testing | ||
− | devices: | + | devices: |
− | + | - chroot | |
− | + | ots-device: mer-chroot | |
− | + | kickstart: chroot-release.ks | |
− | - virtual: virtual-image-core.ks | + | - virtual |
− | - n900: mer- | + | ots-device: mer-virtual-i686 |
+ | kickstart: virtual-image-core.ks | ||
+ | - n900 | ||
+ | ots-device: mer-n900 | ||
+ | kickstart: nemo-n900.ks | ||
default options: | default options: | ||
- chroot: | - chroot: | ||
filter: "hardware=chroot" | filter: "hardware=chroot" | ||
− | |||
− | |||
default packages: | default packages: | ||
- chroot: | - chroot: | ||
- mer-core-chroot-tests | - mer-core-chroot-tests | ||
− | - mer-core-sanity-tests | + | - all: |
+ | - mer-core-sanity-tests | ||
packages: | packages: | ||
− | - | + | - package: bluez |
− | + | - set: sanity testing | |
− | + | - test: transfer_10Mib_file | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
</pre> | </pre> | ||
− | * devices: list of devices | + | '''Description''': |
− | * kickstart: | + | |
− | * default options: default options for | + | * 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 |
Latest revision as of 05:52, 2 May 2012
[edit] New test process
[edit] Test definition
Some notes from #mer channel at 23.4.2012 from 12:34 onwards and from the QA meeting 2012-04-26.
- Separating test definition from the test packaging
- New test definition defines test cases and test sets
- Test's steps are in own file, makes test management easier
- 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-*
- Test definition files are stored in version control
- This requires lots of changes to existing tools. We could take the current tools in use before developing them further.
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 - name: &transfer_10Mib_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: &create_l2cap_connection - test: &close_l2cap_connection - test: &transfer_1Mib_file
[edit] Test selection
- New test request comes in. The request has parameters such as stage and "changed packages" list
- Get from the stage's test selection file devices and test sets/cases
- Get from test definitions requirements, packages and dependencies for test sets/cases
- Kickstart files are delivered to image builder and test plans for test automation
Test selection:
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 - set: sanity testing - test: transfer_10Mib_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