Course Content
The architecture of a set top box
- General overview of STB hardware;
- General overview of an STB software stack e.g. drivers, middleware,CA, applications;
- Overview of the various types of vendor and who does what (hardware, low level software, middleware, security, applications).
Overview of content delivery and consumption
- Broadcast delivery, Scheduling and playout, encoding, multiplexing, modulation, transmission;
- DTH, Terrestrial, Cable, and IPTV infrastructures;
- Security.
Development and delivery chain for the STB product and where testing fits in
- Overview of a set top box delivery product delivery chain from factory to customer;
- Product and software lifecycle and the part testing plays: integration testing, acceptance testing, field trials;
- Walkthrough of 'typical' test cycles to set the context.
Common terminology and standards you will encounter
- Industry standards and terminology: MPEG, DVB, Conditional Access;
- STB usage terminology: zapping, code download, EPG, nVOD, PPV,VOD etc;
- STB hardware terminology: ports, connectors and internal hardware.
The principles of testing
- Objectives of testing. The reasons why we need to test and what we aim to achieve;
- Testing techniques: unit, alpha, beta, integration, white box, black box,exploratory, acceptance;
- An introduction to black box testing of STB.
Preparations for testing
- Ensuring the test environment is fit for purpose;
- Monitoring the stability and consistency of the test environment during testing;
- Strategies in dynamic test environments.
How to write tests
- How to get started;
- A basic test case template;
- Guidelines for writing a test.
Running the tests
- The order of testing;
- Testing with and without documented scripts;
- How to handle tests which can't be run fully.
Recording test results
- How to unambiguously determine the result of a running a test;
- Recording clear facts. Measurements, observations and test conditions;
All about defects
- A walkthrough of a defect lifecycle;
- What to record when raising a defect or updating an existing one;
- Associating defects with tests.
Troubleshooting
- Participating in a defect investigation;
- Understanding the objectives of a tester in assisting troubleshooting;
- Establishing repeatability of test results;
- Useful supporting information (documented test method, measurement method, debug traces etc);
- Exercising caution with developmental builds and development environments.
Testing techniques
- Smoke testing;
- Regression testing;
- Positive and negative testing;
- Boundary testing and corner cases;
- Stress and stability testing - accelerated and real time testing: pros, cons and pitfalls;
- Performance testing.
Making use of tools to support testing
- Transport stream analysis tools;
- IR blasters and automated test script tools;
- Defect databases.
Representative testing
- Using production hardware and configurations i.e. the same as that of your customers;
- Testing with different connectivity and hardware configurations (cables, ports, TVs);
- Using multiple STBs simultaneously - how many and why?