Skip to content

Smart TV app Testing

Smart TVs are coming to dominate the television market. This accompanied by an increase in the use of smart TV applications (apps). Due to the increasing demand, developers need modeling techniques to analyze these apps and assess their comprehensiveness, completeness, and quality. The aim of this project is to develop a fully automated Smart TV app testing framework based on model-based testing approach. Throughout this project, we also aim to create an open-source research community for smart TV app testing by providing the necessary guidelines, starting packages, tools, repositories, and documentation to motivate the collaboration in this direction. We present our EvoCreeper tool that can crawl the GUI of a smart TV app and then extract the necessary components to be included in a comprehensive model. In this page, we will try to post updates about this research direction including our understanding, opinion, observations on testing of smart TV apps.

The Sections in this page may not be connected to each other and each one can be treated separately. However, the whole page may help to build an understanding as a start point to chance this research direction.

Starting point

As a starting point, I recommend to read the following two articles:

  • Testing of Smart TV Applications: Key Ingredients, Challenges, and Proposed Solutions, Download here
  • EvoCreeper: Automated Black-Box Model Generation for Smart TV Applications, Download here


Smart TV apps are developed using software development kits (SDKs). Each platform has its own SDK for the development of software for TV devices. For example, Android and Tizen SDKs can be used for smart TV app development. Recently, a few SDKs have also begun to support cross-platform development. For instance, the Mautilus [5] Smart TV SDK is an example development framework, but at present, the apps developed in this framework work on only some versions of the supported devices. The Smart TV Alliance [6] was another project for supporting cross-platform development; however, this project has been inactive for some time. In fact, the Tizen SDK is currently the SDK that is most commonly used since it provides a set of tools and frameworks for the development of smart TV apps through Tizen Studio that utilizes the latest Web technologies, such as JavaScript, CSS, HTML5, and W3C widget packaging, which are used by most smart TV apps. Additionally, JavaScript is used in most apps as a standard programming language for programming their behavior. The use of JavaScript endows an app with the page jumping capability. It also enables the developer to code complex expressions and calculation structures such as conditional branches and loops.