WebRTC/Test Plan

From MozillaWiki
Jump to navigation Jump to search

Purpose

This document intends to provide a high level overview of the testing that's needed for testing the entire stack of the WebRTC feature set.

Feature Ownership

Feature QA Lead
getUserMedia Jason Smith
Peer Connection Jason Smith
Data Channel Jason Smith

Other Resources

Resource Lead
Security Christoph Diehl
Automation Development Henrik Skupin

Testing Scope

In Scope

Functionality

  • getUserMedia and Local Media Streams DOM functionality
  • End-to-end integration with real cameras/mics across operating systems with getUserMedia
  • Peer Connection, Session Description, and Ice Candidate DOM API functionality
  • Data Channel DOM API and it's integration with global Peer Connection DOM API
  • End-to-end local and remote Peer Connection handshaking, ice candidates, data connections, etc.
  • End-to-end local and remote Data Channel integration with Peer Connection and sending of data

Software Qualities

  • Security - Fuzzing SDP, the DOM APIs, ordering of handshake, etc
  • Performance - Time for round-trip calls, video/audio response time upon input, etc
  • Scalability - Scaling to large network topologies - do we hold together without functionality/performance issues?
  • Availability & Resilience - Downtime during & after handshake, lame network handling, etc
  • Location - location of peers - close? Different country?

Out of Scope

  • Actual third-party WebRTC apps using the API (outside of Mozilla-specific needs)
  • Android and B2G for now, as we're targeting desktop primarily first
  • Other unsupported getUserMedia, Local Media Streams, Peer Connections, and Data Channels DOM API functions we are not targeting for v1 release

Testing Lifecycle

Overview

getUserMedia Device Integration Testing with No UI Integration

Summary

Testing the integration with real devices (camera, microphones) without the UI hooked up. Focuses on making sure integrated hardware works with real-time media streams received from getUserMedia for playback.

Signoff Criteria

Already signed off and finished.

getUserMedia DOM Testing and Automation

Summary

Testing and writing mochitest automation for LocalMediaStream, getUserMedia API, and integration with media element functionality in the DOM.

Signoff Criteria

Already signed off and finished.

getUserMedia Device Integration Testing with UI Integration

Summary

Owner

Dependencies

Signoff Criteria

Infrastructure

Test Case Management

Automation

Dogfooding

Open Questions

Resources