QA/Firefox3.5/Video And Audio TestPlan: Difference between revisions

no edit summary
No edit summary
Line 16: Line 16:


== What MUST be Tested ==
== What MUST be Tested ==
=== Functional Tests ===
{| class="standard-table"
{| class="standard-table"
|-
|-
Line 27: Line 28:
| ?
| ?
|-
|-
| Can we style the page differently based on video states of play or pause or stop?
| Change the controls to something of our own creation
| ?
|-
| Use Video to animate objects and place as a background to content
| ?
|-
| test dragging video to a new window and that it doesn't stop playing (via tab drag)
| ?
|-
| Test that it continues to play (or doesn't play - current behavior is to continue) when you switch to a new tab.
| ?
|-
| Test accessibility of the video/audio controls
| ?
| Test that the controls work properly (litmus? gristmill?)
| ?
|-
| Test automatically removing controls from javascript - would this be a bug?
| ?
|-
| Use javascript events to override the volume control set by the user (should not be able to do this, I think, considering how much we hate the ads on tv that do this)
| ?
|-
| Test that playback of both formats stops on closing the tab
| ?
|-
| Test that reload of page causes both to restart
| ?
|-
| Test that back/forward work as expected (video back to beginning)
| ?
|-
| Test that Session restore should restore the original state of the video, not the mid-point where it was when you crashed. (I think).
| ?
|-
| Test attaching javascript event listeners to the controls themselves.  They should not really be able to take over a control, for example, you could move the control every time the mouse hovered over it making it impossible to stop the video
| ?
|-
| Test playing a large video that must be buffered.  Ensure the buffering works properly
| ?
| ?
|-
|-
| Change the controls to something of our own creation
| Ensure the poster setting works properly, that seek offsets can be used well.
| ?
| ?
|-
|-
| Use Video to animate objects and place as a background to content
| Ensure that save page as functionality works and downloads the video/audio as well as the HTML
| ?
| ?
|-
|}
=== Mime and Lower level concerns ===
{| class="standard-table"
|-
| class="header"|Test Idea
| class="header"|Status
|-
|-
| Test mimetypes, and test that we handle them by default when they are detected, if we want to do that
| Test mimetypes, and test that we handle them by default when they are detected, if we want to do that
Line 56: Line 103:
| Test for any relevant events - video stop/start/resume/reset etc
| Test for any relevant events - video stop/start/resume/reset etc
| ?
| ?
|}
=== CSS Considerations ===
{| class="standard-table"
|-
|-
! colspan="2" | '''CSS Considerations'''
| class="header"|Test Idea
| class="header"|Status
|-
|-
| ensure videos obey their space directives for the content they are embedded within
| ensure videos obey their space directives for the content they are embedded within
** make video bigger than space (in div, in table, in frame/span)
* make video bigger than space (in div, in table, in frame/span)
** make video smaller than space
* make video smaller than space
** make video smaller than normal size
* make video smaller than normal size
** make video much larger than normal size -can you size video outside of content
* make video much larger than normal size -can you size video outside of content
* have the area surrounding a video be determined by an inherited CSS string that is changed after the page loads and autoplay begins such that the new size is too small for the video
* do above case and just keep the same size, and ensure the page changes and reflow happens but video doesn't restart
| ?
|-
| Can we style the page differently based on video states of play or pause or stop?
| ?
|-
 
| What happens if you put video inside content editable? can you drag the video around?
| ?
|-
| What about inside of an SVG section? (note: I don't think this is possible)
| ?
| ?
|-
|-
|}
|}
*


== NEEDED for Automated testing ==
== NEEDED for Automated testing ==
Line 74: Line 138:
* Ensure that we can automate interacting with the video by doing various JS things and then checking the states and attributes of the video both the constants and the actual attribute states. (in order to play to a certain time, for example)
* Ensure that we can automate interacting with the video by doing various JS things and then checking the states and attributes of the video both the constants and the actual attribute states. (in order to play to a certain time, for example)


*
* * ?
** have the area surrounding a video be determined by an inhereited CSS string that is changed after the page loads and autoplay begins such that the new size is too small for the video
** do above case and just keep the same size, and ensure the page changes and reflow happens but video doesn't restart.
** include a data URL in the video
** use a javascript source file in the src directive and see what happens (or a data URL encoded javascript alert that claims to be a video based on its mimetype, maybe even begins with OGG)
** Litmus or gristmill tests using the controls and verifying that the interaction works properly?
** automatically remove the controls after a moment of playing the video via javascript.
** create a shape or a object that sits over a video
** use javascript to turn the volume all the way up on the vdeo and blare it at the user. (shoudl we allow that -- I'm htinking about ads here that might exploit that)
** see if yo can find a way to allow video to block the user from the chrome controls by positioning the video over it or in a flotaed frame.
** Can you launch code from a video by doing soehting evil inside the video stream?
** do all the interactivity tests with javascirpt with just audio too. 
** audio - test turning controls on and thensizing the frame area such that there is no location for the controls to exist in.
** use all the ideas for video with audio especially the ones involved in embedding audio into the web page.
* test what happens if you have video with an embedded sound clip in it and you specify an audio clip and the javascript plays both at the same time, pehraps the audio doesn't match the video.
* test that playback of both formats stops on closing the tab
* test that reload of page causes both to restart
* test that back/forward work as expected (video back to beginning)
* session restore should restore the original state of the video, not the mid-point where it was when you crashed. (I think).
* test cross site video reference - should probably be disallowed
** or should it?  is there any harm in that? pehraps you want to rembed someone else's hosted video?
* test attaching javascript event listeners to the controls themselves.  They should not really be able to take over a control, for example, you could move the control every time the mouse hovered over it making it impossible to stop the video
* test playing a large video that must be buffered.  Ensure the buffering works properly
* Ensure the poster setting works properly, that seek offsets can be used well.
* Ensure that save page as funcitonality works and downloads the video/audio as well as the HTML
* what happens if you put video inside content editable? can you drag the video around?
** what about inside of SVG?
** test dragging video to a new window and that it doesn't stop playing (via tab drag)
** test that it continues to play (or doesn't play - current behavior is to continue) when you switch to a new tab.
* play with the access controls and see if you can force hieght to change based on a wacked out width setting and telling it to maintain aspect ratio - it is currently fixing height to a value
* Test accessibility of the video/audio controls


= Discovered Bugs =
= Discovered Bugs =
Confirmed users
3,816

edits