Yocto 1.5 Overall Test Plan

From Yocto Project
Jump to navigationJump to search

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 OS: The core OS feature included Yocto kernel, distribution components(like connman, smart updater & zypper), file system. [TODO]
  • 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. [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

[TODO] - add the test platform matrix with all the core bsps that tests will be performed on

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.

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.


Test Levels

The Yocto 1.5 will be tested from the following different test execution levels.

Sanity Test

Sanity Test is a brief and quick automated 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.

  • based on the test results, most failed test-cases (from weekly) that can be automated will be included in this test suite.

[TODO]


Frequency: Runs on public Autobuilder for every build. 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.

  • includes Sanity tests
  • includes the Manual tests, with high priority for automation
  • cover most areas with minimum sets of tests
  • contains test cases with high probability to find bugs


Frequency: Weekly Test is against weekly image that starts each Thursday if image is ready on autobuilder system. It will cost 1 days for one round weekly test. [TODO] - review the cost day time and add the man days necessary for finisshing the Weekly test.

Scope: Weekly Test gives a weekly overview of the Yocto Project by verifiying the basic functionalities and features. It includes all current automated tests for the project components and several maunual tests necessary for feature validation (most of them are tests that are to be automated).

Coverage: The weekly tests cover parts of ADT & toolchain, Core Build System and HOB. Also meta-yocto images are tested. On request meta-intel BSPs can be covered in this stage of testing.

Fullpass Test

[TODO] - review post and pre-release terminology

  • includes Sanity tests
  • includes all the weekly tests
  • includes all the manual tests
  • includes the rest of the tests


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.

Coverage: The weekly tests cover the entire functionalities for ADT & toolchain, Core Build System, Eclipse plugin and HOB. Also the meta-yocto images are tested. Performace tests are also ran. The meta-intel BSP releases are covered in this stage of testing.

Milestone testing : For every milestone release, the followin will be covered too:

Test Areas

In 1.5 testing, the test areas will be divided in 3 main areas:

  • 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

[TODO] - add a link to the test cases

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

[TODO] - add a link to the test cases

Tools

The Tools test area refers to testing the followin tools supported by The Yocto Project. The project components are:

  • Eclipse plugin
  • ADT
  • Autobuilder

[TODO] - add a link to the test cases

Test Execution Cycle

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
  • Hob2
  • ADT installation, standalone toolchain installation, compiling projects using ADT or Standalone Toolchain Installation
  • Build feature tests - core build systems

[TODO] - add a link to the automation wiki

Feature testing

The scope is verify if new features listed in Yocto 1.5 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.

[TODO] - add a link to the feature list

Test report

There will be several pages that will contain the status of the testing and the testing history. The current test results are available on 1.5 QA Status

To view the history of all 1.5 runs, access 1.5 Run History page

The current test report is generated automatically, and the template format can be found on the QA Status Template

[TODO]