-
Notifications
You must be signed in to change notification settings - Fork 0
3.2. Standards: Requirements for building testing suites
Ulrond edited this page Oct 18, 2024
·
2 revisions
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 buildable and testable using the specified methods. A phased delivery model with collaboration between Tata and Sky teams is required.
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.
- RRDI (Research, Review, Design, Implement)
The following phases will be followed for delivery, with checkpoints at each stage:
-
Research
- Each component team will provide a list of suggested tests.
- The team will research the requirements.
- Findings will be documented, and a proposal will be generated.
-
Review
- Architecture will review the requirements and suggest amendments.
- The document will remain in review until approved.
-
Design
- Engineering Team will design the module and its requirements.
- Architecture will review, provide feedback, and approve the design.
-
Implement
- Engineering Team will implement the module based on the approved design.
- Architecture will review each stage, provide feedback, and finally sign off on the completed implementation.