WebRTC/Test Plan: Difference between revisions
Line 128: | Line 128: | ||
All issues classified as P1s (automation bustage) and P2s (automation highly needed) in this [https://bugzilla.mozilla.org/buglist.cgi?list_id=6005782&o1=equals&v1=767072&f1=blocked&order=Importance&resolution=---&query_format=advanced bug query] needs to be completed. | All issues classified as P1s (automation bustage) and P2s (automation highly needed) in this [https://bugzilla.mozilla.org/buglist.cgi?list_id=6005782&o1=equals&v1=767072&f1=blocked&order=Importance&resolution=---&query_format=advanced bug query] needs to be completed. | ||
'''Note: ''' We should still work through P3s (automation want) even with this quality area signed off, but that won't block signoff for this quality area. | |||
=== Peer Connection - Localhost and Real Stream End to End Testing === | === Peer Connection - Localhost and Real Stream End to End Testing === |
Revision as of 17:54, 13 March 2013
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
This section provides an overview of the lifecycle of testing the WebRTC-based APIs for the first release of getUserMedia, PeerConnection, and DataChannel.
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
Testing the integration with real devices with the UI hooked up in the Firefox front-end. Focuses on making sure the full end to end pieces are hooked up with both integrated and USB hardware with real-time media streams received from the getUserMedia.
Dependencies
The testing for no UI integration flows needs to be completed.
Signoff Criteria
See the Firefox 20 getUserMedia signoff checklist.
Peer Connection - Localhost and Fake Stream Automation
Summary
Heavy focus on testing the Peer Connection DOM API through mochitests using fake streams. Such areas that will be focused on include - the peer connection handshake, addition of ice candidates, media flow, event handlers, and closing of connections.
Dependencies
The testing of no UI integration flows with getUserMedia needs to be completed.
Signoff Criteria
All issues classified as P1s (automation bustage) and P2s (automation highly needed) in this bug query needs to be completed.
Note: We should still work through P3s (automation want) even with this quality area signed off, but that won't block signoff for this quality area.
Data Channel - Localhost DOM API & Peer Connection Integration Automation
Summary
Focuses on testing the Data Channel DOM API and it's integration with general Peer Connections through mochitests. Such areas that will be focused on include establishing a handshake between two data channels local and remote, event handling, attribute state, closing of data channels, etc.
Dependencies
The basic smoke test automation for peer connections should be completed with a reusable automation framework.
Signoff Criteria
All issues classified as P1s (automation bustage) and P2s (automation highly needed) in this bug query needs to be completed.
Note: We should still work through P3s (automation want) even with this quality area signed off, but that won't block signoff for this quality area.
Peer Connection - Localhost and Real Stream End to End Testing
Summary
Dependencies
Signoff Criteria
Data Channel - Localhost and Peer Connection Integration Testing with Real Streams
Summary
Dependencies
Signoff Criteria
Peer Connection - Remote Real Stream End to End Testing
Summary
Dependencies
Signoff Criteria
Data Channel - Remote Peer Connection Integration Testing with Real Streams
Summary
Dependencies
Signoff Criteria
Infrastructure
Test Case Management
Automation
Dogfooding
Open Questions
- What's the purpose of the onopen callback on Peer Connection?
- What's the proper way of testing a simple end to end flow using addIceCandidate on the Peer Connection object?
- What's the proper way of testing a simple end to end flow using connectDataConnection?