Given that the Next Gen TV platform provides broadcasters with so many new capabilities, we can anticipate that some of the more advanced broadcast services will be more complex than what is being deployed during the initial launch phase. For example, future services could include digital rights management (DRM), broadcaster applications (BA), tie-in to a cloud or server and many other possibilities. As broadcast services increase in complexity so does the need for more comprehensive testing. In this post we will explore two test approaches that are widely used across many hardware and software industries: White-Box and Black-Box testing.
White- and Black-Box Testing
White-Box testing, sometimes referred to as “Clear-Box” testing, is a testing approach by which access to the inner workings of the system or device under test (DUT) is available. In the case of software, it means the test has access to the source code. With such access to the internal functionalities and source code, one can test for security holes, code structures, input flows, conditional loops, etc. An example of White-Box testing is a conformance test suite. Conformance test suites are developed against specific requirements and are usually tested at a device level. A key requirement to White-Box testing is that one must have extensive knowledge of the inner workings of the device under test (DUT) or software.
The complement to White-Box testing is, of course, Black-Box testing. This is sometimes referred to as “System” testing. With Black-Box testing, there is no visibility to the inner workings of the system or software and thus it is treated as a black box. The focus of this test approach is on input and output behavior. Consider the following scenarios:
- The TV turns on when the power button is pressed.
- The volume gets louder when the volume-up button is pressed.
- The channel changes when channel-up button is pressed.
- Captions are displayed when captions are enabled.
In these test scenarios, the tester has no knowledge on how each scenario is processed internally. In fact, different devices may all perform the functions using completely different methods, but the resulting behavior should be the same.
Black-Box and White-Box test approaches were designed to complement each other. For both test methodologies to be effective, there are some housekeeping steps that must be followed:
- The tester must develop test scenarios that will accurately test the system against established requirements.
- The tester must create test cases for each requirement (sometimes called test “assertions”).
- The tester must develop relevant test data for each test case.
- The tester must create and document the expected result for all the tests.
- Not required, but strongly recommended: The tester should develop the test steps with full documentation to minimize mistakes and enable parallel testing with reproducible results.
With the Next Generation TV platform, the sky’s the limit for broadcasters to innovate and engage their viewers with services that take full advantage of over-the-air broadcasting plus broadband delivery. To ensure these services are well tested prior to deployment, broadcasters will need to tap into proven testing methodologies like White-Box and Black-Box testing.