Software Test Manager

Test Manager

TestManager is a comprehensive software application developed specifically for testing consumer electronics (CE), broadcast and digital TV services. With TestManager tests can be scaled from a single device to many banks of equipment using any combination and number of RedRat3s and irNetBoxes.

The main function of TestManager is to support the automated and interactive control of CE equipment. Automated control takes places via scripts designed for the output of sequences of infrared remote control commands. Interactive control uses on-screen virtual remotes or physical handsets to route commands to selected CE devices.

TM Main Screen

Test Manager Main Screen


  • Test scripts can be imported, stored and edited within the system. They can be directly edited, or can be uploaded via an on-screen or a physical remote control. TestManager can be used to execute multiple scripts simultaneously and ensures that there is no interference or conflict.
  • The TM Script Language supports set-top box (STB) selection, output or control instructions, time delays and loops. It is adequate for many scripting tasks, but if complex script operations are needed then Python can be used.
  • To create scripts, along with a specially designed built-in editor, TestManager supports the use of external editors and has script capture and recording features via remote control output.
  • TestManager also supports script logging to aid the tracking of IR signal sequences in the event of errors.

Test Manager Script Editor

The TestManager Script Editor

Interactive STB Control

  • When first using TestManager in a test facility, an on-screen remote control can help to validate system set-up, and can also be used to quickly test remote control signal output sequences. Clicking on the remote buttons will cause output of the associated remote control signal to selected STBs.
  • Any combination of STBs can be interactively controlled with on-screen remote controls.
  • A graphical representation of the STB positions can be created to help quickly and intuitively select the STBs to control.


  • It can be useful in many situations to split a test facility into different zones, enabling control operations to be targeted at a particular zone. This is useful in situations where some operations fail on a few STBs and so they need more detailed testing, or where different tests are run on different banks of STBs.


  • A sequence of IR signals can be defined that causes some discrete operation to happen on a STB. This is useful for operations that require multiple signals such as changing channel.

Named Operations

  • Operations can be defined at a functional level rather than simply as a list of remote control signals. This is because for the same operation, different sequences of IR signals may be required for different STBs. For example, different STBs deployed within a test lab may not use the same engineering channel number. A named operation could be configured such that its output to a set of STBs will cause them all to perform the same operation, for example, to switch all STBs to a single channel reference.

Test Remote

Example of an On Screen Remote Control

TestManager architecture

Figure showing TestManager architecture (multi-user mode)

Change History

Version 5.02 – 10 Feb 2021
  • Rebuild to include updated on-screen RCUs with the NoResize property. They were missing from build 5.01.
Version 5.01 – 5 Feb 2021
  • All on-screen RCUs now have the ResizeMode property set to NoResize.
  • Fixed bug in on-screen remote controls, event that handled snapping to screen edge wasn't always hooked up.
Version 5.00 – 25 Jan 2021
  • Added the 'WIND' remote control, with more modern key layout, including Netflix and Youtube.
Version 4.92 – 14 Oct 2020
  • Removed the auto-updater which could cause TestManager to freeze.
Version 4.91 – 6 April 2020
  • A couple of bug fixes in on-screen remote controls.
Version 4.90 – 25 March 2020
  • Requires .NET version 4.7.2 and IronPython 2.7.9 (if using Python scripting).
  • Some support for RF4CE control of STBs.
  • Named operation output supported from on-screen remotes.
  • Various bug fixes and performance improvements.
Version 4.79 – 08 May 2018
  • Supports editing of IR signals and datasets.
  • Can import a single device IR dataset (used to have to import the full AvDevice IR DB).
  • Inital, example DB better conforms to standard IR name set.
Version 4.78 – 19 March 2018
  • Moved to .NET 4.5.2.
  • Added in-built web server to allow remote STB control via a web page.
  • Keyboard shortcuts can now be configured in options.
  • Scripts can be called from the STB Layout window.
  • Added support for SQL Server 2017.
  • Misc bux fixes.
