Set Top Box (STB)/or Set Top Unit (STB/STU) Overview

Before starting the introduction of the “Testing” part let’s just understand the basics.

What is a Set Top Box?

A set-top box is a hardware device that receives, decode and display the digital signals on a television. The signal can be a television signal or Internet data and is received by cable or telephone connection. They can have one way which actually means that end user can not interact or modify the channels and two way communications allowing for interactive features like for the end user that they can control or choose what they want on their televisions or whatever type of system they are using.

STB is an device that contains a tuner which connects to a television and takes inputs in signal that can be named as source signal and converts them into a form that they then can be visible on the television or in other words we can say that the set top box is a hardware system that allows a signal to be received, then decoded and then can be visible on a television. The signal type could be a television signal or Internet data and is received by a cable or telephone connection.

There are five types of televisions in India:

  • Broadcast or OTA(Over the Air) Televisions
  • Unencrypted Satellite (Free to air)
  • Direct to home (DTH)
  • Cable television
  • IPTV (Internet Protocol TV)

Today, most of the STB systems are two-way communication, before elaborating two way communication lets understand the one way communication, as the name itself suggests one way which means you can just see whatever is visible on the screen you cannot alter the channels in the television but at the same place in the two way communication the consumer can choose the services or the channels one wants to see.

The set-top boxes can be classified into the following categories:

Cable Converter Box
It can convert any type of channels broadcast from a cable television service into analog radio-frequency signals on a single VHF channel. This box can covert a non cable ready television to cable-ready television. The least number of these cable converter boxes can also de-scramble the signals to manage many channels that are carrier-controlled and access-restricted.

TV Signal Sources
It includes various signal sources:

  • Ethernet cable
  • Satellite dish
  • DSL connections
  • Coaxial cable
  • Broadband over power line
  • VHF or UHF antenna

Professional Set-Top Box
They are also referred to as integrated receiver/ decoders. They are designed especially for robust field handling and rack mounting environments. These are commonly used in the professional broadcast audio or video industry like news channel companies and include a unique feature for producing uncompressed serial digital interface signals.

Hybrid
The hybrid set top boxes came into existence in the late 2000s and became popular among both pay-TV and free-to-air set-top box businesses. These set top boxes provide the usual TV broadcast from cable, satellite and other providers and mix it with the video output provided over a network and personal multimedia content. They give users a variety of viewing content, eliminating the need for having a separate box for each service.

IPTV
These types of set-top boxes are kind of small computers that allow two-way communication that was explained in the second paragraph, it works on an Internet Protocol network and they decode the streaming media video.

STB Architecture

Customer Premises Equipment (CPE)
Set-top box or computer that receives the cable signals coming from the cable modem termination system (CMTS).

Set-Top Box (STB) – There is equipment named as Customer Premises Equipment (CPE) that can access subscription and pay/per View broadcast television services and interactive TV services. Each set-top box is a member of one or more multicast groups in a DSG (DOCSIS Set-top Gate way) network, which allows the STB to receive the OOB (Out of the band data) messages that are needed to receive the programs they are authorized to view.

Point of Deployment (POD) module – Removable security card that is plugged into a STB to uniquely identify and authenticate the STB, which allows the CA (certificate authority) servers to securely identify the set top box and can determine the received programs and services are the one for which the set top box is authorized.

Conditional Access Server –A server systems that encrypt video programs using Conditional Access (CA) techniques which allow only authorized subscribers to decrypt and view the programs.

STB applications
These applications are software programs such as program guides or image organizers that are processed run within the set top box device

  • Application Platforms

The combination of hardware/software and programs that enable the running of other software programs.

  • Resident Applications

These software programs are stored within an STB and are ready to use.

  • Downloadable Applications

These are software programs that can be transferred into an STB.

STB Testing Approaches

  • Functional / Services Testing
  • Signal (Video/Audio) Quality Testing
  • Interface Testing
  • Performance testing

Increasing Importance of Quality Engineering in Software Testing

How can a company win? One of the key criteria is to ensure good quality of its products and services. But the traditional testing and QC paradigm is not enough in the context of emerging technologies. It has proven to be inefficient: if some shortcomings are revealed, the product may have to be redesigned, requiring additional expenses and extra time. That is why something new is being executed in business — quality engineering solutions. Quality Engineering (QE) is the series of procedures by which software quality is analyzed and improved throughout the application or software development lifecycle. It differs from traditional Quality Assurance in that it prevents defects as well as discovers them.

The QE approach implies that every single stage of the product/ software development cycle is under a scrupulous test of quality engineers. Furthermore, the quality maintenance is offered long after the product is delivered. The execution o such strategy in manufacturing or software development procedures guarantees the sufficiency of the output from the very start reduces imperfections, flaws, and reduces potential losses. In other words, quality engineering is the analysis, development, management, and maintenance of diverse systems compliant with high standards.

What are the rewards of Quality Engineering?

