Framework Usage
Overview
This details the requirements for generating and building testing suites for the RDK-E Project for the vendor layer
- L1 / L2 testing suites will use the
ut-core
testing framework - L3/L4 levels will add the use
python-raft
infrastructure and theut-raft
framework andut-core
will still be expected to be used as required. - It must adhere to the setup/layout guide provided here: https://github.com/rdkcentral/ut-raft/wiki/Guide-for-Setting-up-the-Python-RAFT-Testing-Suite
- Developers are expected to understand and utilize the
ut-raft
classes documented here: https://github.com/rdkcentral/ut-raft/wiki - Examples of
python_raft
configuration and setup can be found in the aforementioned resources.
A document outlining the tests for external interfaces will be created. This document will detail how to use the python_raft
infrastructure to test the following:
- Selecting testing suite requirements from the platform-specific
deviceSettings.yaml
. - Defining module-specific options for downloading assets required for testing.
- Building the necessary components for testing.
- Utilizing
sc docker
to access the toolchain. - Tests should be designed to be platform independent, and driven by yaml configuration / profiles (see example: https://github.com/rdk-e/hal/wiki/Validation-Profiles).
The module must be build-able and testable using the specified methods. A phased delivery model with collaboration between Tata and Sky teams is required.
It should be noted that Vendor Layer testing is Black Box Testing.
Levels of Test
The levels of test to be implemented are defined here:
https://github.com/rdkcentral/ut-core/wiki/3.-Standards:-Levels-of-Test-for-Vendor-Layer
Testing Frameworks:
- L1/L2:
ut-core
wrapper forgtest
(https://github.com/rdkcentral/ut-core) will be used for L1/L2 testing. - L3: A combination of C++ and C, utilizing both
ut-core
andpython-raft
(https://github.com/rdkcentral/python-raft), will be used for L3 testing.
See also FAQ:-UT-Core-Framework-Overview
Phased Delivery:
The team will follow the phased delivery which defines git tasks and review checkpoints.