OTT Testing Archives - Codoid
Select Page

Blog

Category Selected: OTT Testing

3 results Found

OTT Testing

How to Perform Android TV Automation Testing using Appium?

OTT Testing
OTT Testing

People also read

OTT Testing

How to Perform Android TV Automation Testing using Appium?

Accessibility Testing
Blog

The Importance of QA Testing in eLearning Development

How to Perform Android TV Automation Testing using Appium?

How to Perform Android TV Automation Testing using Appium?

Automating an Android smart TV using Appium is not as same as automating an Android smartphone. For starters, the lack of touch input means that you should know how to automate remote control functions. And with the rise of OTT in recent years, knowing how to perform Android TV Automation Testing using Appium will be an important skill every automation tester must possess. Being a leading OTT testing company, we have written this blog that covers how to connect your computer to the smart TV and shows how to automate important actions such as search, video, and so on.

Enable Developer Options in Android TV:

Enabling Developer options is the first step in the Android TV Automation Testing process and it will make it possible to connect your computer with the TV. Being an Android device, enabling this mode is the same as doing it on an Android smartphone.

  • Click the ‘Settings’ Icon.
  • Go to ‘Device Preference’.
  • Go to ‘About’.
  • Find the ‘Build Option’ inside the About.
  • Click the build option until the “you are now a developer” message will appear in the display.
  • Go back to ‘Device Preference’ and scroll to the bottom.
  • Select the ‘Developer Options’ that you find there.
  • Find the USB Debugging Option and enable it.

Obtain the required information from the Smart TV

Though we need just the IP address of the smart TV to connect it with the computer, getting the Device Name, Platform Name, and Platform Version will come in handy when writing your automation script. So follow the below-mentioned steps

  • Click the ‘Settings’ Icon.
  • Choose Additional Settings.
  • Go to Device Preference.
  • Click the About option.
  • Get the Device Name, Platform Name, and Platform Version as you will need them for the script.
  • You will also see the Status option (Network) in About.
  • Click on it and obtain the IP Address of the Android TV.

How to Perform Android TV Automation Testing using Appium - Blog

Connect your Computer with the Smart TV

Now that everything has been set up, you can perform the below-mentioned steps to connect your computer with the Android smart TV.

  • Open Command Prompt.
  • Enter the Command “adb connect
  • Now, you can see the list of connected devices in Command Prompt.

Note: You should have configured all the Appium setups on your laptop before initiating the adb command.

Android TV Automation Testing

Testing an OTT platform is no simple task as there are so many aspects such as Core Functionality, UI & UX, Subscriptions, and so on a QA team would have to cover. In this automation guide of ours, we will be exploring how you can automate your core functionality tests such as

  • Launching the app
  • Using the search functionality
  • Playing a movie
  • Basic remote control functionality for video playback

Launching the App

Now that we have all the prerequisites ready, let’s find out how to launch the app you wish to automate on your Android Smart TV, and then we will move on to the other actions later in the blog