With Quality Engineering, the core benefit for your application development cycle is that you are actually making all the proposed advantages of DevOps and Agile more real. Also the teamwork between developers and testers is more real, more in line with the agile ethos. It is also integrated with Test Management solutions so that the outcomes appear on the dashboard instantly, without a human trigger. With shortened release cycles, time to ensure Quality also reduces considerably. Testers have to be involved at the start of the cycle as they will be setting up the testing environment and framework which will be relied upon for all future sprints. Done right, Quality Engineering offers a great deal more speed in testing. It mainly relies more on Test Automation than manual testing. It is hard to imagine a Quality Engineering function that doesn’t have Test Automation at its center. Yet again, done right, it creates more flexibility and speed for the whole development cycle. It is not considered just functional and non-functional testing, but every single layer and integration that can and should be tested.

In current Digital era, a Quality Engineer should have experience in programming and be supposed to be able to write software as the situations demands. While the Software Development team focuses on constantly upgrading the application, the Quality Engineering team main responsibilities are:

  • Setting up new parameters and standards
  • Optimization of test cases, & improving automation efficiency
  • Identification of drawbacks
  • Generating a plan for improvement
  • Plan execution using different tools and methods
  • Assessing & implementing new technologies and tools
  • Following up to make sure that issues have been solved
  • Creating tailor automation solutions to address application specific use cases
  • Create frameworks & accelerators that help scale QE across manifold channels, Enterprise wide.

Quality engineering is driven by emerging technologies like AI (artificial intelligence), Big Data analytics and IoT. Automation is the driving force behind turning the traditional testing into an effectual quality support model.

Bottom line

Performance of the application/ software is of paramount importance. Every outage, crash, drawbacks, and even slowing down of the app or processing/ working on a client request has the potential to impact revenue directly. It is the responsibility of QE team to not only identify such issues, but also work on identifying/removing the root cause of such problems. This demands a sound understanding of app architecture, monitoring tools, several enterprise sub systems that are catering to the app etc. Overall, Quality Engineering team provides substantial insights about the root cause or issue and solved it in the fastest possible manner.

Cross Browser Testing- “IMPORTANCE” & “TYPES”

Cross browser testing is very critical and essential part of Software testing. Nowadays there are different types of browsers, devices, and operating system. Being a Specialist QA & Software Testing Company we had to ensure that the websites & products function across all mediums.

Buying and maintaining every single Operating system, device, and Browser is nearly impossible and not economically efficient. So there are tools which help us to test websites across these systems. Cross Browser testing is a type of Non-functional testing which helps us ensure that the web application works properly across the different browsers.

Need:

Browser testing diagram

In the diagram, you can observe that in IE, the login box of Twitter is not showing curve in every corner, but we are able to see that in Chrome Browser.

Most Common Reason behind Cross Browser Issues:

Device Offerings:

There are numbers of iOS and Android devices available nowadays by different manufacturers. So, the tool we use offers a wide range of devices.

Device Testing:

Testing with real devices vs. emulators gives you more accurate results. The perfect cross-browser testing tool will also allow us to use the application with natural touchscreen devices (Swipe, tap, zoom, and scroll).

Locally Testing:

The Cross Browser testing tool can also help us to test local builds. The ability to test development or staging environments is significant so that we can find bugs before they are released to users.

Automated Browser Testing:

Some tools support automated testing in addition to manual testing. Selenium testers can write Scripts to test their app or website & then run these scripts against multiple browsers and mobile device platforms within the tools.

Let’s take a Glance on different types of Cross Browser Testing tools

Cross Browser Testing can be the biggest pain for Tester. Thanks to different Cross-browser testing tools which help in minimizing the testing efforts.

1. BrowserStack:

BrowserStack test with real browsers on real machines which enable developer and tester to test websites and mobile applications. With this, you can conduct live testing and automated testing on mobile devices and browsers. The core feature seems to be the introduction to the test-development environment where you can easily test all you can without setup & configuration. Another trait that separates it is the native experience, where you can enjoy testing through the browsers with the aid of DevTools.

2. Sauce Labs

Sauce Labs is a leading cloud-based all-in-one framework for testing your websites and mobile applications across all browsers and devices. It mainly focuses on continuous testing so that you can get feedback on your changes rapidly throughout the development process. With Sauce Lab, you can list the currently run tests in sequential order, with information about the testing platform, runtime, build and whether they failed or passed.

3. CrossBrowser Testing:

CrossBrowser testing provides interactive browser compatibility testing over the desktop and mobile browsers. Their core features include live testing (manual testing), automated testing, and visual testing (screenshots). This makes a great platform for developers, QA, and designers to collaborate on testing projects.

There are loads of cross-browser testing tools available like Browsershots, Lambda test, Browserling, IE tab, Multi browser, BrowserEmAll, NetRendere, Litmus, etc. that help you to test the web application and mobile application (Android and iOS) for cross browser compatibility.

At ImpactQA, we have implemented Cross Browser Testing in several projects and clienteles are reaping the benefits listed above. For any questions or comments, please reach out to us at services@impactqa.com