Yocto 1.5 Overall Test Plan: Difference between revisions
m (→Weekly Test) |
m (→Full Pass Test) |
||
Line 279: | Line 279: | ||
== Full Pass Test == | == Full Pass Test == | ||
*; Scope: | |||
** Images built as candidates for milestone or final release; | |||
** Passed [[#Sanity Test]] | |||
** Passed [[#Weekly Test]] | |||
* | *; Objective: | ||
* | ** Ensure functionality of all {{ns:4}} components. | ||
* | |||
== Release Test == | == Release Test == |
Revision as of 11:13, 11 June 2013
Yocto 1.5 Overall Test Plan reversion history
Version | Modifier | Comments |
1.0 | Alexandru Georgescu | Initial Version |
Yocto 1.5 Test Execution Plan
This test plan defines test targets/components, scope, strategy, configurations as well as test execution cycles for 1.5 version of Yocto.
Targets / Components to Be Tested
[TODO] - this list must be reviewed
- 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.
- BSPs: The core OS feature included Yocto kernel, distribution components(like connman, smart updater & zypper), file system. [TODO]
- 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. [TODO]
- 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).[TODO]
- Compliance testing: LSB, LTP and POSIX tests are ran on the the selected targets. [TODO]
- Stress testing: Helltest + Crashme test suites are ran.[TODO]
What will not be tested in Yocto v1.5
Following feature categories won't be tested by QA team in Yocto v1.5:
- Documentation: QA will not validate the correctness of each documentation.
- License file: license files and legal process are owned by Distro team.
[TODO]
Test Environment
Test Platform matrix
The following matrix represents the target images that will be validated in QA Test in 1.5.
Target machines | |||||
---|---|---|---|---|---|
meta | meta-yocto-bsp | meta-intel | |||
qemuarm | atom-pc | emenlow | |||
qemumips | beagleboard | crownbay | |||
qemuppc | mpc8315e-rdb | fri2 | |||
qemux86 | routerstationpro | nuc | |||
qemux86-64 | jasperforest | ||||
sugarbay |
The following list represents the list with all the platforms available for Yocto 1.5
Category | QEMU | Atom | Core i7 | Xeon | ARM HW | PPC HW | MIPS HW | ||||||||||
Platform | atom-pc generic | FRI2 | Cronwbay | eMenlow | Sugarbay | Chiefriver | HuronRiver | JasperForest | Beagleboard | mpc8315e-rdb | p1022ds | routerstationpro | |||||
Arch | x86 | x86_64 | arm | ppc | mips | x86 | x86 | x86 | x86 | x86_64 | x86_64 | x86_64 | x86_64 | arm | ppc | ppc | mips |
Sato-SDK image | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
LSB-SDK image | yes | yes | yes |
[TODO] - review LSB sdk tests on QEMU
Notes:
- Fullpass testing defined in execution plan will be performed against sato-sdk image.
- The atom images are both emgd and no-emgd images
Test Strategy and Approach
QA will cover following tests for each target in each round fullpass testing.
[TODO] - define the matrix for what Yocto component tests will be performed on each target.
The following matrix represents the Yocto Project components mapped by the test areas and by the Weekly and Full pass test levels.
Test Areas | |||
---|---|---|---|
Components | Weekly | Full Pass | |
Build System | Bitbake | Yes* | Yes |
Build performance | Yes* | Yes | |
Metadata | Yes* | Yes | |
Distribution | Yes* | Yes | |
Target | Build Appliance | Yes | |
QEMU images | Yes* | Yes | |
BSP images | Yes* | Yes | |
Stress | Yes* | Yes | |
Target performance | Yes* | Yes | |
Compliance | Yes | ||
Tools | Eclipse | Yes* | Yes |
ADT | Yes* | Yes | |
Autobuilder | Yes* | Yes |
[TODO] - add the sanity level in the matrix
Note:
- On weekly test, the basic BSP will be covered: Atom-PC, Beagleboard, Routerstationpro, MPC8315e-rdb, P1022ds-rdb, and all the QEMU images (arm, x86, x86_64, ppc, mips)
- as mentioned in the Weekly test section, the weekly tests will cover the basic functionalities of the component.
- 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.
The following matrix represents Full pass and Weekly coverage of BSP testing.
Test levels | Atom-PC | NUC | Emenlow | Sugarbay | Jasperforest | Crownbay | FRI2 | Beagleboard | RouterstationPro | MPC8315e-rdb | P1022ds-rdb |
---|---|---|---|---|---|---|---|---|---|---|---|
Weekly | Yes | Yes | Yes | Yes | Yes | ||||||
Full Pass | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Test Cycle
- Execution according to Yocto 1.5 Schedule.
- List of all Test Cases, included in a cycle or not.
Test execution cycle | |||||
---|---|---|---|---|---|
#Sanity Test | #Weekly Test | #Full Pass Test | #Release Test | ||
Build type | Daily (M.U.T.) | yes | |||
Weekly build | yes | yes | |||
RC build | yes | yes | yes | ||
Release | yes | yes | yes | yes |
Sanity Test
Brief and quick automated tests, with execution time of maximum 10 minutes.
- Scope
- Each build process triggered on the AutoBuilder.
- Objective
- Ensure the build output is sane / as expected;
- Check basic QEMU image functionality, e.g. boot, network, package manager, etc.;
- Establish if testing cycle can continue, depending on the build type.
Weekly Test
- Scope
- Images built weekly and released through the distribution team.
- Objective
- Functionality test on most areas with minimum sets of tests;
- Regression test with high probability to find bugs.
- Coverage
- TODO
Full Pass Test
- Scope
- Images built as candidates for milestone or final release;
- Passed #Sanity Test
- Passed #Weekly Test
- Objective
- Ensure functionality of all Yocto Project components.
Release Test
Frequency: Will be tested for every release build (mostly RC2) or on request.
Scope: In addition to Fullpass testing, the stress and compliance test suites are ran.
Coverage: Performance, Distribution, Stress and Compliance testing are covered.
Milestone testing : For every milestone release, the following will be covered:
- distribution testing
- compliance
- performance
- stress testing
[TODO] - review Milestone testing
Test Areas
In 1.5 testing, the test areas will be divided in 3 main components:
- Build system
- Target
- Tools
Build system
Build system test area contains all the tests that are related to the Build system. The project components that contain the test cases related to the build system are:
- Bitbake
- HOB
- Build Performance
- Distribution
Target
The Target test area contains all the test cases which are performed at Runtime. The project components included are:
- Build appliance
- QEMU image
- BSP image
- Target performance
- Compliance
Tools
The Tools test area refers to testing the followin tools supported by The Yocto Project. The project components are:
- Eclipse plugin
- ADT
- Autobuilder
Test areas detailed
Bitbake
Will cover basic Bitbake tests, like checking flags, showing layers, showing error messages, recipes.
Build Performance
For every milestone we have a script used for running the builds performance tests: scripts/contrib/build-perf-test.sh.
Details for the current Build performance results are listed in the Performance test wiki.
Metadata
Distribution Testing
The 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, toolchaion, HOB2 and Core Build System ar testested on these targets.
The following coverage matrix will reprezent the supported distributions:
Distribution | Ubuntu | Fedora | CentOS | OpenSUSE | ||||
Version | 13.04 | 13.10 | 18 | 19 | 6.3 | 6.4 | 12.3 | 13.1 |
RC Supported | Yes | Yes | Yes | Yes | ||||
1.5 Supported | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
[TODO] - add more details
Build appliance
The basic functionality of the Build appliance will be tested. The tests consists on building successfully a build-appliance-image, launch HOB.
Qemu and BSP testing
On every test cycle, QA will validate the core BSPs: Atom-PC, Beagleboard, RouterstationPro, MPC8315e-rdb, P1022ds-rdb, QEMU (arm, ppc, mips, x86, x86_64). The images tested will be core-image-sato-sdk. The scope of BSP testing is to make sure that the core BSPs have basic functionality, like described below:
- 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/SMART updater for software updates 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
- Opening 3rd party application
- Code compiling and building binaries on the *-sdk images
- Continuous system updates analysis
(Basic functionality for tested features will be exercised as well as new functionality added in each release.)
Stress testing
Stress tests are run on Beagleboard and Jasperforest BSPs. Details as follow:
- Beagleboard core-image-sato-sdk image is tested using LTP and Crashme stress tests
- Jasperforest core-image-lsb-sdk image is tested using Helltest and Crashme stress tests
[TODO] - add more details
Runtime Performance
The runtime performance metrics will be measured using the following methods:
- measure boot time for SystemD and SysVinit features
- record image size from buildhistory to track regression
- use Phoronix Test Suite tests to benchmark Yocto images
- run Piglit test suite
[TODO] - detail the methods
Compliance
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-sdk. [TODO]
Eclipse
Eclipse plugin tests will cover the basic functionalities. This includes installation, configuring Yocto Project ADT settings, Yocto BSP, Bitbake project and project compiling and deployment to the target. Based on the features that will be implemented, new test cases will be added, to support Windows and Mac support. This will be more detailed in the Features section.
- headless build
- C/C++ project creation
- debug/deploy
- user space tools
- Bitbake project
ADT
ADT testing includes tests for ADT-installer, meta-toolchain-sdk and user build sdk. It will be covered in Weekly and Fullpass testing.
- Cross-toolchain install&compiling Test
- relocatable SDK
- ADT installer
- toolchain tarballs
- yocto build tree
Autobuilder
Covers sanity tests that are run on the public Autobuilder
Test Automation
- Objectives
- Reduce effort with manual testing, by automating current tests;
- Improve build-time and run-time testing.
- Tools
Validation
- Objective
- Verify the correct functionality of new changes introduced in version 1.5 of the Yocto Project.
- Entry criteria
- The change is tracked and prioritized in Bugzilla;
- Bugzilla entry has a target milestone within version 1.5;
- The change is documented or pointed out when no documentation is necessary;
- Bug status is set to RESOLVED.
- Exit criteria
- The change is well documented for writing test case, where applicable;
- Planned test case has passed;
- Bug status is set to VERIFIED.
Test report
- 1.5 QA Status will show a live status of currently active test runs;
- When a test cycle is complete, an email containing the test report is sent to the Yocto Project mailing list;
- 1.5 qa run history contains previous test reports;
- QA Status TEMPLATE is used for reports;
- Testopia is used for test case management and reporting.