public class LionsGateDemo {
    public static AppiumDriver<MobileElement> driver;
    public static WebDriverWait wait;
   public static void main(String[] args) throws IOException, InterruptedException {
        try {
            //Set the Desired Capabilities
            DesiredCapabilities caps = new DesiredCapabilities();
	   //Set the Smart TV Name
            caps.setCapability("deviceName", "Redmi TV");
	   //Set the Smart TV Platform
            caps.setCapability("platformName", "Android");
	   //Set the Smart TV platform version
            caps.setCapability("platformVersion", "11");
	   //Set the App package and app activity details
            caps.setCapability("appPackage", "com.xiaomi.lionsgateplay.videoapp");
            caps.setCapability("appActivity", "com.parsifal.starz.ui.features.splash.SplashActivity");
            caps.setCapability("unicodeKeyboard", true);
            caps.setCapability("resetKeyboard", true);
            caps.setCapability("noReset", "true");
            driver = new AndroidDriver<MobileElement>(new URL("http://127.0.0.1:4723/wd/hub"), caps);
            driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
            System.out.println(">>>>  APP launched::::");
            wait = new WebDriverWait(driver, 30);

Note: Ensure that you use the exact name of your Smart TV as it is shown in the menu to avoid any errors.

Using Search Functionality

Since we have chosen Lionsgate for our Android TV Automation Testing explanation, we will be automating the user journey to reach the search bar. Kindly note that this user journey might vary depending on the platform or app you wish to automate.

You will also be able to verify if your automation script is working as intended by using our script. We have used the same input text used in the script to search and pick the first movie title manually. We then validate if both the manual and automation results are the same.

 // Finding & Clicking button One
            WebElement buttonOne = driver.findElement(By.xpath("/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout[1]/android.widget.LinearLayout[2]/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.ImageView"));
            wait.until(ExpectedConditions.elementToBeClickable(buttonOne));
            buttonOne.click();
	   // Find & Click the bIcon
            WebElement bIcon = driver.findElement(By.xpath("/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout[1]/android.widget.LinearLayout[2]/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView"));
            wait.until(ExpectedConditions.elementToBeClickable(bIcon));
            bIcon.click();
            wait.until(ExpectedConditions.elementToBeClickable(bIcon));
            bIcon.click();
 
// Locate the Search Bar
            WebElement searchBox = driver.findElement(By.id("com.xiaomi.lionsgateplay.videoapp:id/lb_search_text_editor"));
// Enter the values in the Search input textbox 
           searchBox.sendKeys("a");
// Store the Movie name in a webelement 
            WebElement firstMovieName = driver.findElement(By.xpath("//androidx.recyclerview.widget.RecyclerView[@content-desc='Top results for: a']/android.widget.FrameLayout[1]/android.widget.ImageView"));
 
// Wait for the movie to become clickable and then click to open it
                        wait.until(ExpectedConditions.elementToBeClickable(firstMovieName));
            firstMovieName.click();
// Store our expected Movie name in the STRING
            String movieName = "Amores Perros";
 
// Finding Actual Movie name  
            WebElement OutputMovieName = driver.findElement(By.id("com.xiaomi.lionsgateplay.videoapp:id/titleText"));
// Get and Store our Actual Movie name in String
            String OutComeMovie = OutputMovieName.getText();
            System.out.println(OutComeMovie);
//Verify Actual and expected Movie name by using if condition
            if (movieName.equals(OutComeMovie)) {
                System.out.println("Both are same name");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

Playing a Movie

Now that we have successfully completed the search operation, the next course of action would be to automate a movie from the search results. We have given a sample code to help you to do it. Please note that you can use the same concepts we have seen now to play a video not just from search, but also from the home screen and so on. Just make sure to update the XPath as per your need.

// Finding Play button 
        WebElement playButton = driver.findElement(By.xpath("/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout[2]/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout[1]/android.widget.FrameLayout/android.widget.TextView"));
        playButton.isDisplayed();
// Wait for the Playbutton to be clickable and Click the Playbutton 
        wait.until(ExpectedConditions.elementToBeClickable(playButton));
        playButton.click();
        System.out.println("Play button is selected ");

Android TV Test Automation for Remote actions

Since you will be simulating button clicks from a remote control, you should know what element is currently in focus for ease of use. Once you have figured out how to automate the TV Remote actions, you will use them as a foundation to automate more actions like browsing the platform, turning on subtitles, and so on.

// To press the Up button
        ((PressesKey) driver).longPressKey(new KeyEvent(AndroidKey.DPAD_UP));
        ((PressesKey) driver).longPressKey(new KeyEvent(AndroidKey.DPAD_UP));
	// To Press the Center button
        ((PressesKey) driver).longPressKey(new KeyEvent(AndroidKey.DPAD_CENTER));
	// To Press the Down button
        ((PressesKey) driver).longPressKey(new KeyEvent(AndroidKey.DPAD_DOWN));
        // To Press the Center button
        ((PressesKey) driver).longPressKey(new KeyEvent(AndroidKey.DPAD_CENTER));
        System.out.println("None option inside the subtitle is selected");
        Thread.sleep(5000);
      	// To Press the Up button
        ((PressesKey) driver).longPressKey(new KeyEvent(AndroidKey.DPAD_UP));
        ((PressesKey) driver).longPressKey(new KeyEvent(AndroidKey.DPAD_UP));
        // To Press the Center button
        ((PressesKey) driver).longPressKey(new KeyEvent(AndroidKey.DPAD_CENTER));
       // To Press the Up button
        ((PressesKey) driver).longPressKey(new KeyEvent(AndroidKey.DPAD_UP));
      // To Press the Center button
        ((PressesKey) driver).longPressKey(new KeyEvent(AndroidKey.DPAD_CENTER));
        System.out.println("English option inside the subtitle is selected");
        Thread.sleep(5000);
       // To Press the Right button for Forward the video
        ((PressesKey) driver).longPressKey(new KeyEvent(AndroidKey.DPAD_RIGHT));
        ((PressesKey) driver).longPressKey(new KeyEvent(AndroidKey.DPAD_RIGHT));
        ((PressesKey) driver).longPressKey(new KeyEvent(AndroidKey.DPAD_RIGHT));
        System.out.println("Forwarding is done successfully");
        System.out.println("Remote action done");
    }
}

Conclusion

We hope you found this blog useful in helping you perform Android TV Automation Testing for OTT platforms. The above-discussed actions are the foundational and must-know basics in OTT automation testing. You can easily expand your OTT automation by using them effectively. Being a leading QA company in all domains, we will be publishing more OTT testing content that you will find very useful. So make sure to stay subscribed to our newsletter.

A Comprehensive List of Test Cases for OTT Platform Testing

A Comprehensive List of Test Cases for OTT Platform Testing

Even before the pandemic hit, OTT platforms have been on a rampage in terms of growth and popularity. Netflix has multiplied its user base 10 times over the last 10 years. There is heavy competition amidst the existing big players and the number of OTT platforms entering the market is also on the rise. Even if you have the best content in the market and fail to provide a good user interface and user experience, users will move away. So no OTT platform can afford to have mediocre testing that lets bugs reach the user. As a leading QA company, we deliver uncompromised quality to all our clients and have created this conclusive list of test cases for OTT Platform Testing that will help you achieve maximum coverage.

OTT is an abbreviation for “over-the-top,” which refers to any streaming media service that delivers content via the internet. The term “over-the-top” refers to the fact that the service is delivered on top of another platform. In other words, it is any service that allows you to deliver video and/or live stream feeds to any internet-connected device.

OTT Platform Testing

Robust and exhaustive OTT platform testing is required to successfully deliver video content. There are numerous things to test when it comes to OTT platform testing, but as stated earlier, they boil down to these two major aspects.

  • The user interface (UI) allows users to interact with the OTT platform and view the video content.
  • The user experience (UX) the person takes away after interacting with the UI.

Let’s dig deeper to get a better understanding of why these two factors are important. Let’s take Netflix as an example as we’ve already discussed how it has grown over the years. In an age that had episodes airing every week, Netflix introduced the binge-watching culture by dropping all of the episodes in one go. They did not want you to leave their platform once you entered.

So instead of just changing the release pattern, they built an intuitive UI that keeps recommending content based on your preferences. But if in case Netflix kept suggesting shows we weren’t interested in, we would just leave. At the same time, even if Netflix was able to provide good recommendations after making the user wait for 2 minutes, nobody is going to wait. That is why it is vital to test how people interact with the product and analyze their experience as well.

As one of the best OTT testing companies, we have created a list of test cases under each category to obtain maximum coverage and quality. Let’s start with User Interface and functionality.

User Interface and Functionality

Playback: Check to see if the video plays/pauses when you click on the video play icon. Also, see if the volume controls, and mute functionality works. Check for audio-video sync ad well.

Video Quality: Make sure that the user is able to choose the video playback quality based on their network conditions.

Replay: Check if that the user can replay the video if they wish to see it again once it is finished.

Search: Verify that the video can be found when searched by the movie title, artist names, or relevant keywords that can be found in the description.

Search Results: Check the video’s thumbnail, title, description, length, age rating, etc. and see if the search has relevant autosuggestions. Also, make sure to see if clicking on the video plays the video or opens the content to show additional information.

Voice Commands: Since a major share of the OTT content is consumed via smart televisions, make sure that the voice commands by various assistants also work correctly.

Browse Features: You must be able to filter your search results and content in general so that you can browse through the content without any hassle. Check if the suggested content is based on the user’s viewing history.

History: Once a user starts watching a show or a movie, they must be able to pick up from where they left off and not have to start over again. If it is an OTT platform like YouTube, make sure the history function works well and see if the user is able to remove a video from the history or clear the history on the whole.

Offline Mode: Verify if the user is able to download the content they wish to keep offline and watch it without any internet connection. Also, make sure the downloaded files are not available locally to the user outside the platform.

Bandwidth Capacity: Check how well the content is streamed under different network conditions. If there is limited connectivity, see how well the video is played with lower bitrates.

Direct Access Link: Make sure that the video page can be accessed via a direct link to the video. See if the link can be shared easily using a third-party app.

Browser Compatibility: Verify that both the video and audio play in all flash-enabled browsers. And if it doesn’t, ensure that a meaningful message is shown to the users using a browser without flash or the necessary codec.

Watch list: Add content to a watch later or watch list to see if it gets updated properly. If there are any new additions like a new season to a show in the watch list, make sure it is notified to the user.

Notifications: Other notifications should include the addition of popular and relevant content, release of any content that had a countdown timer or reminder.

Language & Captions: Check if the mentioned captions are available in the content and also see if it in sync with the audio and visuals. If there are other language captions or audios available, then it must be possible to switch easily.

Audio output: Users might be connected to a different audio device via wires or Bluetooth when watching content on a television or mobile. Make sure that the audio is routed to that device properly without any sync issues.

Multitasking

Most of these test cases will be the ones you’d have to cover when testing on mobile platforms. Since OTT platforms employ mobile-only plans, it is an important part of OTT platform testing that can’t be neglected.

Call: Make sure that the video pauses when the user is watching using a mobile device. Also, check if the video resumes from the exact same point once the call is disconnected.

Notifications: Make sure that pop-up notifications don’t pause the playback or disturb it in any way unless the user clicks on it.

Mini Player: If the user does click on the notification, check if the player gets minimized and continues to play. Make sure to drag the mini-player around to see if it works properly. If the mobile or tablet supports split-screen viewing, then make sure the mini player is compatible with that too.

Account

Subscription: Ensure that only users who have paid the subscription fee are able to access the content and stream the video. If there are any ‘Pay per View’ or ‘Video on Demand’ content, test to see if it can be accessed by only those who have the extra payment.

User Profiles: The user must be able to create multiple user profiles and even have separate user histories. Verify if the user is able to select the profile through which he/she wants to watch as soon as the app is launched. There must also be kids or age-restricted profiles which can be accessed by the account with parental rights.

User Count: Make sure the platform is able to detect an account being used in more than the number of allotted screens for the package. Few plans allow different user profiles to access the platform at the same time and not allow the same content to be seen across multiple devices. The same applies to the number of devices that can have offline content. So keep an eye on such factors as well.

Login: Proper account recovery options must be available. But make sure that nobody else is able to access the account without the owner’s knowledge. If the account is being accessed from a new device, make sure that an OTP is sent for verification and enable the option to mark the device as a trusted device. Check if 2-factor authentication works if enabled.

Password: Make sure to suggest the user set a strong password. Ensure that older passwords cannot be reused. If the user wants to change the password, ensure that it is done with an OTP verification. There should also be an option to log out of all the devices.

Information: All the relevant account information like the plan name and so on should be easily accessible in one place for the user to review.

Payment and Security

Since there are both annual and monthly billing options, security features in any OTT platform can’t be taken lightly. User data has to be kept safe and a seamless payment process is very important in providing the best user experience. A user shouldn’t feel burdened or afraid while making the payment.

Successful Payment: Once the payment has been made, ensure that the changes reflect immediately in the account to prevent the user from having any doubts. Also, make sure the user is redirected back to the platform after a successful transaction.

Failure Scenarios: Make sure to think of various failure scenarios and test them out.

  • Check what happens if the session ends during the payment process.
  • Determine what happens if the payment gateway stops responding during the payment process.
  • Make sure the account doesn’t get activated despite having a failed transaction.
  • Observe what happens if the payment or transaction goes on hold.
  • Check if the session expires within the time limit.

Payment Options: Try making a payment using all the various options like a credit card, debit card, and so on.

Localization: Make sure the amount is displayed in the current currency and the plans for that region are only being purchased. Also, try to change the payment gateway language during the payment process.

Pop-up Blocker: Examine the pop-up blocker settings and observe what happens when the pop-up blocker is turned on and off. At times few payment pages open only in a new window and the blocker might affect that.

Backend: Go beyond the front-end OTT platform testing and analyze what happens in the backend during the payment process.

Buffer Pages: Examine the buffer pages that exist between the payment gateway and the application.

Saved Payment options: If the user wishes to save the payment option, examine the database entries to see if they store credit card information.

Double Checks:

  • During the payment process, double-check the error and security pages.
  • If you are sending any email for the transaction, ensure that the content is encrypted.
  • Verify if all the sensitive information is masked.
  • Check that the payment is being made through a secure channel. In other words, the link must begin with HTTPS and not HTTP.

Gateway: Check if the payment is processed with an integrated page or if it is navigated to the bank’s payment page. If it is a page within the platform, make sure the transaction is processed only with the right OTP and card information.

Conclusion:

We hope you have found these test cases for OTT Platform Testing to be informative. Though there are many more avenues to explore in OTT platform testing, these are the fundamentals you have to follow. The OTT platform is constantly being updated so that it doesn’t get outdated. Seeing the rise of popularity for TikTok, YouTube has introduced the Shorts feature. Understanding the content for short content, Netflix has created the ‘Fast Laughs’ feature. Netflix is also working on integrating games along with their subscription. So the landscape will always be changing and you should be on a journey of constant learning to keep up with all the new challenges.

OTT Testing is preeminent for Streaming Media

OTT Testing is preeminent for Streaming Media

In choosing a form of communication that combines different digital content forms, popularly known as multimedia, streaming media is indisputable. It delivers multimedia directly to end-users from a service provider using basic HTTP, TCP/IP, and HTML protocols. Now, content suppliers invest a lot into testing over-the-top (OTT) media service applications and other segments related to it by using OTT testing.

OTT testing is a streaming media service method that requires the avoidance of traditional telecommunication infrastructures. Some examples of such infrastructure are cable, broadband, and satellite. This has led to a constant increase in the number of people ditching traditional cable providers for online options, such as Netflix and Hulu. Smart televisions are fast becoming the order of the day. Hence, OTT has become the fastest growing media and entertainment segment. Follow through to learn how OTT testing has become very vital to streaming media.

Seven Key Importance of OTT Testing in Streaming Media

Below are seven major parts of OTT testing that makes it an important facility in streaming media.

Stream Testing Stream media companies expect the content delivered through their platform to be as robust as possible. The stream testing process is conducted to include various traffic patterns and loads of data to match this robust expectation. There is the Adaptive Bit Rate (ABR), used as a method by broadcasters to offer multiple streams of different bitrates to the users. ABR is then varied to test the performance of the stream’s selection algorithm.

UI Testing Stream media requires QA (Quality Assurance), that their services are the highest possible quality and fit for users. In ensuring that QA is achieved, thorough User Interface (UI) testing must be conducted. This is very important to stream media because UI is the aspect of OTT testing services that determines how its user perceives the Stream media company. UI is the space where end-users get served. UI testing includes checking how the buttons are set, the audio mixing console, and other digital interface components, including colors and shapes.

User Experience Similar to the UI is the UX, User Experience. While the interface is what is seen, the experience is what is felt. For instance, the practical, experiential, affective aspects of a user’s interaction with a stream media service. All stream media service providers are focused on providing users with amazing user experience. Hence, an OTT testing service geared at the Quality of Experience (QoE) is very important to streaming media.

Interoperability Streaming media are meant for human comfort. This means it should be functional on as many platforms as possible, fitting its user’s pleasure. An OTT test for interoperability is a check for the character of how well the streaming system can be understood. Its understanding of how it works on other products and systems both at present and in the future is specifically what it means that it can interoperate. Hence, a test for Cross-Browser, Cross-Platform, and Cross-Device must be conducted.

Data Security OTT services include account-related data. This account-related data includes payment facilities, what content is being viewed, and other personal user data. This data is sort for by unauthorized personnel, often seeking it for harmful use, cyber theft. Cyber theft could be identity theft, password theft, theft of information, internet time theft, etc. Hence, the security of these details is fundamental while launching an OTT service. Data security is not limited to preventing personal data from cyber theft. However, it includes preventing account-related data from destructive forces such as a virus.

Network Testing As the digital ecosystem is expanding, especially in media streaming, it will not be a surprise to see network issues. By using a tool to simulate network conditions, Network Condition Simulator, service behavior can be mapped. Mimicking the real environments in Streaming Media is a handy tool for identifying low bandwidth, high bandwidth, and other network conditions. This testing is also key to identifying the Internet connection through locations worldwide. Network tests can be used to achieve Ethernet speed, higher port densities, network switches, and routers.

Performance Testing Since there will be no fewer than millions of stream requests nationwide, it is essential to carry out the Load Testing over one’s OTT network server. This will help determine the streaming performance in terms of processing speed, data transfer rate, scalability, reliability, and stability. Under the expected workload, which is also estimated to vary, the streaming media’s proper performance can be ensured or updated if need be.

Conclusion

OTT testing can never be undermined in the exponential growth being recorded in the media sector. For software test engineers and software QA managers, OTT testing services could include OTT plans or subscription tests. Because providing customized entitlements to users must always be intact. Giving a user less or more than their entitlement could spell revenue loss for the OTT service provider. Therefore, there must be OTT testing and how its subscription login can be supported on one or more platforms. The test must also include channels for which the subscription can be either HD, UHD, or SD. With these advantages, stream media as an industry has its eyes set for the stars.

Call to Duty

Having known the importance of OTT testing to streaming media, it is high time you joined us at Codoid to enjoy our OTT testing services. We have a very passionate and well-experienced team that is ever ready to deliver top-notch QA testing. Our services include Automation Testing, Mobile App Testing, Performance Testing, Data Analysis Testing, API & Webservice Testing, VR & AR App Testing. While we look forward to you being part of our intercontinental community, feel free to ask us for help. We are at your service every time because we believe that “A growing product needs a passionate, dedicated QA team to ensure quality.”