Yocto 1.4 Overall Test Plan: Difference between revisions
No edit summary |
No edit summary |
||
Line 169: | Line 169: | ||
{|border="1" solid | {|border="1" solid | ||
! Build !! Sanity Test !! Regression Test !! Weekly Test !! Fullpass Test | ! Build !! Sanity Test !! Regression Test !! Weekly Test !! Fullpass Test | ||
|- | |- | ||
! Weekly Build | ! Weekly Build | ||
Line 189: | Line 183: | ||
{|border="1" solid | {|border="1" solid | ||
! Test Report !! AutoBuilder Web !! Yocto Mailing List | ! Test Report !! AutoBuilder Web !! Yocto Mailing List | ||
|- | |- | ||
! Weekly Build | ! Weekly Build | ||
Line 236: | Line 224: | ||
** Package History | ** Package History | ||
** ... etc | ** ... etc | ||
==== ADT Test(Covered in Weekly Test) ==== | ==== ADT Test(Covered in Weekly Test) ==== | ||
Line 253: | Line 238: | ||
** 32/64 bit, QEMU/BSP support | ** 32/64 bit, QEMU/BSP support | ||
** Ubuntu, Fedora, Opensuse | ** Ubuntu, Fedora, Opensuse | ||
Revision as of 21:45, 6 November 2012
Yocto 1.3 Overall Test Plan reversion history
Version | Modifier | Comments |
1.0 | Laurentiu Serban | Initial Version |
Yocto 1.4 Test Execution Plan
This test plan defines test targets/components, scope, strategy, configurations as well as test execution cycles for 1.4 version of Yocto.
Targets / Components to Be Tested
- Core OS: The core OS feature included Yocto kernel, distribution components(like connman, smart updater & zypper), file system, device drivers (e.g. Intel Graphics Driver).
- Core build system: includes build system tests also using additional features and tweaks for it.
- Hob2: It includes functional tests for both frontend and backend of Hob2.
- Yocto ADT: It includes cross-toolchain, Eclipse plugin tests.
- Performance: Checks the CPU power behavior by software level tool, such as powertop. Real Power consumption when idle is collected. The performance of the build system is also recorded.
- Distribution support: Current versions for supported distributions are tested along with one previous version and the beta release for the next one (the supported distributions are Ubuntu, Fedora, CentOS and OpenSUSE).
- Compliance testing: LSB, LTP and POSIX tests are ran on the the selected targets.
- Stress testing: Helltest + Crashme test suites are ran.
What will not Be Tested in Yocto v1.4
Following feature categories won't be tested by QA team in Yocto v1.3:
- Documentation: QA will not validate the correctness of each documentation.
- License file: license files and legal process are owned by Distro team.
Test Environment
Test Platform matrix
Following matrix is the target Test Plantforms for Yocto 1.3, with the target images will be validated in QA test.
Category | Qemu | Atom | Core i7 | Xeon | ARM HW | PPC HW | MIPS HW | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Platform | FishRiver Island2 | CrownBay | eMenlow | Sugarbay | HuronRiver | JasperForest | Beagleboard | mpc8315e-rdb | routerstationpro | |||||
Arch | x86_32 | x86_64 | arm | ppc | mips | x86_32 | x86_32 | x86_32 | x86_64 | x86_64 | x86_64 | arm | ppc | mips |
Sato-SDK image | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
LSB-SDK image | yes | yes | yes | yes | yes | yes | yes | yes |
Note:
- Fullpass testing defined in execution plan will be performed against sato-sdk image.
Test Strategy and Approach
QA will cover following tests for each target in each round fullpass testing.
Test Target | System & Core OS | ADT | Compliance | Stress | Power/Performance | Graphics | Mulitimedia |
qemux86 | yes | yes | |||||
qemux86-64 | yes | yes | yes | ||||
qemuarm | yes | yes | |||||
qemumips | yes | yes | |||||
qemuppc | yes | yes | |||||
SugarBay | yes | yes | yes | yes | |||
FishRiver Island 2 | yes | yes | yes | ||||
HuronRiver | yes | yes | |||||
Jasperforest | yes | yes** | |||||
eMenlow | yes | yes | yes | ||||
Beagleboard | yes | yes* | yes | yes | |||
mpc8315e-rdb | yes | yes | |||||
routerstation | yes | yes* | |||||
p1022ds | yes | yes* |
Note:
- Compliance Test on Beagleboard and routerstation will only cover LTP and POSIX Test, since LSB test suite does not support ARM and MIPS.
- Jasperforest is selected for stress test, because it is powerful with 12 CPUs and 2GB memory. Moreover, it is a server, which needs more stress tests.
Core build feature | Functionality | Performance | Distribution Support |
Yocto build | yes | yes | yes |
Hob2 | yes | n/a | yes |
ADT&Toolchain | yes | n/a | yes |
Note:
- For other core build features not listed, QA will cover functionality test if there is no specific requirement for performance and distribution.
Test Levels
The Yocto 1.4 will be tested from the following different test execution levels.
Sanity Test
Sanity Test is a brief and quick test. It is integrated with each build process (including incremental build) in autobuilder system. It checks image basic functionalities, such as booting, network, zypper etc. Its results will be published in build web page and referred by the other testing. It is fully automation test and its execution time should be less than 10 minutes. Additional test cases can be defined and integrated.
Frequency: Sanity test can be run on autobuilder system against the built images or on the local development machines for the locally built images.
Scope: Sanity test checks basic functionality in QEMU and its execution time depends on the test cases scheduled to run
Weekly Test
Weekly test is a test cycle against the weekly image released through distribution team.
Frequency: Weekly Test is against weekly image and occurred each Thursday if image is ready on autobuilder system. It will cost 3 days for one round weekly test.
Scope: Weekly Test gives a weekly overview of the Yocto Project by verifiying the basic functionalities and features. It includes all the automated tests for the project components and several maunual tests necessary for feature validation (if those test cases are not automated yet or cannot be automated).
Fullpass Test - Pre-release
Frequency: The full pass tests done before the releases in order to validate the components and the new included features
Scope: The test verifies the integration of new features and the regression for the existing ones. The run includes the weekly testcases and also additional manual test cases. Performance tests are ran and also distribution validation tests. The test cases ran cover all the functionalities of the components.
Fullpass Test - Post-release
Frequency: The full pass tests done after the releases in order to validate the components and the new included features for the release candidates
Scope: The test verifies the quality of new features and the regression for the existing ones. The run includes the weekly testcases and also additional manual test cases. Performance tests are ran and also distribution validation tests. The test cases ran cover all the functionalities of the components. In addition to pre-release testing the stress and compliance test suites are ran
Test Areas
- Functional Test – will test the existing features and also the new items in Feature List (defined in https://wiki.yoctoproject.org/wiki/Yocto_1.4_Schedule), cover Core OS & System usage,Hob2, ADT, toolchain, the eclipse plugin and the self-hosted-image.
- Stress Test – system should be alive and functional in 24 hours workload test. Helltest and Crash me are the suites that are ran for the stress tests. BSP images are the targets for it. The HW targets is to be defined.
- Power and Performance Test – which follow the power and performance test plan. The performance of the build system is the subject of the test. Building a core-image-sato image for qemu (x86_64) time is the deliverable of the test case. Another performance test is the boot time for the qemu image previously created.
The power test cases are: the powertop output in c2 state and the free output.
- Compliance Test - LTP, POSIX and LSB test suites are ran on the targets. The hardware used for this is Huron River. The images used are core-image-lsb.
- Distribution Testing - most recent previous version of one of the 4 supported distributions (Ubuntu, Fedora, CentOS, OpenSUSE) and the latest beta version of those are the target for these tests.
Basic functionalities of ADT, toolchain, HOB2 and Core Build System are tested on these targets (including all the automated tests cases)
Testing new features
The scope is verify if new features listed in Yocto 1.4 work as expected. QA needs to update the whiteboard for each feature in bugzilla with following status:
- Test Plan Ready: It means QA has discussed with developers and understood how to test a new feature. Testcase design has been reviewed by developer. QA should set the status during a feature is in Design or Design Review stage.
- Test Case Completed: It means QA has finished testcases implementation for a new feature. QA should set the status afer a feature is Development Finished.
- QA Testing Completed: It means QA finishes validation of a new feature and send the result on bugzilla or send to developer.
- No QA needed: It means there is no need to design any testcases for a new feature or QA has no resource to cover it.
- Covered by current QA Test Plan: It means current QA test plan already covers the feature. No new cases needed.
Frequency: New Feature test is a continuous QA work within feature development phase. After one new feature is finished, test cases for it will be added into weekly or fullpass test.
Test Execution Cycle
Build | Sanity Test | Regression Test | Weekly Test | Fullpass Test |
---|---|---|---|---|
Weekly Build | yes | yes | yes | |
Milestone Build | yes | yes | yes | yes |
Test Report
Test report should be posted on webpage and Yocto mailing list.
Test Report | AutoBuilder Web | Yocto Mailing List |
---|---|---|
Weekly Build | yes | |
Milestone Build | yes |
Test report format : Test Report Format
Test Automation
To reduce testing time, test automation will be adopted in the testing. Part of following tests will be implemented as automation:
- BSP/QEMU functionality tests
- Build feature tests
Note: Currently only sanity tests(10 cases) are fully automated.
Test Infrastructure
If QA has resource, test infrastructure will be investigated in Yocto v1.4. Automation test cases development should be test infrastructure independent.
Test Design
This is a overall test design for test components which will be covered QA testing. Detailed test cases design will be covered in Test Execution Plan.
System & Core OS(Covered in Weekly/Fullpass Test)
- Boot Test: Check if Yocto image is bootable with the bootloader.
- Installation/SW Update Test: Validate the Yocto image installation on hardware platform and software install/removal functions from the end users' perspective. Using zypper/rpm for software update with hardisk installed image.
- Common system usage Test: shutdown/restart, suspend/resume, init 3/5 boot.
- Component Test (aka. Feature Test): Based on sato image features to test. For example:
- Perl
- Rootless X
- 3G
- ... etc
(Basic functionality for tested features will be exercised as well as new functionality added in each release.)
Core Build System(Covered in Weekly/Fullpass Test)
- Functionality Test: Test Core build feature on standard host configuration. For example:
- Build Appliance
- multilib
- PR service
- Package History
- ... etc
ADT Test(Covered in Weekly Test)
- Cross-toolchain install&compiling Test
- ADT installer
- toolchain tarball
- yocto build tree
- Eclipse plugin
- C/C++ project create/cross-compile/remote-debug/deploy
- User-Space Tools
- Bitbake Project Create
- Hob
- Distribution Support
- 32/64 bit, QEMU/BSP support
- Ubuntu, Fedora, Opensuse