Kernel Development QA: Difference between revisions

From Yocto Project
Jump to navigationJump to search
No edit summary
Line 1: Line 1:
[[Category:Kernel Development QA]]
[[Category:Kernel Development QA]]
This article is the test plan for Kernel Development.
This article is the test plan for kernel development features in Yocto Project.


= About Kernel Development =
= About Kernel Development =
Describes common tasks you can perform on Yocto Project using the kernel tools, and shows you how to use the metadata required to work with the kernel.  
Describes common tasks you can perform on Yocto Project using kernel tools, and shows you how to use the metadata required to work with the kernel.  
For more information you can review [http://www.yoctoproject.org/docs/latest/kernel-dev/kernel-dev.html Kernel Development.]
For more information you can review the [http://www.yoctoproject.org/docs/latest/kernel-dev/kernel-dev.html Kernel Development manual].


= Objectives =
= Objectives =
Verify all kernel development components are fully functional. The approach is to use manual testing.
Verify all kernel development components are fully functional.


= Team members =
= Team members =
Line 48: Line 48:


=Requirements=
=Requirements=
 
Use cases are documented in the corresponding section for each test case on [[Kernel Development Test Cases]] wiki.
This set of requirements is listed in a two column format, Bugzilla entries vs. requirement description in the form of a user story.
 
<p>As a Developer I want to be able to  generate and change  configuration files (defconfig).  - [https://bugzilla.yoctoproject.org/tr_show_case.cgi?case_id=1612 Test Case 1612]</p>
 
<p>As a Developer I want to be able to generate and change  configuration files (defconfig + fragments).  - [https://bugzilla.yoctoproject.org/tr_show_case.cgi?case_id=1613 Test Case 1613]</p>
 
<p>As a Developer I want to be able to apply single patch to Linux Kernel Source.  - [https://bugzilla.yoctoproject.org/tr_show_case.cgi?case_id=1614 Test Case 1614]</p>
 
<p>As a Developer I want to to be able to work with your own sources.  - [https://bugzilla.yoctoproject.org/tr_show_case.cgi?case_id=1615 Test Case 1615]</p>
 
<p>As a Developer I want to be able to work with own sources for linux-yocto-custom-local-source.  - [https://bugzilla.yoctoproject.org/tr_show_case.cgi?case_id=1616 Test Case 1616]</p>
 
<p>As a Developer I want to be able to work with recipe-space meta.  - [https://bugzilla.yoctoproject.org/tr_show_case.cgi?case_id=1617 Test Case 1617]</p>
 
<p>As a Developer I want to be able to work with External Source.  - [https://bugzilla.yoctoproject.org/tr_show_case.cgi?case_id=1618 Test Case 1618]</p>
 
<p>As a Developer I want to be able to configure linux-yocto meta data + local fragments.  - [https://bugzilla.yoctoproject.org/tr_show_case.cgi?case_id=1618 Test Case 1618]</p>
 
<p>As a Developer I want to be able to build external modules (hello-mod).  - [https://bugzilla.yoctoproject.org/tr_show_case.cgi?case_id=1832 Test Case 1832]</p>
 
<p>As a Developer I want to be able to work with local source with parallel meta..  - [https://bugzilla.yoctoproject.org/tr_show_case.cgi?case_id=1833 Test Case 1833]</p>
 
The complete test cases are not completed due current design.


==HW Requirements==
==HW Requirements==
Line 77: Line 54:


==Software Requirements==
==Software Requirements==
* Poky.
* Poky
* GNU/Linux environment
* GNU/Linux environment


==Environment Requirements==
==Environment Requirements==
**YP 2.3 Release:
*YP 2.3 Release:
**Ubuntu-14.04
*Ubuntu-14.04
**Ubuntu-14.10
*Ubuntu-14.10
**Ubuntu-15.04
*Ubuntu-15.04
**Fedora-21
*Fedora-21
**CentOS-6.*
*CentOS-6.*
**CentOS-7.*
*CentOS-7.*
**Debian-7.*
*Debian-7.*
**Debian-8.*
*Debian-8.*
**openSUSE-project-13.2
*openSUSE-project-13.2


=Features=
=Features=
<b> Features to be Tested </b>
<b> Features to be Tested </b>


<b><p>1. linux-yocto-custom.</p></b>
: 1. linux-yocto-custom
<p>1.1 local source. </p>
:: 1.1 local source
<p>1.2 local source with parallel meta</p>
:: 1.2 local source with parallel meta
<p>1.3 local source with recipe-space meta</p>
:: 1.3 local source with recipe-space meta
: 2. External Source
: 3. Defconfig
: 4.Defconfig + Fragments
: 5.building external modules (hello-mod)


 
The complete set of test cases are documented on the [[Kernel Development Test Cases]] wiki. They are also listed on the master Kernel test plan in Testopia, that can be reached following this [https://bugzilla.yoctoproject.org/tr_show_plan.cgi?plan_id=94 link].
<b><p>2. External Source.</p></b>
 
<b><p>3.Defconfig.</p></b>
<b><p>4.Defconfig + Fragments.</p></b>
<b><p>5.building external modules (hello-mod).</p></b>


= Schedule =
= Schedule =
Line 136: Line 112:


=Risk Assumptions=
=Risk Assumptions=
* For each change in kernel version and kernel cache, the team needs to change many configuration in order to achieve this.
* For each change in kernel version and kernel cache, the team needs to change many configuration files in order to achieve a correct execution.
* Just like any software, the kernel is also susceptible to bugs. A common “Long Term Support”.
* Just like any software, the kernel is also susceptible to bugs.


=Tools=
=Tools=
<p> TBD </p>
* bitbake
* yocto-layer
* bitbake-layers
* Any available text editor


= Release Criteria/ Exit Criteria =
= Release Criteria/ Exit Criteria =
 
All test cases pass.





Revision as of 00:40, 17 October 2017

This article is the test plan for kernel development features in Yocto Project.

About Kernel Development

Describes common tasks you can perform on Yocto Project using kernel tools, and shows you how to use the metadata required to work with the kernel. For more information you can review the Kernel Development manual.

Objectives

Verify all kernel development components are fully functional.

Team members

QA Team involved in Kernel Development testing

Jair Gonzalez 

Scope

  • linux-yocto-custom
  • local source
  • local source with parallel meta
  • local source with recipe-space meta
  • External source
  • defconfig
  • defconfig + fragments
  • linux-yocto meta data + local fragments
  • building external modules (hello-mod)

Test Strategy

There are several test approaches for kernel development, such as:

  • Perform test cases agreed upon development during periodic full pass test cycles, according to the schedule.
  • Write new test cases based on developer requests or new features added, as required.
  • Maintain current test cases and update them according to changes.
  • Perform exploratory testing on existing functionalities.

Test automation

Tests will be gradually automated whenever it may be possible.

Test Approach

Sanity testing

  • Not covered at this moment
  • TBD following DEV discussions


Maintaining the test cases

Submitting Bugs

Being part of the Yocto Project, Kernel Development follows the same Yocto Project guidelines and principles. The guidelines can be found at https://wiki.yoctoproject.org/wiki/Community_Guidelines. Kernel Development bugs are no different and are tracked into Bugzilla, the official Yocto Project bug tracker. Learn more about our process for reporting bugs.

Requirements

Use cases are documented in the corresponding section for each test case on Kernel Development Test Cases wiki.

HW Requirements

  • Any machine able to build Yocto Project.

Software Requirements

  • Poky
  • GNU/Linux environment

Environment Requirements

  • YP 2.3 Release:
  • Ubuntu-14.04
  • Ubuntu-14.10
  • Ubuntu-15.04
  • Fedora-21
  • CentOS-6.*
  • CentOS-7.*
  • Debian-7.*
  • Debian-8.*
  • openSUSE-project-13.2

Features

Features to be Tested

1. linux-yocto-custom
1.1 local source
1.2 local source with parallel meta
1.3 local source with recipe-space meta
2. External Source
3. Defconfig
4.Defconfig + Fragments
5.building external modules (hello-mod)

The complete set of test cases are documented on the Kernel Development Test Cases wiki. They are also listed on the master Kernel test plan in Testopia, that can be reached following this link.

Schedule

Every cycle depending on Milestone and release candidate

Test execution Cycle

Build Automated Test Manual Test
Daily Master NO NO
Weekly Build TBD Y
Milestone Build TBD Y

Dependencies

  • YP Dependencies
    • poky
    • meta-kerneltest recipe


Risk Assumptions

  • For each change in kernel version and kernel cache, the team needs to change many configuration files in order to achieve a correct execution.
  • Just like any software, the kernel is also susceptible to bugs.

Tools

  • bitbake
  • yocto-layer
  • bitbake-layers
  • Any available text editor

Release Criteria/ Exit Criteria

All test cases pass.