Skip to content

Latest commit

 

History

History
75 lines (56 loc) · 4.06 KB

TEST-PLAN.md

File metadata and controls

75 lines (56 loc) · 4.06 KB

Test Plan

Below are a set of user interactions that are expected to work consistently across all Link-enabled apps. In order to provide the best user experience, it's important that apps behave consistently with respect to these test cases. ## Tempo Changes

TEMPO-1: Tempo changes should be transmitted between connected apps.

  • Open LinkHut, press Play, when using QLinkHut click the Link button to enable Link. - Open App and enable Link. - Without starting to play, change tempo in App LinkHut clicks should speed up or slow down to match the tempo specified in the App. - Start playing in the App App and LinkHut should be in sync - Change tempo in App and in LinkHut App and LinkHut should remain in sync

TEMPO-2: Opening an app with Link enabled should not change the tempo of an existing Link session.

  • Open App and enable Link. - Set App tempo to 100bpm. - Terminate App. - Open LinkHut, press Play and enable Link. - Set LinkHut tempo to 130bpm. - Open App and enable Link. Link should be connected (“1 Link”) and the App and LinkHut’s tempo should both be 130bpm.

TEMPO-3: When connected, loading a new document should not change the Link session tempo.

  • Open LinkHut, press Play, when using QLinkHut click the Link button to enable Link. - Set LinkHut tempo to 130bpm. - Open App and enable Link LinkHut’s tempo should not change. - Load new Song/Set/Session with a tempo other than 130bpm App and LinkHut tempo should both be 130bpm.

TEMPO-4: Tempo range handling.

  • Open LinkHut, press Play, when using QLinkHut click the Link button to enable Link. - Open App, start Audio, and enable Link. - Change tempo in LinkHut to 20bpm App and LinkHut should stay in sync. - Change Tempo in LinkHut to 999bpm App and LinkHut should stay in sync. - If App does not support the full range of tempos supported by Link, it should stay in sync by switching to a multiple of the Link session tempo.

TEMPO-5: Enabling Link does not change app's tempo if there is no Link session to join.

  • Open App, start playing. - Change App tempo to something other than the default.
  • Enable Link App's tempo should not change. - Change App tempo to a new value (not the default). - Disable Link App's tempo should not change.

Beat Time

These cases verify the continuity of beat time across Link operations.

BEATTIME-1: Enabling Link does not change app's beat time if there is no Link session to join.

  • Open App, start playing. - Enable Link No beat time jump or audible discontinuity should occur. - Disable Link No beat time jump or audible discontinuity should occur.

BEATTIME-2: App's beat time does not change if another participant joins its session.

  • Open App and enable Link. - Start playing. - Open LinkHut, whenusing QLinkHut enable Link No beat time jump or audible discontinuity should occur in the App.

Note: When joining an existing Link session, an app should adjust to the existing session's tempo and phase, which will usually result in a beat time jump. Apps that are already in a session should never have any kind of beat time or audio discontinuity when a new participant joins the session.

Audio Engine

These cases verify the correct implementation of latency compensation within an app's audio engine.

AUDIOENGINE-1: Correct alignment of app audio with shared session

  • Connect the audio out of your computer to the audio in. Alternatively use SoundFlower to be able to record the output of your app and LinkHut. - Open LinkHut, press Play, , when using QLinkHut click the Link button to enable Link. - Open App and enable Link. - Start playing audio (preferably a short, click-like sample) with notes on the same beats as LinkHut. - Record audio within application of choice. - Validate whether onset of the sample aligns with the pulse generated by LinkHut (tolerance: less than 3 ms).