Enhancing its RDK tools portfolio, RDK Management revealed the Test Development Kit (TDK) for Broadband during the INTX show in Boston earlier this year. Since then, operators, OEMs, SoC manufacturers and systems integrators have deployed the tool. The RDK Code Management Facility (CMF) uses the TDK-Broadband to validate RDK-B code releases to the community.
The TDK for RDK-V is already a widely adopted tool for testing RDK-Video releases. For those who are unfamiliar, the TDK is a generic test kit for automated testing of RDK, facilitated by a server-based interface for configuration, test creation, execution and result aggregation. The TDK Test Manager is a server that can be accessed via a web user interface, or harnessed by other test frameworks & Continuous Integration (CI) tools that use Representational State Transfer (REST) interfaces and Command Line Interfaces (CLI). The Test Manager is complemented by a Test Agent, which is ported to the device under test. The TDK is primarily intended as a white-box test tool for component / API-level testing of RDK in the absence of an application, and includes many end-to-end test scenarios to validate RDK features.
For testing RDK-B, the TDK-B uses Python & Tcl (Tool Command Language) scripting for enhanced flexibility, ease of usage and extensibility. It has a modular architecture designed to withstand changes in the underlying RDK-B implementation. The RDK-B architecture was leveraged to incorporate the TDK Agent as an RDK-B component, which will get registered with the Component Registrar (CR) and Message Bus. The TDK Agent will hence be able to communicate with, and query, any other component in the RDK-B layer.
Validation happens in three methods: 1) invoking message bus APIs for getting & setting TR-181 parameters; 2) Invoking RDK-B Cisco Open Service Architecture (COSA) APIs, which are a direct API call to the Data Model Layer (DML) of the RDK-B component; and 3) Tcl scripts that use TR-181 set/get operations for black box feature validation.
The current release of TDK includes white-box Python scripts, for component validation, and black-box Tcl scripts for end-to-end feature validation. With its test cases portfolio, the TDK can be used to perform developer-level testing, certification testing and regression testing of RDK releases and builds. A sample TDK deployment environment is shown in figure 1.
Platforms currently supported by TDK-B
TDK-B Validation Methods
RDK-B Components Covered by TDK-B