Unveiling the Power of Video Streaming Testing:Ensuring Seamless Digital Experiences
In today’s rapidly evolving digital landscape, video streaming has become the lifeblood of entertainment, communication, and information sharing. As users increasingly rely on streaming services for their video content consumption, the need for robust and flawless streaming experiences has never been greater. That’s where video streaming testing comes into play — a vital process that ensures the functionality, performance, and usability of streaming services.
Video Streaming Testing-Overview
The video streaming testing focuses on popular streaming protocols such as HLS, Progressive Download, RTMP, and MPEG-DASH. Our application specifically focuses on performance testing for a live-hosted social TV application on iOS. This app connects celebrities with fans through live streaming technology and offers 24/7 video playback on various channels, stations, and cams. Users have the ability to create their own stations, schedule shows, and act as hosts. The app features automatic TV switching between scheduled videos and live hosting.
To conduct video call performance testing, we utilized JMeter and incorporated BlazeMeter plugins. HLS protocol was chosen due to its reliability and cost-effectiveness in delivering continuous and long-form videos over the internet. It allows the receiver to adapt the bitrate of the media based on current network conditions, ensuring uninterrupted playback at the best possible quality. Furthermore, our plugin aims to support a wider range of streaming protocols to enhance video streaming and video-on-demand capabilities. The plugin automatically recognizes MPEG-DASH links without manual configuration, enabling the download of manifests and segments with predefined resolutions and bandwidths.
e-Streaming Process Flow
By utilizing this plugin, the complexities of HLS (HTTP Live Streaming) are handled internally. The plugin automatically retrieves the Master Playlist, selects a variant, retrieves the corresponding Media Playlist and segments, and emulates user behavior in consuming media over HLS. It supports various scenarios, such as different stream types, playback times, network bandwidths, and device resolutions, ensuring comprehensive testing of the streaming system.
- Improve performance of the Live Streaming of Music Videos and Live shows
- Measure the page time for Upload videos by recording from camera/from Photo gallery
- Performance test of application for Create your own station and stream with the scheduled music Videos and Live
- Measure the application performance for Chat with all users and members of a Group
- Our testers have used Wowza related API to monitor application during live streaming of videos in various scenarios
- We have used testing tools such as influx DB and Grafana for Application Performance Monitoring
- We have tested the application performance during large video uploads and also done a complete load test in GUI and Non-GUI mode.
- Our testers have also conducted a complete load test in cloud environment and monitored the application performance using redline13 tool and AWS
- Our testers have installed client agent in application server to Measure the memory utilization, Disk I/O, CPU usage of the application
- Using JMeter, we have tested the application various networks (2G,3G,4G and Wi-Fi) and Identified bottleneck
- We have supported the development team in recreating the issues and help them with analysis to fine tune different aspects of technology layers of the applications.
- Identifying and resolving bottlenecks and slow spots in the application, which can improve overall performance and responsiveness.
- Identifying and resolving compatibility issues between different mobile devices, operating systems, and versions
- Helping to identify potential security vulnerabilities that may be present in the system
Create Video Streaming Process with JMeter Tool
- Install the HLS plugin from the Plugins Manager
- Create a Thread Group.
- Add the HLS Sampler Add -> Sampler -> bzm — Streaming Sample
HLS Sampler configuration
Set the link to the master playlist file
Set the protocol you want to test or let the plugin to automatically detect it.
Set the playback time to either the whole video, or a certain number of seconds.
Select the bandwidth criteria to be used to select a particular variant of the video.
You can set listeners to evaluate the results of your tests. The View Results Tree Listener displays the resultant samples for the HLS samplers so, you can inspect how the requests and responses worked. It will display each one of the samples with the associated type (master playlist, media playlist or video segment) to easily identify them.
Our Success Story
- OptiSol partnered with a prominent startup company to integrate a QA approach into the development cycle of their live streaming application.
- To enhance the system’s strategic, cost-effective, and scalable nature, OptiSol implemented various testing strategies.
- One of the key initiatives was the design and implementation of a Regression framework. This framework encompassed all possible scenarios, enabling the Testing Team to identify any ambiguity or issues introduced by the deployment of new features.
- Automation regression testing and Performance testing played crucial roles in ensuring the consistent performance of the mobile application.
- To ensure comprehensive coverage, the OptiSol team meticulously documented all the possible scenarios for each available module within the application. This documentation served as a reference for testing and further improvements.
- OptiSol’s collaboration brought about notable improvements in user retention, time-to-market, customer satisfaction, scalability, and application quality, strengthening the startup’s position in the competitive live streaming industry.