WebRTC/Test Plan/Peer Connection: Difference between revisions
Jump to navigation
Jump to search
Line 10: | Line 10: | ||
* Negative flow - add multiple streams of the same type | * Negative flow - add multiple streams of the same type | ||
* Negative flow - Out of order execution of the handshake between two peers | * Negative flow - Out of order execution of the handshake between two peers | ||
* Media flow and changes to it with streams across each peer | * Media flow and changes to it with streams across each peer - pausing of media, releasing the stream through stop(), etc | ||
* Media constraints applied during offer, answer, or adding of streams | * Media constraints applied during offer, answer, or adding of streams | ||
Revision as of 21:30, 6 April 2013
DOM Analysis Test Cases
Flows & Edge Cases to Consider
- Happy path flows for typical peer connection handshakes
- Multiple peers making peer connection handshakes
- Adding of ice candidates generated during handshake
- Closing of connections
- State changes throughout peer connection handshake and it's effects on attributes and event handlers
- Negative flow - add multiple streams of the same type
- Negative flow - Out of order execution of the handshake between two peers
- Media flow and changes to it with streams across each peer - pausing of media, releasing the stream through stop(), etc
- Media constraints applied during offer, answer, or adding of streams
Smoke
- Typical handshake 1:1 between two peers with gUM streams added at the start of the handshake should result in the following:
- Each peer has a single local and remote stream set correctly
- onaddstream callback fires with the correct stream that generates media flow after the remote session description is set
Basic Functional
- Two typical handshakes between two peers
Exploratory
Definitions
Typical Handshake
- Local PC calls createOffer
- Local PC calls setLocalDescription with that offer from step #1
- Remote PC calls setRemoteDescription with that offer from step #1
- Remote PC calls createAnswer
- Remote PC calls setLocalDescription with that answer from step #4
- Local PC calls setRemoteDescription with that answer from step #4
Media Flow
Media flow is validated based off of streams by checking attributes of a stream attached to a media element playing by analyzing if playing-based events fire (e.g. timeUpdate, canplaythrough), time is moving forward on the stream and media element, and that state changes on the media element built off the stream are correct.