Kernel Development QA

From Yocto Project
Jump to navigationJump to search

This article is the test plan for Kernel Development.

About Kernel Development

Describes common tasks you can perform using the kernel tools, and shows you how to use the kernel Metadata needed to work with the kernel inside the Yocto Project. For more information you can review Kernel Development.

Objectives

Verify all Kernel Development components to be fully functional. This approach is based from Manual Testing.

Team members

QA Team involved in Kernel Development testing

Francisco Pedraza 

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 the development during periodic Manual (full pass) according to the Schedule. Write new test cases based on developer request or new features as required. Maintain current test cases and update them accordingly the new changes. Perform exploratory testing on existing functionalities.


Test automation

Not required until now.

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

This set of requirements is listed in a two column format, Bugzilla entries vs. requirement description in the form of a user story.

As a Developer I want to be able to generate and change configuration files (defconfig). - Test Case 1612

As a Developer I want to be able to generate and change configuration files (defconfig + fragments). - Test Case 1613

As a Developer I want to be able to apply single patch to Linux Kernel Source. - Test Case 1614

As a Developer I want to to be able to work with your own sources. - Test Case 1615

As a Developer I want to be able to work with own sources for linux-yocto-custom-local-source. - Test Case 1616

As a Developer I want to be able to work with recipe-space meta. - Test Case 1617

As a Developer I want to be able to work with External Source. - Test Case 1618

As a Developer I want to be able to configure linux-yocto meta data + local fragments. - Test Case 1618

As a Developer I want to be able to build external modules (hello-mod). - Test Case 1832

As a Developer I want to be able to work with local source with parallel meta.. - Test Case 1833

The complete test cases are not completed due current design.

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).

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 in order to achieve this.
  • Just like any software, the kernel is also susceptible to bugs. A common “Long Term Support”.

Tools

TBD

Release Criteria/ Exit Criteria