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-coretesting framework - L3/L4 levels will add the use
python-raftinfrastructure and theut-raftframework andut-corewill 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-raftclasses documented here: https://github.com/rdkcentral/ut-raft/wiki - Examples of
python_raftconfiguration 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 dockerto 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-corewrapper forgtest(https://github.com/rdkcentral/ut-core) will be used for L1/L2 testing. - L3: A combination of C++ and C, utilizing both
ut-coreandpython-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.