Extensible SDK Test Plan (eSDK)
This article is the test plan for eSDK.
About eSDK
Extensible SDK makes it easy to add new applications and libraries to an image, edit the source for an existing component, test the changes on the target hardware, and also allow you to integrate into the rest of OpenEmbedded build system. In order to Setting up the extensible SDK please go to Setting Up to Use the Extensible SDK.
Objectives
Verify all Extensible SDK components to be fully functional. Components to be verified:
Team members
QA Team involved in eSDK testing
Francisco Pedraza
Scope
*eSDK Installation
*eSDK Setup
Devtool features to be tested:
- Add a new recipe.
- Modify the source for an existing recipe.
- Upgrade an existing recipe.
- Show work-space status.
- Search available recipes.
- Edit a recipe file in your work-space.
- Get help on configure script options.
- Build a recipe.
- Apply changes from external source tree to recipe.
- Remove a recipe from your work-space.
- Deploy recipe output files to live target machine.
- Undeploy recipe output files in live target machine.
- Build packages for a recipe.
- Build image including work-space recipe packages.
- Run QEMU on the specified image.
- Build a derivative SDK of this one.
- Extract the source for an existing recipe.
- Synchronize the source tree for an existing recipe.
- Update SDK components.
- Install additional SDK components.
*Node.js
Test Strategy
There are several test approaches for Extensible SDK, 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
Test Approach
Sanity testing
- Not covered at this moment
- TBD following DEV discussions
Performance and Stress
- Usability
Regression
- Regression testing will be covered on Automation execution.
Maintaining the test cases
Submitting Bugs
Being part of the Yocto Project, eSDK follows the same Yocto Project guidelines and principles. The guidelines can be found at https://wiki.yoctoproject.org/wiki/Community_Guidelines. eSDK 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.
8137 As a developer I want to be able to to install needed development libraries and headers from published sstate feeds.
8136 As a developer I want Distributable sstate cache for individual components.
8135 As a developer I want to be able to generate images out of binary feeds.
8136 As a developer I want the ability to Public eSDK with modifications/addons.
8974 As a developer I want to be able to create eSDK image benchmark.
8974 As a developer I want to be able to Develop eSDK software benchmark.
8960As a developer I want to be able to install node.js modules' in bitbake output.
8690 As a developer I want to be able to create proper recipes for Node.js modules for devtool.
7635 As a developer I want to be able to extend cmake recipe creation on recipetool.
6658 8999As a developer I want to be able to create a kernel recipe with custom .config for devtool.
8138As a developer I want to be able to store additional detailed information about builds history.
7634 As a developer I want to be able to extend autotools recipe creation.
9040 As a developer I want to be able to list all the content of bundles using Bitbake.
8982 As a developer I want to be able to add support out-of-tree kernel modules.
8975 As a developer I want to be able to validate the way how to detect recipe problems where it can become host-dependant.
6658 As a developer I want to be able to enable kernel development from devtool
HW Requirements
- Any machine able to build.
Software Requirements
- eSDK.
Environment Requirements
- YP 2.1 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. Beggining on a recipe.
1.1 add.
1.2 modify.
1.3 upgrade.
2. Getting Information.
2.1 Status.
2.2 Check.
3. Working on a recipe in the workspace.
3.1 edit-recipe.
3.2 configure-help.
3.3 build.
3.4 update recipe.
3.5 reset.
4. Testing changes on target.
4.1 deploy-target.
4.2 undeploy-target.
4.3 package.
4.4 build-image.
4.5 runqemu.
5. Advanced.
5.1 build-sdk.
5.2 extract.
5.3 sync.
6. SDK maintenance.
6.1 sdk-update.
6.2 sdk-install.
7. sstate relevant features.
7.1 Ability to generate target packages in SDK.
7.2 Ability to install needed development libraries and headers from published package feeds.
8. Kernel relevant recipe and build.
8.1 Devtool: add: support out-of-tree kernel modules.
8.2 Devtool: enable kernel development.
9. Node.js dependencies installation.
9.1 TBD.
9.2 TBD.
Schedule
Test execution Cycle
Build | Sanity Test/E2E | Automated (Weekly Test) | Manual (Full Pass) |
---|---|---|---|
Daily Master | TBD | TBD | TBD |
Weekly Build | TBD | TBD | TBD |
Milestone Build | TBD | TBD | TBD |
Dependencies
- YP Dependencies
- Devtool.
- poky-glibc script.
- toolchain