Version 4.70 – 14 June 2017
  • Supports the RedRat-X.
  • Supports external script file logging.
Version 4.68 – 7 Nov 2016
  • Fixed threading issues with the auto-update process.
Version 4.67 – 4 Nov 2016
  • Added option to disable logging while running Python scripts externally.
Version 4.66 – 20 Oct 2016
  • Supports the irNetBox-IV.
  • Various fixes and improvements to core comms code (V4.12).
Version 4.65 – 9 May 2016
  • Uses V4.11 of RedRat core code.
  • Includes an update check and auto-update.
Version 4.64 – 25 Feb 2016
  • Added support for sharing irNetBoxes with other applications and users. Now able to use a RedRatHub instance for IR output.
  • Added Signal database exportation.
  • Fixed bug in closing the ScriptDialog when Python scripts weren’t stopped.
  • Fixed bug regarding adding new irNetBoxes via IP.
  • Improved lookup of RedRat devices.
  • Uses improved product/version ID lookup in RedRat core code.
Version 4.61 – 4 Dec 2015
  • Added support for running Python scripts outside TestManager – see documentation and code.
  • Python API supports sending commands to single STBs as well as lists.
Version 4.60 – 6 Nov 2015
  • Multiple script executing windows can be opened without the warning dialog.
  • Can explicitly search for new RedRat hardware without having to re-start the application.
  • Initial support for MK-IV irNetBoxes has been added.
Version 4.59 – 1 Oct 2015
  • RS001-2267: Opening scripts externally now brings editor window to foreground.
  • RS001-2268: Scripts can no longer be moved to other folders while they are open.
  • RS001-2271: If scripts fail to open then their state now stays as ‘unused’.
  • Bug fixes related to starting and stopping scripts.
Version 4.58 – 3 Aug 2015
  • Improved behaviour when converting between MK-II and III output power levels.
  • No longer able to edit/delete root script folder.
  • Multi-threaded python scripts now supported by python script engine.
Version 4.57 – 9 July 2015
  • Window sizes and positions are saved across sessions.
  • RS001-2249: Script type is now kept during copy & paste.
  • Many fixes and improvements to windows and dialog handling.
  • Fixes and improvements to the STB Layout window and editor.
  • Updated all icons.
  • Remote control input window remembers input method.
  • RS001-2259: Python script editor inserts spaces rather than tabs.
  • Built-in script editor now indicates whether script changes have occurred.
  • RS001-2260: Scripts can now be edited in external editors and have recent changes loaded back into DB while still open.
  • Supports MDI and SDI modes for external script editors.
  • RS001-2261: Can specify the duration of an IR signal using the Python API to simulate long button presses.
Version 4.56 – 24 May 2015
  • RS001-2244: Fixed bug which prevented virtual remotes from moving to other screens when ‘Options -> snap to screen edge’ was ticked.
  • RS001-2216: The position & size of all forms managed by the FormManager are now saved.
  • Fixed bug whereby a long running python script can have problems due to cross app-domain GC.
  • Improved notification if IronPython not installed.
Version 4.55 – 15 April 2015
  • Fixed bug preventing IR output on MK-III boxes using output groups.
  • Internal DB backup filename has date appended in form yyyy-MM-dd.
  • Can now support scripts of more than 4000 chars with SQL Server compact.
Version 4.53 – 12 Feb 2015
  • Added ability to change default decoder parameters for remote control input via the options box.
Version 4.52 – 9 Feb 2015
  • Layout editor prompts for saving changes if top-RH ‘X’ used.
  • IR signal capture parameters now adjustable and stored for use by RedRat3s during IR input.
Version 4.51 – 3 Dec 2014
  • Misc minor improvements to the options dialog.
  • Tab orders corrected in some dialogs.
  • Various GUI improvements.
  • Uses new application icon and Win8 tile.
  • Added some access and shortcut keys.
Version 4.50 – 28 Oct 2014
  • Fixed bugs in script management.
  • Moved to .NET 4.5.1.