Yocto Project 2.2 Release Test Plan: Difference between revisions

From Yocto Project
Jump to navigationJump to search
(Created page with "= Reversion history = {|class="wikitable" ! Version || Modifier || Comments |- | 2.1_M2 || Jose Perez Carranza || first draft |- |} = Introduction = This article is the over...")
 
No edit summary
 
(145 intermediate revisions by 4 users not shown)
Line 3: Line 3:
! Version || Modifier || Comments
! Version || Modifier || Comments
|-
|-
| 2.1_M2 || Jose Perez Carranza ||  first draft
| 1.0 || Jose Perez Carranza ||  First draft
|-
|-
|}
|}


= Introduction =
= Introduction =
This article is the overall test plan for version 2.1 of the {{ns:4}}.
This article is the overall test plan for version 2.2 of the {{ns:4}}, for all the generic information this document will be pointing [[QA Master Test Plan]]
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}}.


= Objectives and Tasks =
= Objectives =
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.


[[QA_Master_Test_Plan#Objectives_and_Tasks]]


== Objectives ==
= Test Strategy =
The Overall testing plan during {{ns:4}} 2.1 cycle aims to validate the overall enhancements that are currently in development for {{ns:4}} 2.1 as well as detecting regressions that might appear along.


* Bug and feature verification
Is followed the general strategy defined on [[QA_Master_Test_Plan#Testing_Strategy]] and below is showed specific information applicable only for 2.2 Release
* Running regression tests
* Perform exploratory testing on required areas (e.g. Toaster)
* Improve and extend overall automation


== Tasks ==
== Owned features ==
Here is a list with all tasks identified by this testing plan.


* General component testing
As QA team we are also in charge for some features to implemetn/verify
* Bug and Feature reporting
* Bug and Feature verification
* Test automation
* Exploratory testing
* Creating testing plans for required areas
* Review testing approaches with development peers
* Assign QA owners on major features


= Testing Strategy =
*To Verify  [[2.2_qa_owned_features_to_verify]]


== Test Areas ==
*To Implement [[2.2_qa_owned_features]]
By definition, {{ns:4}} is an open source collaboration project that provides templates, tools and methods to help you create custom Linux-based systems for embedded products regardless of the hardware architecture. Therefore, 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:


* [[#Build System]]
* Assigned to QA Team [[2.2_qa_assigned_bugs]]
* [[#Runtime testing]]
* [[#Developer Tools]]
* [[#Distribution Support]]


== Bugs to Verify ==


=== Build System ===
*Bugs that need verification form QA team  [[2.2_qa_owned_bugs]]
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.
Currently, [[oe-selftest]] covers all [[#Bitbake]], oe-core and [[#Metadata]] autoamted tests.
The Testopia template for oe-selftest is found in oe-core Bugzilla product:
* [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=5017 oe-core/oe-selftest Weekly Template]


==== BitBake ====
*Old Resolved bugs to verify  [[Old_resolved_bugs_and_features]]
Functional testing of BitBake, as a build engine with all its features and components against various configuration and scenarios.


The Testopia template for BitBake component is:
= Test Items =
* [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=4915 Bitbake Full Pass Template]


==== Toaster ====
{| class="wikitable"
[https://wiki.yoctoproject.org/wiki/WebHob Toaster] is a Web-based interface to the Bitbake build system and the Poky distribution inside the Yocto Project. This project was formely known as Web Hob / Webhob / webhob, and you may still find references to the old name in the documentation.
! style="text-align: center;" | Code of Colors
The [https://wiki.yoctoproject.org/wiki/Toaster_testing_plan Toaster testing plan] wiki covers all the validation performed against Toaster. The test process focuses mostly on validating the data collected from the build process and verifying the correct functionality of the Toaster GUI such as:
|-bgcolor="93DB70"
 
| style="text-align: center;" | Active
*UI interface
Tracked on Testpoia
*Backend interaction with bitbake for build purposes
|-bgcolor="67E6EC"
*Backend interaction with database for storing and accessing build informations
| style="text-align: center;" | Active
*The testing objective involves only positive testing for existing features on Toaster.
Non Tracked on Testopia
*Perform exploratory testing focusing on newer features; this can sometimes generate new test cases.
|-bgcolor="ffbf00"
 
| style="text-align: center;" | In Design
Here are the test run templates for Toaster:
Will be tracked on Tesopia
* [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=5175  Backend Managed mode - Full Pass TEMPLATE]
|- bgcolor="gray"
* [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=5174  UI Managed Mode - Full Pass TEMPLATE]
| style="text-align: center;" | Inactive
* [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=5173  Backend - Weekly TEMPLATE]
|}
* [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=5172  UI - Full Pass TEMPLATE]
* [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=4073  Exploratory TEMPLATE]
 
==== Metadata ====
Testing the core metadata of the {{ns:4}} is mainly covered in the overall testing process, through other [[#Test Areas]] like [[#BitBake]] and [[#Toaster]] mentioned above. We also have specific tests covering meta-yocto in the meta-yocto test run template, which we are running regularly at Full Pass:
 
* [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=4855 Meta-yocto - Full Pass Template]


==== Distro Testing ====
Distro Testing is intended to catch bugs that are distribution specific using the yocto-autobuilder. The tests are all run on identical hardware and with all OS-es updated. The distributions used are Fedora, Ubuntu, CentOS, OpenSuse with their latest update. If for a distribution, a beta version is available during the release, the n+1 (beta version) will be validated as well.<br/>
Refer to [https://wiki.yoctoproject.org/wiki/Distribution_Support#Distro_Testing Distribution Support wiki] for more details.


[TBD] - distribution support wiki needs to be updated
The test run template for Distro testing, can be found in the [https://bugzilla.yoctoproject.org/tr_show_plan.cgi?plan_id=147 Automated Build testing Bugzilla product] in the master branch.
* [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=4083 Distro Template]
Our Distro config can be found here on contrib: http://git.yoctoproject.org/cgit/cgit.cgi/yocto-autobuilder/log/?h=contrib/QAsetup/ABubuntu
=== Runtime 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.
For test coverage, we are running the automated tests using [[Image tests]].
<!-- The table can be edited with this tool : http://www.tablesgenerator.com/mediawiki_tables -->
{| class="wikitable"
{| class="wikitable"
! Release
! COMPONENT
! CPU Class
! style="text-align: center;" | TEMPLATE
! HW Platform
! BSP Name
! linux-yocto
! Image-type
! WR
! FP
! Compliance
! pTest
|-
|-
| '''generic BSPs (x86)'''
| bgcolor="93DB70" rowspan="2" style="text-align: center;" | ADT
| Big Core
| [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=5995 TRTEMP_2.2_MANUAL_ADT]
| MinwMax 32bit
|-
| genericx86
| [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=5996 TRTEMP_2.2_AUTO_ADT]
| 4.x
| core-image-sato-sdk
| <span style="background:#00ff00"> Y </span>
| <span style="background:#00ff00"> Y </span>
|  
|  
|-
|-
|  
| bgcolor="93DB70" rowspan="11" style="text-align: center;" | BSP
|
| [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=6007 TRTEMP_2.2_MANUAL_BSP/QEMU_core-image-sato-sdk_ANYQEMU]
|
|
| 4,x-ltsi
| core-image-lsb-sdk
| <span style="background:#00ff00"> Y </span>
|
|  
|  
|-
|-
|  
| [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=6009 TRTEMP_2.2_AUTO_BSP/QEMU_core-image-sato-sdk_ANYQEMU]
|
|
| genericx86-wic
| 4.x
| core-image-sato
| <span style="background:#00ff00"> Y </span>
|
|
|
|-
|-
|  
| [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=6010 TRTEMP_2.2_AUTO_BSP/QEMU_ore-image-lsb-sdk_ANYBSP]
|
|
|
| 4,x-ltsi
| core-image-lsb-sdk
|
|
|
|
|-
|-
|  
| [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=6011 TRTEMP_2.2_AUTO_BSP/QEMU_core-image-sato-wic_ANYBSP]
|
| MinwMax 64bit
| genericx86-64
| 4.x
| core-image-sato-sdk
| <span style="background:#00ff00"> Y </span>
|
|
|
|-
|-
|  
| [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=6012 TRTEMP_2.2_MANUAL_BSP/QEMU_core2-32_MinnowMax]
|
|
|
| 4,x-ltsi
| core-image-lsb-sdk
|
|
|
|
|-
|-
|  
| [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=6013 TRTEMP_2.2_MANUAL_BSP/QEMU_corei7-64_MinnowMax]
|
|
| genericx86-64-wic
| 4.x
| core-image-sato
| <span style="background:#00ff00"> Y </span>
|
|
|
|-
|-
|  
| [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=6014 TRTEMP_2.2_MANUAL_BSP/QEMU_corei7-64_NUC]
|
|
|
| 4,x-ltsi
| core-image-lsb-sdk
|
|
|
|
|-
|-
|  
| [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=6015 TRTEMP_2.2_MANUAL_BSP/QEMU_GenericX86-64_NUC]
|
| NUC
| genericx86-64
| 4.x
| core-image-sato-sdk
| <span style="background:#00ff00"> Y </span>
| <span style="background:#00ff00"> Y </span>
|
| <span style="background:#00ff00"> Y </span>
|-
|-
|  
| [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=6016 TRTEMP_2.2_AUTO_BSP/QEMU_core-image-sato-sdk_ANYBSP]
|
|
|
| 4,x-ltsi
| core-image-lsb-sdk
| <span style="background:#00ff00"> Y </span>
|
| <span style="background:#00ff00"> Y </span>
|
|-
|-
|  
| [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=6017 TRTEMP_2.2_MANUAL_BSP/QEMU_GenericX86_MMAX32]
|
|
| genericx86-64-wic
| 4.x
| core-image-sato
| <span style="background:#00ff00"> Y </span>
|
|
|
|-
|
|
|
|
| 4,x-ltsi
| core-image-lsb-sdk
|
|
|
|
|-
|
| VM
| QEMU
| qemux86
| 4.x
| core-image-sato-sdk
| <span style="background:#00ff00"> Y </span>
| <span style="background:#00ff00"> Y </span>
|
|
|-
|
|
|
|
| 4,x-ltsi
| core-image-lsb-sdk
|
|
|
|
|-
|
|
|
| qemux86-64
| 4.x
| core-image-sato-sdk
| <span style="background:#00ff00"> Y </span>
| <span style="background:#00ff00"> Y </span>
|
|
|-
|
|
|
|
| 4,x-ltsi
| core-image-lsb-sdk
|
|
|
|
|-
|-
| '''generic BSPs (n-x86)'''
| [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=6018 TRTEMP_2.2_AUTO_BSP/QEMU_core-image-sato-sdk_intel-quark]
| MIPS
| EdgeRouter
| EdgeRouter
| 4.x
| core-image-sato-sdk
| <span style="background:#00ff00"> Y </span>
| <span style="background:#00ff00"> Y </span>
|
|
|-
|-
|  
| bgcolor="93DB70" rowspan="2" style="text-align: center;" | CROPS
|
| [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=5997 TRTEMP_2.2_AUTO_CROPS]
|
|
| 4,x-ltsi
| core-image-lsb-sdk
|
|
|  
|  
|-
|-
|  
| [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=5998 TRTEMP_2.2_MANUAL_CROPS]
| PPC
| MPC8315e-rdb
| MPC8315e-rdb
| 4.x
| core-image-sato-sdk
| <span style="background:#00ff00"> Y </span>
| <span style="background:#00ff00"> Y </span>
|
|
|-
|-
|  
| bgcolor="93DB70" style="text-align: center;" | Eclipse-Plugin
|  
| [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=5999 TRTEMP_2.2._MANUAL_Eclipse-Plugin]
|
|
| 4,x-ltsi
| core-image-lsb-sdk
|
|
|
|
|-
|-
|  
| bgcolor="93DB70" style="text-align: center;" | Meta-Yocto
| PPC
| [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=6000 TRTEMP_2.2_MANUAL_Meta-yocto]
| P1022ds
| P1022ds
| 4.x
| core-image-sato-sdk
| <span style="background:#00ff00"> Y </span>
| <span style="background:#00ff00"> Y </span>
|
|
|-
|  
|
|
|
| 4,x-ltsi
| core-image-lsb-sdk
|
|
|
|
|-
|-
|  
| bgcolor="93DB70" rowspan="2" style="text-align: center;" | Toaster
| ARM
| [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=6021 TRTEMP_2.2_AUTO_TOASTER_UI]
| Beaglebone Black
| beaglebone
| 4.x
| core-image-sato-sdk
| <span style="background:#00ff00"> Y </span>
| <span style="background:#00ff00"> Y </span>
|  
|  
|-
|-
|  
| [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=6020 TRTEMP_2.2_MANUAL_TOASTER_UI-managed-mode]
|
|
|
| 4,x-ltsi
| core-image-lsb-sdk
|
|
| <span style="background:#00ff00"> Y </span>
|
|-
|-
|  
| bgcolor="93DB70" rowspan="2" style="text-align: center;" | eSDK
| VM
| [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=6033 TRTEMP_2.2_AUTO_eSDK]
| QEMU
| qemuarm
| 4.x
| core-image-sato-sdk
| <span style="background:#00ff00"> Y </span>
|
|  
|  
|-
|-
|  
| [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=6034 TRTEMP_2.2_MANUAL_eSDK]
|
|
|
| 4,x-ltsi
| core-image-lsb-sdk
|
|
|
|
|-
|-
|  
| bgcolor="93DB70" rowspan="2" style="text-align: center;" | OE-CORE / BitBake
|
| [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=6001 TRTEMP_2.2_AUTO_OE-Core]
|
| qemuarm64
| 4.x
| core-image-sato-sdk
| <span style="background:#00ff00"> Y </span>
| <span style="background:#00ff00"> Y </span>
|
|  
|-
|-
|  
| [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=6002 TRTEMP_2.2_MANUAL_BitBake]
|  
|-
|  
| bgcolor="gray" style="text-align: center;" | Automated Build Test / Distro
|
| [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=6022 TRTEMP_2.2_AUTO_Automated-Build-Testing]
| 4,x-ltsi
| core-image-lsb-sdk
|
|
|
|
|-
|-
|  
| bgcolor="93DB70" style="text-align: center;" | Runtime (Compliance)
|
| [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=6004 TRTEMP_2.2_AUTO_Runtime]
|
| qemuppc
| 4.x
| core-image-sato-sdk
| <span style="background:#00ff00"> Y </span>
|
|  
|  
|-
|-
|  
| bgcolor="93DB70" style="text-align: center;" | Build  Apliance
|
| [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=6006 TRTEMP_2.2_MANUAL_Build-Appliance]
|
|  
| 4,x-ltsi
| core-image-lsb-sdk
|
|
|
|
|-
|-
|  
| bgcolor="67E6EC" style="text-align: center;" | pTest
|
|
| qemumips
| 4.x
| core-image-sato-sdk
| <span style="background:#00ff00"> Y </span>
|
|  
|  
|  
|-
|-
|  
| bgcolor="67E6EC" style="text-align: center;" | Performance
|
| [https://wiki.yoctoproject.org/wiki/Performance_Test Performance Test]
|
|
| 4,x-ltsi
| core-image-lsb-sdk
|
|
|  
|  
|-
|-
|  
| bgcolor="ffbf00" style="text-align: center;" | SWUpd (Software Updater)
|
|
| qemumips64
| 4.x
| core-image-sato-sdk
| <span style="background:#00ff00"> Y </span>
|
|  
|  
|  
|-
|-
|  
| bgcolor="ffbf00" style="text-align: center;" | Distributed Builds
|
|
|
| 4,x-ltsi
| core-image-lsb-sdk
|
|
|  
|  
|  
|}
|}


= Test Cases =


*[[Yocto 2.2 Test Cases]]


==== Sanity Testing ====
= Features to be tested =
BSP Sanity testing is performed by the public [[AutoBuilder]], where all the BSP artifacts are built and checked if they are built correctly. On public [[AutoBuilder]], [[Image tests]] is being run also on the QEMU images as well.


==== Weekly Testing ====
All component to be tested on 2.2 are in [[#Test Items]] a detailed list of features per component can be found in Test Plan of the components [[QA_Master_Test_Plan#Component]]
Consists in running all automated BSP tests, whihc are targeted to run on a weekly basis against the weekly build. Enabling and running the tests is described on the [[Image tests]] wiki page. The tests are available for QEMU BSPs and as well BSPs installed on real Hardware. For Coverage, please check [[#Runtime testing]] WR column




==== Full Pass ====
= Features pending to be tested =
The full pass testing aims to run the BSP test cases which are not automated. They extend what is covered by [[#Weekly Testing]] by containing more complex scenarios like changing runlevels, or audio tests. for reference, please check [[#Runtime testing]] FP column.


The [[Testopia]] test run templates used for [[#Runtime testing]] can be found in the [https://bugzilla.yoctoproject.org/tr_show_product.cgi?product_id=66 BSPs Bugzilla product] and are the following:
Here is a list of areas that are not yet covered and need some work, implement test cases and add it to a component that belongs or create a new test plan for new component.
* [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=5119 GenericX86 2.1 Full Pass]
* [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=5118 BSP Weekly core-image-sato-sdk (auto)]
* [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=5116 Genericx86-64 Full Pass]
* [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=5112 Genericx86-64 WIC  weekly]
* [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=5111 LSB Weekly]
* [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=5110 ANYQEMU Weekly]
* [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=5109 ANYQEMU Full Pass]


==== Stress Testing ====


Stress tests are run on Beagleboard and genericx86-64 BSPs. Details as follow:
* build-appliance - can we run builds in the build-appliance image?
* Beaglebone core-image-sato-sdk image is tested using LTP and Crashme stress tests
* Verify if  -c menuconfig work?
* genericx86-64 core-image-lsb-sdk image is tested using Helltest and Crashme stress tests
* Verify if -c devshell work?
* Verify if BBPOSTCONF and BBPRECONF work in bitbake?
* Verify if oe-pkgdata-util print help when no parameters specified?
* Verify if parsing time is improved with a hot codeparser cache (build metrics did catch a regression here but we had to manually spot it).
* Verify Bitbake sane error if a layer doesn't exist? (no backtrace?) send-error-report - no unittesting, only caught python3 issues when it failed to send errors
* Verify if buildhistory_analsysis.py is tested
* Verify if compression image types is tested
* Verify combo-layer
* Verify yocto-bsp/yocto-layer 
* Verify oe-selftest coverage
* Verify bitbake -u depexp -g XXX


The Runtime test plan Template is available in [https://bugzilla.yoctoproject.org/tr_show_product.cgi Runtime Bugzilla product]:
= Pass / Fail Criteria =
* [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=5132 Runtime Full Pass]


This criteria is defined in [[Yocto_Project_v2.2_Status#Yocto_Project_v2.2_Release_Criteria]]


= Exit Criteria =


==== System Performance (not implemented) ====
As defined in [[QA_Master_Test_Plan#Entry and Exit Criteria]]
*; Objective:
**Track the run-time performance of targeted systems;
**Track the run-time performance of targeted systems with gcc security flags;


*; Indicators:
= Test Deliverables =
** Boot time for <tt>systemd</tt> and <tt>sysvinit</tt>;
** Image size from [[Buildhistory]] to track regression;
** Piglit test suite results;
** Other benchmarks that can be integrated, such as the ones listed in the [http://openbenchmarking.org/tests/pts openbenchmarking] site.


=== Developer Tools ===
==== Application Development Toolkit ====
ADT testing includes tests for meta-toolchain-sdk and user build sdk. It will be covered in Weekly and Fullpass testing.


*Cross-toolchain install&compiling Test
* Live Status [[2.2_QA_Status]]
*relocatable SDK
* Final execution Report [[#Execution History]]
*extensible SDK (eSDK)
* Mail sent to the mailing list
*toolchain tarballs
*yocto build tree


The Testopia templates are as following:
= Test Environment =
* [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=3476 ADT Full Pass]
* [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=3475 ADT Weekly]


==== Eclipse IDE Plugin ====
There are different environments and tools for every type of testing refer to [[QA_Master_Test_Plan#Test_Areas]] for more detailed information.
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
= Schedule =
*C/C++ project creation
*debug/deploy
*user space tools
*Bitbake project


Depending on the new SDK features (e.g. MacOS and Windows support), additional tests will be run in order to validate the new features.
The planed schedule for 2.2 can be found at [[Yocto_2.2_Schedule]]


Currently, Eclipse plugin Testopia templates are available here:
== Live Schedule ==


* [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=4031 Eclipse Full Pass]
{| class="wikitable"
* [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=4046 Exploratory New Test Cases]
! MILESTONE
 
! STARTED
For eclipse test automation, refer to [[#Eclipse Testing Framework]] section.
! FINISHED
! STATUS
|- bgcolor="00FF00"
| M1.rc2
| 2016-06-21
| 2016-06-29
| DONE
|- bgcolor="00FF00"
| M2.rc1
| 2016-07-21
| 2016-06-28
| DONE
|- bgcolor="00FF00"
| M2 Meta Intel.
| 2016-08-04
| 2016-08-10
| DONE
|- bgcolor="00FF00"
| 2.2 Master: f038f0699.
| 2016-08-19
| 2016-08-26
| DONE
|- bgcolor="00FF00"
| M3 rc1
| 2016-09-09
| 2016-09-20
| DONE
|- bgcolor="00FF00"
| M4 rc4
| 2016-10-18
| 2016-10-25
| DONE
|- bgcolor="00FF00"
| M4 rc6
| 2016-10-26
| 2016-10-28
| DONE
|- bgcolor="00FF00"
| 2.2rc1 Meta Intel 6.0
| 2016-11-03
| 2016-11-10
| DONE
|- bgcolor="00FF00"
| 2.2rc2 Meta Intel 6.0
| 2016-11-10
| 2016-11-16
| DONE
|- bgcolor="00FF00"
| 2.2.1 rc1 Point Release
| 2017-02-13
| 2017-02-20
| DONE
|- bgcolor="00FF00"
| 2.2.2 rc1 Point Release
| 2017-05-29
| 2017-06-02
| DONE
|- bgcolor="00FF00"
| 2.2.2 rc2 Point Release
| 2017-09-08
| 2017-09-13
| DONE
|- bgcolor="00FF00"
| 2.2.3 rc2 Point Release
| 2018-01-22
| 2018-02-23
| DONE
|- bgcolor="00FF00"
| 2.2.4 rc1 Point Release
| 2018-05-25
| 2018-07-13
| DONE
|}


==== Build Appliance ====
= Execution History =
The basic functionality of the Build appliance will be tested. The tests consists on building successfully a build-appliance-image, launch HOB.
Here is the Build Appliance Testopia Template:
* [https://bugzilla.yoctoproject.org/tr_show_run.cgi?run_id=4047 Build Appliance Template]
 
= Testing tools =
== Autobuilder ==
 
More information can be found in the [[AutoBuilder]] wiki.
 
== oe-selftest ==
 
Oe-selftest is a test framework used for testing the OpenEmbedded build system. Following are some key points in describing oe-selftest:
 
* based on Python unittest
* designed to simulate normal usage patterns
* does not cover image run-time testing
* implements a new layer that contains generic/specific metadata used only by tests
 
Details regarding oe-selftest implementation and usage are available on [[Oe-selftest]] wiki.
 
== Image tests ==
 
== Compliance Testing ==
Compliance test suites / frameworks used on genericx86-64:
* LSB tests
* POSIX tests
* LTP tests
 
Install steps:
 
# Download lsb image from autobuilder( same image as in LSB weekly testing for genericx86-64-lsb bsp)
#* we test compliance on NUC with genericx86-64-lsb, core-image-lsb-sdk
# Install the image on DUT
# Configure the network so it be able to work externally:
#* edit /etc/resolv.conf and add the gateway ip_address
#* add the ip and netmask using "ifconfig" command
#* add the route using "route add default gw <ip_address>"
#* export the proxy using "export http_proxy=<add your proxy link>" command
#: there is a bug and if you make these steps in another order than above, it may be possible not work
# Copy "compliance_test.py" script on DUT
# Make sure that your network connection is working
# Run the script like this:
#* make the script executable: "chmod a+x compliance_local.py"
#* run in command line the following command "./compliance_test.py <milestone> <date>"
#* wait until "Configuration done. LSB script must be started from machine." in command line( about 8-12 hours)
# Run "LSB_test.sh" via ssh or manually and wait for it to finish( about a day)
# Get the logs from DUT:
#* result-<milestone>-data.fulllog
#* result-<milestone>-data.log
#* result-<milestone>-data.fail
#* posix.log (can be found in: /opt/ltp/testcases/open_posix_testsuite)
#*:*  the three others are found in /opt/ltp directory, in output, temp, result folders . The logs need to be sent to [[yi.zhao@windriver.com]] specifying the version and the type of image
#* in /var/opt/lsb/test/manager/results/x86.../x86....tar.gz (you can find it with auto-complete(tab) easily)
#*:* it has like 18 Mb
#*:*  upload this file on drive and send the link to [[hongxu.jia@windriver.com]] and [[mark.hatle@windriver.com]]
#*:*  also I'll fwd an email to see how it looks
# Put the tests from Testopia - Runtime test run on passed
 
 
 
The scripts can be found here: http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=cagurida/compliance
 
== pTest ==
Ptest (package test) is a concept for building, installing and running the test suites that the packages include for and by themselves, while producing a consistent test execution output format. More details on enabling and installing pTest are available on [[Ptest]].
 
Install an run steps:
 
#Download pTest image from autobuilder( you can find core-image-sato-sdk image in pTest directory)
#Install the image on DUT (using legacy boot)
# Boot the image and copy "ptest-runner.sh" script on DUT
# In command line run "ptest-runner.sh > ptest.log" and wait for it to finish ( about 5 hours)
 
== Eclipse Testing Framework ==
 
Eclipse Testing Framework uses [https://fedorahosted.org/dogtail/ Dogtail] for test automation. Refer to  eclipse-framework [http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/tree/examples/README?h=vhangan/eclipse-framework&id=dce7364ba85c12683234dc4841830d4ce23a488c README] on contrib for installation and framework details.
[https://fedorahosted.org/dogtail/ Dogtail] is a GUI test tool and automation framework written in Python. It uses Accessibility (a11y) technologies to communicate with desktop applications. dogtail scripts are written in Python and executed like any other Python program.
 
== Build Performance test ==
 
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 tool used: http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/scripts/contrib/build-perf-test.sh
: For more details, refer to [[Performance Test]] wiki.
: Currently, build performance results can be viewed here as chart view (starting YP 1.6) [https://wiki.yoctoproject.org/charts/perf_milestone/performance_test.html here]
 
== Automatic testing of incoming patches ==
[TBD] - Not covered yet
 
= Test Cycle =
* Execution according to [[Yocto 2.1 Schedule]]. The first section of the table, "Build Type", details what type of tests are performed on Weekly, Release Candidate or Release test.
 
* List of all [[Test Cases]], included in a cycle or not.




{| class="wikitable"
{| class="wikitable"
! colspan="5" |
! MILESTONE
|-
! REPORT
| colspan="5" style="text-align: center;" | Test execution cycle
|-
| colspan="2" |
| #Sanity Test
| #Weekly Test
| #Full Pass Test (Release)
|-
| rowspan="4" | Build type
| Daily (M.U.T.)
| yes
|
|
|-
| Weekly
| yes
| yes
|
|-
| Release Candidate
| yes
| yes
| yes
|-
| Release
| yes
| yes
| yes
|-
| rowspan="9" | #Test Areas
| #Build System (oe-selftest)
| yes
| yes
| yes
|-
| #BitBake
|
|
| yes
|-
| #Toaster
| yes
| yes
| yes
|-
| #Metadata
|
|
| yes
|-
|-
| #Runtime testing
| M1.rc2
| yes
| [[WW26 - 2016-06-21 - Full Test Cycle 2.2 M1.rc2]]
| yes
| yes
|-
|-
| #Application Development Toolkit
| M2.rc1
|  
| [[WW30 - 2016-07-21 - Full Test Cycle 2.2 M2.rc1]]
| yes
| yes
|-
|-
| #Eclipse IDE Plugin
| M2 Meta-Intel
|  
| [[WW33 - 2016-08-04 - Full Test Cycle - 2.2 M2 - meta-intel]]
|
| yes
|-
|-
| #Build Appliance
| 2.2 Master: f038f0699
|  
| [[ WW35 - 2016-08-19 - Test Cycle - 2.2_Master ]]
|
| yes
|-
|-
| Distro Testing
| M3
| yes
| [[ WW38 - 2016-09-09 - Full Test Cycle 2.2_M3.rc1 ]]
| yes
| yes
|-
|-
| rowspan="3" | Target machine
| 2.2 rc4
| generic BSPs (x86)
| [[ WW43 - 2016-10-18 - Full Test Cycle 2.2 rc4 ]]
| yes
| yes
| yes
|-
|-
| generic BSPs (non x86)
| 2.2 rc6
| yes
| [[ WW44 - 2016-10-26 - Full Test Cycle 2.2 rc6 ]]
| yes
| yes
|-
|-
| VM (x86 and non-x86)
| 2.2rc1 Meta Intel 6.0
| yes
| [[ WW46 - 2016-11-03 - Full Test Cycle - 2.2_rc1 - meta-intel-6.0]]
| yes
| yes
|-
|-
| rowspan="6" | Target image
| 2.2rc2 Meta Intel 6.0
| core-image-sato
| [[ WW48 - 2016-11-03 - Partial Test_Cycle - 2.2_rc2 - meta-intel-6.0]]
| yes
|
|
|-
|-
| core-image-sato-dev
| 2.2.1rc1 Point Release
| yes
| [[ WW07 - 2017-02-13 - Full Point Release Test Cycle 2.2.1 rc1]]
|
|
|-
|-
| core-image-sato-sdk
| 2.2.2 rc1 Point Release
| yes
| [[ WW22_-_2017-06-05_-_Full_Point_Release_Test_Cycle_2.2.2_rc1]]
| yes
| yes
|-
|-
| core-image-lsb-sdk
| 2.2.2 rc2 Point Release
| yes
| [[ WW37_-_2017-09-13_-_Full_Point_Release_Test_Cycle_2.2.2_rc2]]
| yes
|
|-
|-
| core-image-minimal
| 2.2.3 rc2 Point Release
| yes
| [[ WW06_-_2018-02-08_-_Full_Point_Release_Test_Cycle_2.2.3_rc2 ]]
|
|
|-
|-
| core-image-minimal-dev
| 2.2.4 rc1 Point Release
| yes
| [[ WW28_-_2018-07-13_-_Full_Test_Cycle_2.2.4_rc1 ]]
|
|
|}
|}
== 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.
** The tests run on AB are the [[Image tests]]. Their configurations are stored in the AB config files "yocto-autobuilder/buildset-config" depending on the target image types.
== 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 {{ns:4}} components.
== Release Test ==
*; Scope:
** Release candidates that pass [[#Full pass 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.
** Improve build-time testing.
*; Tools:
** [[#Distro Testing]]
** [[AutoBuilder]]
** On [[AutoBuilder]] the [[Image tests]] are run.
** [[Oe-selftest]] can be used. Currently oe-selftest is run on public [[AutoBuilder]] as well.
== Test Automation contrib repositories ==
*[[oe-selftest]]
*[[Image tests]]
*[[ptest]]
*[[#Toaster]]
*[http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=vhangan/eclipse-framework&id=dce7364ba85c12683234dc4841830d4ce23a488c Eclipse testing framework]
= Validation =
*; Objective:
** Verify the correct functionality of [https://wiki.yoctoproject.org/wiki/Yocto_1.7_Features new] changes introduced in current version of the {{ns:4}}.
*; Entry criteria:
** The change is tracked by filling in the "QA Owner" field for the Medium+/High enhancements
** The change is prioritized in [https://bugzilla.yoctoproject.org/ Bugzilla]
** Bugzilla entry has a target milestone within the current version
** The change is documented or pointed out when no documentation is necessary (the doc flag is set accordingly)
** 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
*; References:
** [[2.1 qa owned bugs]] - Bug verification wiki tracker
** [[2.1 qa owned features to verify]] - Feature verification wiki tracker
** [[2.1 QA Owned Features]] - Feature list tracker that QA needs to implement
** [[Old resolved bugs and features]] - A list with old resolved bugs which needs verification
** [[2.1 QA Status]] - current status of test progress
= Test Reporting =
*; Objectives:
** Show a live [[2.1 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 [[2.1 qa run history]];
** Use [[QA Status TEMPLATE]] for reporting;

Latest revision as of 05:22, 31 July 2018

Reversion history

Version Modifier Comments
1.0 Jose Perez Carranza First draft

Introduction

This article is the overall test plan for version 2.2 of the Yocto Project, for all the generic information this document will be pointing QA Master Test Plan

Objectives

QA_Master_Test_Plan#Objectives_and_Tasks

Test Strategy

Is followed the general strategy defined on QA_Master_Test_Plan#Testing_Strategy and below is showed specific information applicable only for 2.2 Release

Owned features

As QA team we are also in charge for some features to implemetn/verify

Bugs to Verify

Test Items

Code of Colors
Active

Tracked on Testpoia

Active

Non Tracked on Testopia

In Design

Will be tracked on Tesopia

Inactive


COMPONENT TEMPLATE
ADT TRTEMP_2.2_MANUAL_ADT
TRTEMP_2.2_AUTO_ADT
BSP TRTEMP_2.2_MANUAL_BSP/QEMU_core-image-sato-sdk_ANYQEMU
TRTEMP_2.2_AUTO_BSP/QEMU_core-image-sato-sdk_ANYQEMU
TRTEMP_2.2_AUTO_BSP/QEMU_ore-image-lsb-sdk_ANYBSP
TRTEMP_2.2_AUTO_BSP/QEMU_core-image-sato-wic_ANYBSP
TRTEMP_2.2_MANUAL_BSP/QEMU_core2-32_MinnowMax
TRTEMP_2.2_MANUAL_BSP/QEMU_corei7-64_MinnowMax
TRTEMP_2.2_MANUAL_BSP/QEMU_corei7-64_NUC
TRTEMP_2.2_MANUAL_BSP/QEMU_GenericX86-64_NUC
TRTEMP_2.2_AUTO_BSP/QEMU_core-image-sato-sdk_ANYBSP
TRTEMP_2.2_MANUAL_BSP/QEMU_GenericX86_MMAX32
TRTEMP_2.2_AUTO_BSP/QEMU_core-image-sato-sdk_intel-quark
CROPS TRTEMP_2.2_AUTO_CROPS
TRTEMP_2.2_MANUAL_CROPS
Eclipse-Plugin TRTEMP_2.2._MANUAL_Eclipse-Plugin
Meta-Yocto TRTEMP_2.2_MANUAL_Meta-yocto
Toaster TRTEMP_2.2_AUTO_TOASTER_UI
TRTEMP_2.2_MANUAL_TOASTER_UI-managed-mode
eSDK TRTEMP_2.2_AUTO_eSDK
TRTEMP_2.2_MANUAL_eSDK
OE-CORE / BitBake TRTEMP_2.2_AUTO_OE-Core
TRTEMP_2.2_MANUAL_BitBake
Automated Build Test / Distro TRTEMP_2.2_AUTO_Automated-Build-Testing
Runtime (Compliance) TRTEMP_2.2_AUTO_Runtime
Build Apliance TRTEMP_2.2_MANUAL_Build-Appliance
pTest
Performance Performance Test
SWUpd (Software Updater)
Distributed Builds

Test Cases

Features to be tested

All component to be tested on 2.2 are in #Test Items a detailed list of features per component can be found in Test Plan of the components QA_Master_Test_Plan#Component


Features pending to be tested

Here is a list of areas that are not yet covered and need some work, implement test cases and add it to a component that belongs or create a new test plan for new component.


  • build-appliance - can we run builds in the build-appliance image?
  • Verify if -c menuconfig work?
  • Verify if -c devshell work?
  • Verify if BBPOSTCONF and BBPRECONF work in bitbake?
  • Verify if oe-pkgdata-util print help when no parameters specified?
  • Verify if parsing time is improved with a hot codeparser cache (build metrics did catch a regression here but we had to manually spot it).
  • Verify Bitbake sane error if a layer doesn't exist? (no backtrace?) send-error-report - no unittesting, only caught python3 issues when it failed to send errors
  • Verify if buildhistory_analsysis.py is tested
  • Verify if compression image types is tested
  • Verify combo-layer
  • Verify yocto-bsp/yocto-layer
  • Verify oe-selftest coverage
  • Verify bitbake -u depexp -g XXX

Pass / Fail Criteria

This criteria is defined in Yocto_Project_v2.2_Status#Yocto_Project_v2.2_Release_Criteria

Exit Criteria

As defined in QA_Master_Test_Plan#Entry and Exit Criteria

Test Deliverables

Test Environment

There are different environments and tools for every type of testing refer to QA_Master_Test_Plan#Test_Areas for more detailed information.

Schedule

The planed schedule for 2.2 can be found at Yocto_2.2_Schedule

Live Schedule

MILESTONE STARTED FINISHED STATUS
M1.rc2 2016-06-21 2016-06-29 DONE
M2.rc1 2016-07-21 2016-06-28 DONE
M2 Meta Intel. 2016-08-04 2016-08-10 DONE
2.2 Master: f038f0699. 2016-08-19 2016-08-26 DONE
M3 rc1 2016-09-09 2016-09-20 DONE
M4 rc4 2016-10-18 2016-10-25 DONE
M4 rc6 2016-10-26 2016-10-28 DONE
2.2rc1 Meta Intel 6.0 2016-11-03 2016-11-10 DONE
2.2rc2 Meta Intel 6.0 2016-11-10 2016-11-16 DONE
2.2.1 rc1 Point Release 2017-02-13 2017-02-20 DONE
2.2.2 rc1 Point Release 2017-05-29 2017-06-02 DONE
2.2.2 rc2 Point Release 2017-09-08 2017-09-13 DONE
2.2.3 rc2 Point Release 2018-01-22 2018-02-23 DONE
2.2.4 rc1 Point Release 2018-05-25 2018-07-13 DONE

Execution History

MILESTONE REPORT
M1.rc2 WW26 - 2016-06-21 - Full Test Cycle 2.2 M1.rc2
M2.rc1 WW30 - 2016-07-21 - Full Test Cycle 2.2 M2.rc1
M2 Meta-Intel WW33 - 2016-08-04 - Full Test Cycle - 2.2 M2 - meta-intel
2.2 Master: f038f0699 WW35 - 2016-08-19 - Test Cycle - 2.2_Master
M3 WW38 - 2016-09-09 - Full Test Cycle 2.2_M3.rc1
2.2 rc4 WW43 - 2016-10-18 - Full Test Cycle 2.2 rc4
2.2 rc6 WW44 - 2016-10-26 - Full Test Cycle 2.2 rc6
2.2rc1 Meta Intel 6.0 WW46 - 2016-11-03 - Full Test Cycle - 2.2_rc1 - meta-intel-6.0
2.2rc2 Meta Intel 6.0 WW48 - 2016-11-03 - Partial Test_Cycle - 2.2_rc2 - meta-intel-6.0
2.2.1rc1 Point Release WW07 - 2017-02-13 - Full Point Release Test Cycle 2.2.1 rc1
2.2.2 rc1 Point Release WW22_-_2017-06-05_-_Full_Point_Release_Test_Cycle_2.2.2_rc1
2.2.2 rc2 Point Release WW37_-_2017-09-13_-_Full_Point_Release_Test_Cycle_2.2.2_rc2
2.2.3 rc2 Point Release WW06_-_2018-02-08_-_Full_Point_Release_Test_Cycle_2.2.3_rc2
2.2.4 rc1 Point Release WW28_-_2018-07-13_-_Full_Test_Cycle_2.2.4_rc1