AFGHIJKLMNOPQRSTUVWXYZAAABACADAEAF
1
18 Jan 2023Testing protocolTest Phone:
2
PostureTracker App (Android)App Version:Build cover :
3
4
Test IDTestdetails / actions / stepsexpectedWorking / Not working Bug reports Bugsee (numbers)comment / actual result
5
usability tests
6
Practice - general usability test
7
U-1.1choose an exercise and attach sensorsdo/stream data in an exercise for a while (e.g. while doing something else) and use your phone as you normally would
(set 'keep practicing when app is in background' to 'always' or 'unless in low power mode' to receive deviation warnings while you're using the phone for other stuff)

this includes turning the screen off while the app is in the background for a long time
app should stay connected to the sensors
exercise should continue and give warnings/feedback
8
U-1.2benevolent version: keep the phone close to you / the sensorssame as above
9
U-1.3general version: don't care where the phone issame as above
10
11
12
functionality tests
13
F-1.1.1App Start (user open app)show (blue-ish) splash screen
14
F-1.1.2on very first start (1st installation / installation after uninstall)Show About tab information (Welcome message & info)
15
F-1.2.1on all other startsShow Practice Tab (exercise overview, main screen)
16
F-1.3.1Bluetooth is OFFapp should show -postureTracker is asking to turn on bluetooth with option Deny and Allow
17
F-1.3.2On Allow bluetooth should get auto on
18
F-1.3.3app should search sensor and show auto connect sensor on top bar /Pair Device pop up with list of sensor
19
F-1.3.4On Deny bluetooth must not be turned on
20
F-1.3.5app should show "No Sensors Found" pop-up with how to turn on bluetooth video
21
F-1.4.1user enables Bluetooth manuallyif user enables bluetooth manually app should able to search device
22
F-1.5.1Bluetooth is ONauto-connect or show "Pair Device" pop-up (or "No Sensors Found" pop-up)
23
F-1.6.1auto connectif sensors were connected when the app was last closed app should auto-connect to this set
24
F-1.6.2auto connect must work when bt was enabled via app
25
F-1.7.1show "Pair Device" pop-upif no sensors were connected when tha app was last closed show "Pair Device" pop-up
26
27
F-2.1.1
Pair Device pop-up / scan result window
list of sensor sets found (allows connection to sets)shows only Gokhale sensors that are not charging
28
F-2.2.1tap on a set in the list (anywhere except in pre-practice calibration)window should disappear
29
F-2.2.2connect to the selected sensor set (LEDs should not turn on)
30
F-2.3.1tap on a set in the list (only in pre-practice calibration)window should disappear
31
F-2.3.2connect to the selected sensor set and turn on LEDs (1st blue, 2nd green)
32
F-2.4.1dynamic scan results

how to test: make sure one sensor is not in reach when a "Pair Device" pop-up is there (e.g. at app startup, after manual disconnect) by putting a sensor into a box made of metal and closing the lid
scan should find sensors that were not findable (e.g. sleeping or out of range) when scanning started
33
34
F-3.1No Sensors Found pop-upwindow with information that no devices are found and how to enable bluetoothdisplay when no Gokhale sensors are foundpops up every 7 seconds, ok for now (later: maybe extend time after first or 2nd or 3rd pop-up)
35
F-3.2tap on "How to restart Bluetooth"show video how to restart Bluetooth
36
37
F-4.1.1Connectivity bar (top)top bar with information about sensor set or connection stateshould be visible in Practice
except when in an Exercise in full screen
38
F-4.2.1if sensors are not connected (after manual disconnect or at app startup when sensors were not connected when last quitting the app)bar should show: "no bluetooth"-icon & text "Searching..."
39
F-4.3.1lost connection to a sensor (or both, due to e.g. out of range)iOS: bar shows
"no bluetooth"-icon, "Disconnected", reconnect icon
after a short while it shows
"no bluetooth"-icon, "Searching <set name>...", reconnect icon
ok although some sort of status update (like Nidhi's toast information about connecting to sensors, not the progress dismiss info though)
40
F-4.4.1if sensors connectedbar should show: Battery icon, "bluetooth connected"-icon, set name, re-connect icon
41
F-4.5.1tap on battery icon (or BT icon or set name)show more sensor information (battery percentage, sensor1 & sensor 2, p/min & p/sec, signal strength in number & image (e.g. -50 dB & 3 of 4 strength bars)
42
F-4.6.1dynamic battery level update (in bar and in expanded sensor information)

how to test: keep app for an extended time (10 minutes) in pre-practice calibration screen which has the most battery drain due to the sensors streaming data and their LEDs ON. sensors MUST NOT disconnect in this time. Check if battery level changed.
battery level display (icons and numbers) updates when the battery level changes (also when the sensors stay connected for a long time)
43
F-4.7.1dynamic signal strength update (in expanded sensor information)

how to test: usually signal strength changes even if the sensors stay at the same place. If it doesn't move phone away from sensors and check if signal strength changes.
signal strength should update (number and icon)
44
F-4.8.1tap on reconnect icon (manual disconnect)app should disconnect from the connected sensor set
45
F-4.8.2app should turn off LEDs (best with hex 1E07 which will turn off all LEDs)
46
F-4.8.3app should stay in the screen it was
47
F-4.8.4after disconnecting app should scan for sensor sets and display results in "pair Device" pop-up
48
49
F-5.1.1Navigation bar (bottom)tab selection (About | Stats | ...)
50
F-5.1.2should always be visible except when in About or when in an Exercise in full screen
51
F-5.1.3should contain 5 icons: "About", "Stats", "Practice", "Settings", "Login"/"Logout <name>"
52
F-5.1.4all should be clickable
53
F-5.2.1while active in a practicetab "Practice" has a <live> badge to indicate that the user is currently practicingcurrently not necessary as in android data is only update when actually _in_ the Practice tab
54
55
56
F-6.0.0anywhere---
57
F-6.1.1auto reconnectsensor disconnection (one or both)

how to test:
step 1
get phone to loose connection to the sensor(s) (move one or both sensors out of range of the device, for example by putting it into a metal box so that the device looses the connection to the sensor(s))
step 2 move sensor(s) back into range (e.g. remove from box)
app can reconnect:
automatically reconnect to the sensor and continue from where it left off
58
F-6.1.2app fails to find sensors/cannot reconnect
show scan result ("Pair Device" pop-up)

iOS app fails to find sensors/cannot reconnect
will not show scan result, will try to reconnect until tapping 're-connect' icon
different to iOS, but ok
59
F-6.1.3auto reconnect does not need user interaction
60
F-6.1.4auto reconnect must work when bt was enabled via app
61
F-6.1.5special behaviour during active practice and [optionsl] in pre-practice calibration screenshow 'searching devices' screen which contains information on sensors found and connection status
62
F-6.2.1app in backgroundmove app to background and pull back upshould continue to do whatever it did no matter how long screen was off
63
F-6.2.2sensor(s) disconnectedsensor(s) should auto-reconnect & app should continue from before
64
F-6.3.1screen offturn off screen and back onshould continue to do whatever it did no matter how long screen was off independently if app is in background or in foreground
65
F-6.3.2sensor(s) disconnectedsensor(s) should auto-reconnect & app should continue from before
66
67
68
F-7.1.1Main Screen (About)Welcome information (2 pages) with skip and start button
69
F-7.2.1tap skip button (1st page, left)go to Practice tab
70
F-7.3.1tap start button (2nd page, right)go to Practice tab
71
F-7.4.1swipe left/right, click arrow right/leftgo to next/previous page
72
73
74
F-8.0.0Practice (exercise menu)---
75
F-8.1.1"Log in to sync stats" buttonshow only if user is not logged in
76
F-8.1.2if user tap on this button should redirect to login screen all all existing stats should get sync with login account
77
F-8.2.1exercises"Upright & Relaxed", "Level Head", "Ready Stance", "Piston Walking", "Soft Landings", "Bending", "J-Spine"
78
F-8.3.1imagesAll images should match with exercise name
79
F-8.4.1do mulitple practices (without sensors disconnecting)sensors should stream data

if sensors do not stream data (or start blinking red) it is possible that the characteristics 'command reply' was not subscribed to properly
80
F-8.5.1select exercise/practiceleads to pre-practice calibration
81
82
F-9.1.1Practice (pre-practice calibration)should show where to place the sensor information
83
F-9.1.2should show calibrate button
84
F-9.2.1tap "where to place the sensors"show sensor placement information
85
F-9.3.2if sensors are connectedone sensor blue, one sensor green, sensor start streaming dataiOS sensors are starting to stream data when app is started. This should be changed to conserve sensor battery
86
F-9.4.1tap 'Calibrate' buttonif sensors are not connected: give alert - Connect Sensors
87
F-9.4.2if sensors are connected: sensors should stream datasensors start streaming data as soon as they connect to the sensors … ok for now but should be changed at some point
88
F-9.4.3show live data screen with tolerance setting & re-calibrate button
89
F-9.5.1tap reconnect sensor manuallymanually disconnecting from the sensors during pre-practice calibration
correct behaviour: stay in the window that it was in, scan for sensors and display result in "Pair Device" pop-up
90
91
F-10.0.0Practice (live data screen)---
92
F-10.1.1sensors stream datashow live data update (angle & body parts & deviation warnings)
93
F-10.1.2body parts move/rotate according to computed angle between sensors
(a) in full screen
(b) in set-tolerance (smaller) view
94
F-10.1.3Practice tab has a <live> badgeandroid: data is only update when actually _in_ the PostureTracker tab
95
F-10.2.12-minutes idle (no movement)auto end exercise if there was no motionandroid: when app is in background, the evaluation of the two minutes idle will only happen _after_ the app is moved back to foreground => therefore it may occur that an exercise ends as soon as the app is moved to foreground

This is ok for the time being.
iOS: 1 minute
96
F-10.3.1sensor disconnection (one or both sensor(s) loose connection to the device)

step 1 get phone to loose connection to the sensor(s) (move one or both sensors out of range of the device, for example by putting it into a metal box so that the device looses the connection to the sensor(s))
step 2 move sensor(s) back into range (e.g. remove from box)
show 'searching devices' screen & try to auto-reconnect
97
F-10.3.2successful auto-reconnect:
pick up from where user left
98
F-10.3.3fail to auto-reconnect:
after should be visible in Practice 2 minutes exercise will auto-end
99
F-10.4.1full screenenable/disable audio feedbackshould en/disable audio feedbackaudio feedback sound differs from iOS, one is a bit weird, related to android restriction (can only do 3 speed/pitch steps for one sound => 2nd sound was altered manually, I think)
100
F-10.4.2enable/disable vibration feedbackshould en/disable vibration feedback
101
F-10.5.1re-calibrate / tolerance screentolerance & delay valuesfirst use practice category: tolerance 5°, delay 1 sec
102
F-10.5.2every next use: save values set by user (if set, otherwise keep above)
103
F-10.5.3set tolerance value & delayuser audio/vibration feedback should start when the user is <delay> seconds above or below the set <tolerance> value
104
F-10.5.4user audio/vibration feedback should stop immediately when the user is within the set <tolerance value> (+ confirmation sound that user is 'back in range')
105
F-10.5.5tap re-calibrateshow 'calibration information' (& re-calibrate button there-in) user has to tap this button to re-calibrate
106
F-10.5.6re-calibrate: set current posture as new 'target' (deviation = 0°)
107
F-10.5.7tap <end> button (or android '<')exit exercise & go back to Practice menu
108
F-10.5.8on End button app suppose to show Total practice time detail pop up
109
F-10.6.1bottom navigation bartap a tab in the navigation bar (e.g. "Stats")show warning that changing the tap will end the current exercise & let user decide what to do

iOS: PostureTracker continues to update from sensor data
different from iOS due to android fragment layout restriction (not a quick change because it needs to pass information between fragments, which needs thorough data structures & data management)
110
111
112
F-11.0.0Stats screen---
113
F-11.1.1Summary page should show user Daily, Weekly, Monthly data for all exercisesas graph per Day, Week, Monthandroid: week starts on a Monday, iOS: week starts on a Sunday
114
F-11.1.2as list of all exercises
115
F-11.1.3graph sorting: date from left to right: early to today (can be scrolled to see earlear dates)
116
F-11.1.4graph initial view: when entering Stats: current Today / week / month is visible
117
F-11.1.5as list of all practices
118
F-11.1.6tap on bar/segment in graph (daily/weeky/monthly)user receive information on the amount of time they spend in which practice on the specific day/week/month
119
F-11.1.7tap on practice name in summary list of practicesshow statistics for specific practiceandroid: week starts on a Monday, iOS: week starts on a Sunday
120
F-11.2.1For each practice/exercisegraph of selected practice should be visible in Daily, Weekly, Monthly
good: green | bad: red
121
F-11.2.2graph sorting: date from left to right: early to today (can be scrolled to see earlear dates)
122
F-11.2.3graph initial view: when entering Stats: current Today / week / month is visible
123
F-11.2.4tap on bar/segment in graph (daily/weeky/monthly)user receive information on the amount of time they spend in good/bad on the specific day/week/month
124
125
126
F-12.0.0Setting screen---
127
F-12.1.1Apearance: Dark | Light | System user should be able to select theme as per choice android restriction: appearance change will restart the app (so it will take the user to "Practice" screen when appearance is changed)
128
F-12.1.2on change theme should refelect on app
129
F-12.2.1Keep practicing when app is in background: 3 options - always | unless in low power mode | never by deafult it should be Alwaysdefault was set to 'unless in low power mode' (both iOS and android) and that's OK!
130
F-12.2.2always: App continues to give Feedback and record data while user use other app or function e.g. calls etc.
131
F-12.2.3never: App does not contine to give feedback and record data while user uses other app or function e.g. calls etc.
132
F-12.2.4unless in low power mode:
if not in low power mode: behaves like "always"
otherwise: behaves like "never"
133
F-12.3.1Frame rate user able to select - 10 , 25, 50, 100 Change live data frame rate to 10 (25, 50, 100) Hz.
Requires to reconnect to the sensors.
134
F-12.4.1upload Research data by defalut it should be enable Anonymized data can be uploded to ther Golhalemethod Server for research purposes
135
F-12.5.1Version /Build Number display installed build no (e.g. 1.0.14)
136
137
138
Login/Logout screen---
139
F-13.1.1Username and PW loginlog in using username/email and PWEnter correct user name and pwd
140
F-13.1.2if Enter wrong username pwd app suppose to give alert
141
F-13.2.1QR-Loginlog in using QR Codeshould sucessfully allow user to login
142
F-13.3.1log out user taps on log outuser should get logout and All stats should be zero after logout in app
143
144