Yocto 1.5 Overall Test Plan: Difference between revisions

From Yocto Project
Jump to navigationJump to search
 
(150 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Yocto 1.5 Overall Test Plan reversion history
= Reversion history =
 
{|class="wikitable"
{|border="1"
! Version || Modifier || Comments
|Version|| Modifier   || Comments
|-
|-
| 1.0 || Alexandru Georgescu || Initial Version  
| 1.0 || Alexandru Georgescu || Initial Version  
|-
| 2.0 || Mihai Lindner || RFC Version
|}
|}


= Introduction =
This article is the overall test plan for version 1.5 of the {{ns:4}}.
It contains an overview of the testing process, such as testing areas, types, cycles and reports, along with a summary and objective for each of the conducted validation activities.
Further on, sections may be linked to other articles that contain further details or information related to them.
Note that the information provided in this article, or articles linked here, is subject to changes when needed as to reflect the actual activities held for the current version of the {{ns:4}}.


== Yocto 1.5 Test Execution Plan ==
= Objectives =
This test plan defines test targets/components, scope, strategy, configurations as well as test execution cycles for 1.5 version of Yocto.
The test process is mainly focused to track and review the quality and performance of the {{ns:4}}, along with its reference system and internal projects.
The plan also includes identifying and tracking areas subject to improvement, regression, validation of enhancements and bugs, development of testing methods with emphasis on automated testing.
Documentation and licensing status is not included in the scope of the testing process, unless otherwise noted e.g. as part of the process of verifying new features.


=== Targets / Components to Be Tested ===
= Test Areas =
Each internal project, under {{ns:4}}, is an area subject to a testing process. Areas are grouped by the nature of their functionality, as follows:


[TODO] - this list must be reviewed
== Build System ==
* Core OS: The core OS feature included Yocto kernel, distribution components(like connman, smart updater & zypper), file system. [TODO]
The build engine and the surrounding components, that provide the means to build an image or bake a bit of software. In this area the ''build-time'' tests are executed.
* 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 ===                                                                                                                                                                          
=== BitBake ===
Following feature categories won't be tested by QA team in Yocto v1.5:
Functional testing of BitBake, as a build engine, with all its features and components, against various configuration and scenarios.
* 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 ===
=== HOB ===
==== Test Platform matrix ====
Functional and usability testing of HOB as a graphical user interface for BitBake.


[TODO] - add the test platform matrix with all the core bsps that tests will be performed on
=== Metadata ===
Testing the core metadata of the {{ns:4}} is mainly covered in the overall testing process, through other [[#Test Areas]] like [[#BitBake]] and [[#HOB]] mentioned above.


Notes:
=== Build Performance ===
* Fullpass testing defined in execution plan will be performed against sato-sdk image.
The performance of the build system is tracked, with regards to time spent on passing through a build process, in multiple, commonly used, configurations.
* The atom images are both emgd and no-emgd images
; Tool: http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/scripts/contrib/build-perf-test.sh
; Results page: [[Performance Test]]


=== Test Strategy and Approach ===
== Target System ==
QA will cover following tests for each target in each round fullpass testing.
Area focused on a target operating system or an application that comes with it, as the output of a build process. In this area the ''run-time'' tests are executed.


[TODO] - define the matrix for what Yocto component tests will be performed on each target.
{|class="wikitable" style="text-align: center;"
| Machine type
!Target machine
|
! System Testing || [[#Compliance Testing]] || [[#Stress Testing]] || [[#System Performance]] || [[#Application Development Toolkit]]
|-
| rowspan="6" | [[#QEMU Machine]]
|-
! qemuarm
| || yes || || || || yes
|-
! qemumips
| || yes || || || || yes
|-
! qemuppc
| || yes || || || || yes
|-
! qemux86
| || yes || || || || yes
|-
! qemux86-64
| || yes || || || yes || yes
|-
| rowspan="5" | [[#BSP Machine]]
|-
! atom-pc
| || yes || || || ||
|-
! beagleboard
| || yes || yes || yes || ||
|-
! mpc8315e-rdb
| || yes || yes || || ||
|-
! routerstationpro
| || 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.


=== QEMU Machine ===
Covering all core, QEMU, machine definitions:
* qemuarm
* qemumips
* qemuppc
* qemux86
* qemux86-64


== Test Levels ==
=== BSP Machine ===
The Yocto 1.5 will be tested from the following different test execution levels.
Covering BSPs included in the {{ns:4}}:
* atom-pc
* beagleboard
* mpc8315e-rdb
* routerstationpro


==== Sanity Test ====
=== Compliance Testing ===
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.
Compliance test suites / frameworks used:
* based on the test results, most failed test-cases (from weekly) that can be automated will be included in this test suite.
* LSB tests
* POSIX tests
* LTP tests


[TODO]
=== 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


'''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.
=== System Performance ===
*; Objective:
**Track the run-time performance of targeted systems;


'''Scope''': Sanity test checks basic functionality in QEMU and its execution time depends on the test cases scheduled to run.
*; Indicators:
** Boot time for <tt>systemd</tt> and <tt>sysvinit</tt>;
** Image size from [[Buildhistory]] to track regression;
** Piglit test suite results;


==== Weekly Test ====
== Developer Tools ==
Weekly test is a test cycle against the weekly image released through distribution team.
=== Application Development Toolkit ===
* includes '''Sanity''' tests
ADT testing includes tests for ADT-installer, meta-toolchain-sdk and user build sdk. It will be covered in Weekly and Fullpass testing.
* 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


*Cross-toolchain install&compiling Test
*relocatable SDK
*ADT installer
*toolchain tarballs
*yocto build tree


'''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.  
=== Eclipse IDE Plugin ===
[TODO] - review the cost day time and add the man days necessary for finisshing the Weekly test.
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.


'''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).
*headless build
*C/C++ project creation
*debug/deploy
*user space tools
*Bitbake project


'''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.
=== Build Appliance ===
The basic functionality of the Build appliance will be tested. The tests consists on building successfully a build-appliance-image, launch HOB.


==== Fullpass Test ====
== Distribution Support ==
[TODO] - review post and pre-release terminology
; Criteria: The OS distribution version is still maintained at the time of the {{ns:4}} release (1.5 release date is: Oct. 18, 2013)
 
; Coverage: Following a table with targeted distribution and versions:
* includes '''Sanity''' tests
{| class="wikitable"
* includes all the '''weekly''' tests
! Distro !! Version !! Release !! EOL
* includes all the '''manual tests'''
|-
* includes the rest of the tests
| rowspan="4" | Ubuntu
 
|-
 
| 12.04.2 LTS || February 14, 2013 || April 2017
 
|-
'''Frequency''': The full pass tests done before the releases in order to  validate the components and the new included features
| 12.10 || October 18, 2012 || April 2014
 
|-
'''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.
| 13.04 || April 25, 2013 || January 2014
 
|-
'''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.
| rowspan="4" | Fedora
 
|-
''' Milestone testing ''': For every milestone release, the followin will be covered too:
| 17 || May 29, 2012 || ~August 02, 2013
 
|-
 
| 18 || January 15, 2013 || ~December 12, 2013
=== Test areas table ===
|-
{|border="1" solid
| 19 || July 2013 || ~
! Build !! Sanity Test !! Weekly Test !! Fullpass Test
|-
| rowspan="3" | CentOS
|-
| 5 || ~ || March 31, 2017
|-
| 6 || ~ || November 30, 2020
|-
| rowspan="3" | Debian
|-
| 6 || February 6th, 2011 || obsolete
|-
| 7 || May 4th, 2013 || current
|-
| rowspan="3" | openSUSE
|-
|-
! Weekly Build
| 12.2 || October 22, 2012 || ~
| yes || yes ||  
|-
|-
! Milestone Build
| 12.3 || May 28, 2013 || ~
| yes || yes || yes
|}
|}


== Test Areas ==
= Test Cycle =
In 1.5 testing, the test areas will be divided in 3 main areas:
* Execution according to [[Yocto 1.5 Schedule]].
* List of all [[Test Cases]], included in a cycle or not.


*Build system
{|class="wikitable" style="text-align: center;"
*Target
| ||
*Tools
!colspan="4"|Test execution cycle
 
|-
=== 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:
! [[#Sanity Test]] || [[#Weekly Test]] || [[#Full Pass Test]] || [[#Release Test]]
* Bitbake
|-
* HOB
! rowspan="5" |Build type
* Build Performance
|-
* Distribution
! Daily (M.U.T.)
 
| yes || || ||
[TODO] - add a link to the test cases
|-
 
! Weekly
=== Target ===
| yes || yes || ||
The '''Target''' test area contains all the test cases which are performed at Runtime. The project components included are:
|-
* Build appliance
! Release Candidate
* QEMU image
| yes || yes || yes ||
* BSP image
|-
* Target performance
! Release
* Compliance
| yes || yes || yes || yes
 
|-
[TODO] - add a link to the test cases
! rowspan="11" | [[#Test Areas]]
 
! [[#BitBake]]
=== Tools ===
| yes || yes || yes ||
The '''Tools''' test area refers to testing the followin tools supported by The Yocto Project. The project components are:
|-
* Eclipse plugin
! [[#HOB]]
* ADT
| || yes || yes ||
* Autobuilder
|-
 
! [[#Build Performance]]
[TODO] - add a link to the test cases
| || yes || ||
 
|-
=== Test areas detailed ===
! [[#QEMU Image]]
 
| yes || yes || yes ||
==== Build Performance ====
|-
 
! [[#BSP Image]]
Details for the current Build performance results are listed in the [https://wiki.yoctoproject.org/wiki/Performance_Test Performance test] wiki.
| || yes || yes ||
 
|-
==== Distribution Testing ====
! [[#Compliance 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.
| || || || yes
Basic functionalities of ADT, toolchaion, HOB2 and Core Build System ar testested on these targerts.
|-
 
! [[#Stress Testing]]
[TODO] - add more details
| || || || yes
 
|-
==== Target Performance ====
! [[#System Performance]]
 
| || || || yes
[TODO] - target performance
|-
 
! [[#Application Development Toolkit]]
==== Compliance ====
| || yes || yes ||
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.
|-
[TODO]
! [[#Eclipse IDE Plugin]]
 
| || yes || yes || yes
== Test Execution Cycle ==
|-
 
! [[#Build Appliance]]
{|border="1" solid
| || || yes ||
! Build !! Sanity Test !! Weekly Test !! Fullpass Test
|-
! rowspan="10" | Target machine
|-
! qemuarm
| yes || yes || yes ||
|-
! qemumips
| yes || yes || yes ||
|-
! qemuppc
| yes || yes || yes ||
|-
! qemux86
| yes || yes || yes ||
|-
! qemux86-64
| yes || yes || yes ||
|-
! atom-pc
| || yes || yes ||
|-
! beagleboard
| || yes || yes || yes
|-
! mpc8315e-rdb
| || yes || yes ||
|-
! routerstationpro
| || yes || yes || yes
|-
! rowspan="6" | Target image
|-
! core-image-sato
| yes || || ||
|-
! core-image-sato-dev
| yes || || ||
|-
! core-image-sato-sdk
| yes || yes || yes || yes
|-
|-
! Weekly Build
! core-image-minimal
| yes || yes ||  
| yes || || ||
|-
|-
! Milestone Build
! core-image-minimal-dev
| yes || yes || yes
| yes || || ||
|}
|}


== 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 a general automation wiki
== Sanity Test ==
Brief and quick automated tests, with execution time of maximum 10 minutes.
 
*; Scope:
** Each build process triggered on the [[AutoBuilder]].
 
*; Objective:
** Build finished with no errors;
** Check basic QEMU image functionality, e.g. boot, network, package manager, etc.;
** Establish if testing cycle can continue, depending on the build type.


[TODO] - add a link to a static wiki with all automated tests
== Weekly Test ==
*; Scope:
** Images built weekly and released through the distribution team.
** Passed [[#Sanity Test]]


[TODO] - add a link to a static wiki with all '''manual''' tests that can be '''automated'''.
*; Objective:
** Functionality test on most areas with minimum sets of tests;
** Regression test with high probability to find bugs.


== Feature testing ==
== Full Pass Test ==
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:
*; Scope:
** Images built as candidates for milestone or final release;
** Passed [[#Weekly Test]]


*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.
*; Objective:
*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.
** Ensure functionality of all {{ns:4}} components.
*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.


The current feature task board is found in the Yocto Project 1.5 status [https://wiki.yoctoproject.org/wiki/Yocto_Project_v1.5_Status#Feature.2FTask_Board wiki]
== Release Test ==
*; Scope:
** Release candidates that pass [[#Full pass test]]


[TODO] - add a link to the feature list
*; Objective:
** All scheduled features are covered, or rescheduled;
** All relevant bugs are fixed and verified.


=== Main features to be tested in 1.5 ===
*; Coverage:
** Stress test on RC
** Compliance test on RC
** Distribution test on RC


* gcc security flags
= Test Automation =
* extend developer experience to enable system and app development on Windows and MacOS
*; Objectives:
* WebHob
** Reduce effort with manual testing, by automating current tests;
* small common BSP with graphics
** Improve run-time testing.
* Fenrus updater
* Security tools
* create infrastructure to support direct image upgarding
* Increase the usage of Autobuilder as a QA tool and add more automated tests
* Toolchain armoring
[TODO] - add bug id for each


== Test report ==
*; Tools:
** [[AutoBuilder]]


There will be several pages that will contain the status of the testing and the testing history.
= Validation =
The current test results are available on [https://wiki.yoctoproject.org/wiki/1.5_QA_Status 1.5 QA Status]
*; Objective:
** Verify the correct functionality of new changes introduced in version 1.5 of the {{ns:4}}.


To view the history of all 1.5 runs, access [https://wiki.yoctoproject.org/wiki/1.5_qa_run_history 1.5 Run History page]
*; Entry criteria:
** The change is tracked and prioritized in [https://bugzilla.yoctoproject.org/ 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.


The current test report is generated automatically, and the template format can be found on the [https://wiki.yoctoproject.org/wiki/QA_Status_TEMPLATE QA Status Template]
*; Exit criteria:
** The change is well documented for writing test case, where applicable;
** Planned test case has passed;
** Bug status is set to VERIFIED.


=== Testopia ===
*; References:
Since 1.4 we have introduced Testopia as the official Test Case management platform for the Yocto Project. It can be accessed by having an account in Bugzilla and by clicking the [https://bugzilla.yoctoproject.org/tr_show_product.cgi Product dashboard] link.
** [[Yocto 1.5 Features]]
* Test elements inside Testopia are continuously being added and updated by the QA team. Community involvement is available.
** [[Yocto Project v1.5 Status#Feature/Task Board]]
* To access the test case management system, a bugzilla user have to be in the '''testers''' group. The users belonging to that group can conduct tests, all others can just read the information inside Testopia.
* More information inside the Testopia wiki page: [https://wiki.yoctoproject.org/wiki/Testopia Testopia wiki]


[TODO] - add owner to add users to Testopia
= Test Report =
*; Objectives:
** Show a live [[1.5 QA Status]] of the active test runs, on the latest build;
** Send out an report email to the {{ns:4}} [https://lists.yoctoproject.org/listinfo/yocto mailing list] at the end of a test cycle;
** Archive reports at [[1.5 qa run history]];
** Use [[QA Status TEMPLATE]] for reporting;
** Use [[Testopia]] as a tool for reporting;

Latest revision as of 13:03, 2 July 2013

Reversion history

Version Modifier Comments
1.0 Alexandru Georgescu Initial Version
2.0 Mihai Lindner RFC Version

Introduction

This article is the overall test plan for version 1.5 of the Yocto Project. It contains an overview of the testing process, such as testing areas, types, cycles and reports, along with a summary and objective for each of the conducted validation activities. Further on, sections may be linked to other articles that contain further details or information related to them. Note that the information provided in this article, or articles linked here, is subject to changes when needed as to reflect the actual activities held for the current version of the Yocto Project.

Objectives

The test process is mainly focused to track and review the quality and performance of the Yocto Project, along with its reference system and internal projects. The plan also includes identifying and tracking areas subject to improvement, regression, validation of enhancements and bugs, development of testing methods with emphasis on automated testing. Documentation and licensing status is not included in the scope of the testing process, unless otherwise noted e.g. as part of the process of verifying new features.

Test Areas

Each internal project, under Yocto Project, is an area subject to a testing process. Areas are grouped by the nature of their functionality, as follows:

Build System

The build engine and the surrounding components, that provide the means to build an image or bake a bit of software. In this area the build-time tests are executed.

BitBake

Functional testing of BitBake, as a build engine, with all its features and components, against various configuration and scenarios.

HOB

Functional and usability testing of HOB as a graphical user interface for BitBake.

Metadata

Testing the core metadata of the Yocto Project is mainly covered in the overall testing process, through other #Test Areas like #BitBake and #HOB mentioned above.

Build Performance

The performance of the build system is tracked, with regards to time spent on passing through a build process, in multiple, commonly used, configurations.

Tool
http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/scripts/contrib/build-perf-test.sh
Results page
Performance Test

Target System

Area focused on a target operating system or an application that comes with it, as the output of a build process. In this area the run-time tests are executed.

Machine type Target machine System Testing #Compliance Testing #Stress Testing #System Performance #Application Development Toolkit
#QEMU Machine
qemuarm yes yes
qemumips yes yes
qemuppc yes yes
qemux86 yes yes
qemux86-64 yes yes yes
#BSP Machine
atom-pc yes
beagleboard yes yes yes
mpc8315e-rdb yes yes
routerstationpro yes yes


QEMU Machine

Covering all core, QEMU, machine definitions:

  • qemuarm
  • qemumips
  • qemuppc
  • qemux86
  • qemux86-64

BSP Machine

Covering BSPs included in the Yocto Project:

  • atom-pc
  • beagleboard
  • mpc8315e-rdb
  • routerstationpro

Compliance Testing

Compliance test suites / frameworks used:

  • LSB tests
  • POSIX tests
  • LTP tests

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

System Performance

  • Objective
    • Track the run-time performance of targeted systems;
  • Indicators
    • Boot time for systemd and sysvinit;
    • Image size from Buildhistory to track regression;
    • Piglit test suite results;

Developer Tools

Application Development Toolkit

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

Eclipse IDE Plugin

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

Build Appliance

The basic functionality of the Build appliance will be tested. The tests consists on building successfully a build-appliance-image, launch HOB.

Distribution Support

Criteria
The OS distribution version is still maintained at the time of the Yocto Project release (1.5 release date is: Oct. 18, 2013)
Coverage
Following a table with targeted distribution and versions:
Distro Version Release EOL
Ubuntu
12.04.2 LTS February 14, 2013 April 2017
12.10 October 18, 2012 April 2014
13.04 April 25, 2013 January 2014
Fedora
17 May 29, 2012 ~August 02, 2013
18 January 15, 2013 ~December 12, 2013
19 July 2013 ~
CentOS
5 ~ March 31, 2017
6 ~ November 30, 2020
Debian
6 February 6th, 2011 obsolete
7 May 4th, 2013 current
openSUSE
12.2 October 22, 2012 ~
12.3 May 28, 2013 ~

Test Cycle

Test execution cycle
#Sanity Test #Weekly Test #Full Pass Test #Release Test
Build type
Daily (M.U.T.) yes
Weekly yes yes
Release Candidate yes yes yes
Release yes yes yes yes
#Test Areas #BitBake yes yes yes
#HOB yes yes
#Build Performance yes
#QEMU Image yes yes yes
#BSP Image yes yes
#Compliance Testing yes
#Stress Testing yes
#System Performance yes
#Application Development Toolkit yes yes
#Eclipse IDE Plugin yes yes yes
#Build Appliance yes
Target machine
qemuarm yes yes yes
qemumips yes yes yes
qemuppc yes yes yes
qemux86 yes yes yes
qemux86-64 yes yes yes
atom-pc yes yes
beagleboard yes yes yes
mpc8315e-rdb yes yes
routerstationpro yes yes yes
Target image
core-image-sato yes
core-image-sato-dev yes
core-image-sato-sdk yes yes yes yes
core-image-minimal yes
core-image-minimal-dev yes


Sanity Test

Brief and quick automated tests, with execution time of maximum 10 minutes.

  • Objective
    • Build finished with no errors;
    • 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.
    • Passed #Sanity Test
  • Objective
    • Functionality test on most areas with minimum sets of tests;
    • Regression test with high probability to find bugs.

Full Pass Test

  • Scope
    • Images built as candidates for milestone or final release;
    • Passed #Weekly Test
  • Objective
    • Ensure functionality of all Yocto Project components.

Release Test

  • Objective
    • All scheduled features are covered, or rescheduled;
    • All relevant bugs are fixed and verified.
  • Coverage
    • Stress test on RC
    • Compliance test on RC
    • Distribution test on RC

Test Automation

  • Objectives
    • Reduce effort with manual testing, by automating current tests;
    • Improve run-time testing.

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