For those with experience in load and performance testing in network services, web applications, e-commerce, traditional VoIP, or other areas may be veterans in their own domains but may be somewhat new to WebRTC. In these domains, best practices and tools of the trade are established. With WebRTC load and performance testing, there are some unique challenges and complexities to overcome and ensure the application is ready to handle anything that customers throw at it.
At Mersoft, we’ve been building and running testing, diagnostic, performance and analytics tools for over 15 years. So since we started working with WebRTC several years ago, the experience showed we needed some unique tools to make sure our customers’ services were solid. They include applications that leverage real time communications for certain functions, integrations of multiple vendor unified communications (UC) products, live streaming social media and other platforms. Mersoft has several of our own products that use WebRTC so we needed tool for our internal teams too.
When it came time to identify the WebRTC load and performance testing features most important to include in Mersoft test™, we listened carefully to our customers, drew from own experiences building WebRTC products as well as our years of testing and analytics work in other domains. Here’s what we found matters most:
- Test the entire platform: signaling (the network), application functions, media streams. Most teams test only one of these.
- Understand the topology. Check the call setup. Are the SDPs being exchanged successfully? Are there firewall issues?
- Keep track of all the ICE candidates and their various media streams in every direction. When some fail and others succeed, intermittent problems occur, and are tough to find. Cover paths through TURN servers and peer to peer. See how many TURN servers are used, if it uses a TURN-first policy and that affects startup or latency.
- Understand the nature of each client. If it’s a browser, consider brand, version, security, local settings. If it’s a native app (consider for example, if it’s node.js, is it “stomping” on its variables when under load?).
- Test both by using the client itself and by running “headless” for faster speed and richer analytics
- Gain insights. Don’t just get reams of log files. Instead, generate useful information that helps engineers find problems faster
- Draw conclusions about the performance of a group of tests rather than just looking at each test separately
- Include WebRTC testing as part of a continuous integration process. That way, the testing team can spend its time investigating problems and making the testing even better, rather than running tests
At Mersoft, we are passionate about helping our customers develop scalable and robust WebRTC products, whether we are working with global video surveillance companies, startup live streaming social media companies, enterprises managing complex unified communications platforms or others.
- An intuitive dashboard delivering insights as events happen.
- A notification engine configured for SMS, email, Slack and HipChat.
- Microservices to post events to Splunk or AppDynamics.
Want to talk to one of our engineers or see a demo? Email: firstname.lastname@example.org or call 913-871-6200.