Skip to content
Reda Nezzar edited this page Jun 20, 2019 · 3 revisions

Datavyu RC Testing Protocol

Overview of testing a Datavyu release candidate prior to release.

Test environment

Test machines should meet or exceed recommended specifications. As of this version, iMac workstations have at least 3GHz Intel i5 processors, 32GB RAM, Fusion drives, and Gigabit Ethernet (don’t use wifi for adding videos stored on a remote server).

Installation

  • Upgrade install
    1. Download the new binary from the download page. These are usually located in the “older and unstable releases” link.
    2. For Windows: Launch .exe file and proceed through installer directions. Use default settings.
    3. For Mac:
      • Mount .dmg file.
      • Copy over app bundle to Applications folder or the Desktop. It can go anywhere you choose, but it’s best not to keep too many stray versions in disparate places.
  • Clean install
    1. Uninstall current binary and delete support folders
      1. Mac: delete app bundle and ~/Library/Application\ Support/Datavyu
      2. Windows: run uninstaller and remove %appdata%/Roaming/Databrary/Datavyu and %appdata%/Local/datavyu
      3. Follow install instructions in Upgrade install.

Player Tests

Test several videos in all plugins for playback performance. Compare against video played in Quicktime/VLC. Test with audio on and with audio off.

Controller Tests

Add Data

Test to make sure Datavyu is able to load videos in all supported plugins. You may use the FrameCounter videos to test different resolutions/formats.

  1. Open new instance of Datavyu.
  2. On the Controller window, click Add Data.
  3. Choose video file to open.
  4. On success a new video player window should open up.
  5. Test adding multiple videos to the same Controller window. Check to make sure the tracks area of the Controller window is properly populated with each stream.

Playback functions

Test the following playback functions using the appropriate hotkeys.

  1. Play
    • Controller state moves to 1x forward playback, regardless of current speed/state.
    • Playback is smooth without visible jittering or jumping. Ensure this is the case for long durations of continuous playback (e.g., 30s, 60s).
    • Compare to playback in a media player (e.g., QuickTime, VLC) if comparison is needed.
  2. Shuttle forward/backward
    • Shuttle forward moves playback speed to the next forward playback increment.
    • Shuttle backward moves playback speed to the next backward playback increment.
    • Playback increments are powers of 2 for exponents [-5..5]. There are negative as well as positive increments. Shuttle backwards from zero moves to -1/32x speed.
    • Smooth playback is expected for playback up to 2x speed.
    • Playback at speeds faster than 2x should function as required but the quality of the playback may degrade. However,frames should continually update—there should be no “hanging” on a particular frame.
    • Smooth playback consists of steady frame updates, no jitter,and no visible frame jumping.
  3. Stop
    • Controller moves to 0x playback speed.
    • All videos stop playing.
    • No jump in videos before the stop* (this may be broken).
  4. Pause
    • Playback stops immediately.
    • Controller state should display previous playback speed with brackets surrounding it.
    • Pressing Pause again resumes playback at the previous speed and removes brackets from the playback speed display.
    • No visible jumps in the video when pausing/resuming.
  5. Jog forward/backward
    • Jog forward advances the Controller clock forward to the next multiple of the step increment size.
    • Jog backward moves the Controller flock backward to the previous multiple of step increment.
    • A step increment is: ceil(1000/FPS)
  6. Jump back
    • Video jumps backwards by the amount indicated in the “Jump back by” field.
    • Controller time updates to reflect the jump.

Tracks

The right side of the Controller window is the area for the video tracks. A horizontal section should be added each time a new data file is added (a track for each video stream). The left side of each track displays an icon for the plugin used to load the video. Beneath the icon are several function buttons: Lock, View, Volume, Resize, Close.

  • Lock - Prevent the track from moving (via mouse drag) when enabled
  • View - Toggles visibility of the video window for this stream
  • Volume - Vertical slider to adjust the volume for this stream
  • Resize - Fixed value sizes to which to scale this stream’s window
  • Close - Remove the video from the Controller

The blue rectangle denoting a track can be dragged (if the Lock is disabled) to change the stream’s start and end position relative to the Controller clock.

Zoom Slider

The horizontal slider on the top-right area of the Controller window scales the granularity of the tracks display. Zooming out all the way should show all tracks, beginning to end. Zooming in should scale the tick marks at the bottom edge of the tracks area. Playing while zoomed in should move the needle past the appropriate section.

Playhead Needle

The vertical red line in the Controller window’s track area designates the location of the current time in the video tracks. Ensure that dragging the Needle (by right-clicking and dragging the red triangle attached to the top of the Needle) updates the clock and the video windows properly. During playback, the Needle updates and moves along the tracks area.

Spreadsheet Tests

Columns

  1. Move between columns
  2. Move between cells
  3. Insert new cell
  4. Insert point cells
  5. Insert continuous cells
  6. Insert cells left/right
  7. Delete cells

Cells

  1. Tab between codes
  2. Change code value
  3. Set onset/offset times
  4. Lock onto cell
  5. Jump to cell onset/offset

Temporal alignment

The default view of the spreadsheet is the compactly stacked box layout. The temporal layout is a much more useful view when coding. Ensure that the nesting and alignment of cells is correct when temporal alignment is enabled.

  1. Cells in different columns with same onset align at the top.
  2. Cells in different columns with same offset align at the bottom.
  3. Larger timestamps monotonically are further down the spreadsheet.
  4. Cell A is visually nested within cell B if cell A’s onset is greater than cell B’s onset and cell A’s offset is less than cell B’s offset
  5. Cells do not overlap (cover up) other cells within a column. If a cell’s offset time extends past the onset time of a subsequent cell, the cell should be truncated with a red border at the bottom.

Cell Highlighting

  1. Cell highlighting causes cells with offsets less than the Controller timestamp to be shaded red.
  2. Cells that span the Controller time are shaded green.
  3. Cells with onsets greater than the Controller time are not shaded.
  4. Playing the video updates the highlighting of cells in synchrony with the Controller timestamp. This works for both backwards and forwards playback.
  5. Seeking to a time updates highlighting.

Highlight and Focus

  1. Pressing the highlight and focus hotkeys toggles Highlight and Focus mode and updates the title bar to indicate state.
  2. All highlighting functions work as normal Cell Highlighting.
  3. When playing, if the Controller times enters into the range of a new cell within the currently selected column, focus moves to that cell.
  4. When a new cell is focused, focus remains on the same code in the cell (i.e., same functionality as up/down arrow key).

Quick Key Mode

  1. Pressing the quick key mode hotkeys toggles quick key mode and updates the title bar to indicate state.
  2. Pressing any key while enabled inserts a new cell in the currently selected column and fills in the first code of the cell with the key that was pressed.
  3. Pressing multiple keys in succession inserts multiple cells and fills in the first code in the appropriate order.
  4. Cell insertion works while the video is playing. Onset times of inserted cells are synchronized with the Controller timestamp.
  5. Switching between columns preserves functionality: quick key mode should follow the user to the new column

Loading

Previously coded Datavyu files open up and display correctly. Linked video files should be automatically loaded if they are available.

  1. Check FrameCounter spreadsheet and the FrameCounter video to check seeking consistency. Column “test” contains several point cells with a single code denoting the frame number that should be displayed when seeking to that cell.

Saving

Editing a spreadsheet and saving it updates the file on the disk. Subsequently opening the file produces an identical spreadsheet. Discarding a file (declining to save) does not save any information since the previous save.