A | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA | AB | AC | AD | AE | AF | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 18 Jan 2023 | Testing protocol | Test Phone: | |||||||||||||||||||||||||
2 | PostureTracker App (Android) | App Version: | Build cover : | |||||||||||||||||||||||||
3 | ||||||||||||||||||||||||||||
4 | Test ID | Test | details / actions / steps | expected | Working / Not working | Bug reports Bugsee (numbers) | comment / actual result | |||||||||||||||||||||
5 | usability tests | |||||||||||||||||||||||||||
6 | Practice - general usability test | |||||||||||||||||||||||||||
7 | U-1.1 | choose an exercise and attach sensors | do/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.2 | benevolent version: keep the phone close to you / the sensors | same as above | |||||||||||||||||||||||||
9 | U-1.3 | general version: don't care where the phone is | same as above | |||||||||||||||||||||||||
10 | ||||||||||||||||||||||||||||
11 | ||||||||||||||||||||||||||||
12 | functionality tests | |||||||||||||||||||||||||||
13 | F-1.1.1 | App Start (user open app) | show (blue-ish) splash screen | |||||||||||||||||||||||||
14 | F-1.1.2 | on very first start (1st installation / installation after uninstall) | Show About tab information (Welcome message & info) | |||||||||||||||||||||||||
15 | F-1.2.1 | on all other starts | Show Practice Tab (exercise overview, main screen) | |||||||||||||||||||||||||
16 | F-1.3.1 | Bluetooth is OFF | app should show -postureTracker is asking to turn on bluetooth with option Deny and Allow | |||||||||||||||||||||||||
17 | F-1.3.2 | On Allow bluetooth should get auto on | ||||||||||||||||||||||||||
18 | F-1.3.3 | app should search sensor and show auto connect sensor on top bar /Pair Device pop up with list of sensor | ||||||||||||||||||||||||||
19 | F-1.3.4 | On Deny bluetooth must not be turned on | ||||||||||||||||||||||||||
20 | F-1.3.5 | app should show "No Sensors Found" pop-up with how to turn on bluetooth video | ||||||||||||||||||||||||||
21 | F-1.4.1 | user enables Bluetooth manually | if user enables bluetooth manually app should able to search device | |||||||||||||||||||||||||
22 | F-1.5.1 | Bluetooth is ON | auto-connect or show "Pair Device" pop-up (or "No Sensors Found" pop-up) | |||||||||||||||||||||||||
23 | F-1.6.1 | auto connect | if sensors were connected when the app was last closed app should auto-connect to this set | |||||||||||||||||||||||||
24 | F-1.6.2 | auto connect must work when bt was enabled via app | ||||||||||||||||||||||||||
25 | F-1.7.1 | show "Pair Device" pop-up | if 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.1 | tap on a set in the list (anywhere except in pre-practice calibration) | window should disappear | |||||||||||||||||||||||||
29 | F-2.2.2 | connect to the selected sensor set (LEDs should not turn on) | ||||||||||||||||||||||||||
30 | F-2.3.1 | tap on a set in the list (only in pre-practice calibration) | window should disappear | |||||||||||||||||||||||||
31 | F-2.3.2 | connect to the selected sensor set and turn on LEDs (1st blue, 2nd green) | ||||||||||||||||||||||||||
32 | F-2.4.1 | dynamic 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.1 | No Sensors Found pop-up | window with information that no devices are found and how to enable bluetooth | display when no Gokhale sensors are found | pops up every 7 seconds, ok for now (later: maybe extend time after first or 2nd or 3rd pop-up) | |||||||||||||||||||||||
35 | F-3.2 | tap on "How to restart Bluetooth" | show video how to restart Bluetooth | |||||||||||||||||||||||||
36 | ||||||||||||||||||||||||||||
37 | F-4.1.1 | Connectivity bar (top) | top bar with information about sensor set or connection state | should be visible in Practice except when in an Exercise in full screen | ||||||||||||||||||||||||
38 | F-4.2.1 | if 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.1 | lost 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.1 | if sensors connected | bar should show: Battery icon, "bluetooth connected"-icon, set name, re-connect icon | |||||||||||||||||||||||||
41 | F-4.5.1 | tap 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.1 | dynamic 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.1 | dynamic 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.1 | tap on reconnect icon (manual disconnect) | app should disconnect from the connected sensor set | |||||||||||||||||||||||||
45 | F-4.8.2 | app should turn off LEDs (best with hex 1E07 which will turn off all LEDs) | ||||||||||||||||||||||||||
46 | F-4.8.3 | app should stay in the screen it was | ||||||||||||||||||||||||||
47 | F-4.8.4 | after disconnecting app should scan for sensor sets and display results in "pair Device" pop-up | ||||||||||||||||||||||||||
48 | ||||||||||||||||||||||||||||
49 | F-5.1.1 | Navigation bar (bottom) | tab selection (About | Stats | ...) | |||||||||||||||||||||||||
50 | F-5.1.2 | should always be visible except when in About or when in an Exercise in full screen | ||||||||||||||||||||||||||
51 | F-5.1.3 | should contain 5 icons: "About", "Stats", "Practice", "Settings", "Login"/"Logout <name>" | ||||||||||||||||||||||||||
52 | F-5.1.4 | all should be clickable | ||||||||||||||||||||||||||
53 | F-5.2.1 | while active in a practice | tab "Practice" has a <live> badge to indicate that the user is currently practicing | currently not necessary as in android data is only update when actually _in_ the Practice tab | ||||||||||||||||||||||||
54 | ||||||||||||||||||||||||||||
55 | ||||||||||||||||||||||||||||
56 | F-6.0.0 | anywhere | --- | |||||||||||||||||||||||||
57 | F-6.1.1 | auto reconnect | sensor 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.2 | app 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.3 | auto reconnect does not need user interaction | ||||||||||||||||||||||||||
60 | F-6.1.4 | auto reconnect must work when bt was enabled via app | ||||||||||||||||||||||||||
61 | F-6.1.5 | special behaviour during active practice and [optionsl] in pre-practice calibration screen | show 'searching devices' screen which contains information on sensors found and connection status | |||||||||||||||||||||||||
62 | F-6.2.1 | app in background | move app to background and pull back up | should continue to do whatever it did no matter how long screen was off | ||||||||||||||||||||||||
63 | F-6.2.2 | sensor(s) disconnected | sensor(s) should auto-reconnect & app should continue from before | |||||||||||||||||||||||||
64 | F-6.3.1 | screen off | turn off screen and back on | should 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.2 | sensor(s) disconnected | sensor(s) should auto-reconnect & app should continue from before | |||||||||||||||||||||||||
66 | ||||||||||||||||||||||||||||
67 | ||||||||||||||||||||||||||||
68 | F-7.1.1 | Main Screen (About) | Welcome information (2 pages) with skip and start button | |||||||||||||||||||||||||
69 | F-7.2.1 | tap skip button (1st page, left) | go to Practice tab | |||||||||||||||||||||||||
70 | F-7.3.1 | tap start button (2nd page, right) | go to Practice tab | |||||||||||||||||||||||||
71 | F-7.4.1 | swipe left/right, click arrow right/left | go to next/previous page | |||||||||||||||||||||||||
72 | ||||||||||||||||||||||||||||
73 | ||||||||||||||||||||||||||||
74 | F-8.0.0 | Practice (exercise menu) | --- | |||||||||||||||||||||||||
75 | F-8.1.1 | "Log in to sync stats" button | show only if user is not logged in | |||||||||||||||||||||||||
76 | F-8.1.2 | if user tap on this button should redirect to login screen all all existing stats should get sync with login account | ||||||||||||||||||||||||||
77 | F-8.2.1 | exercises | "Upright & Relaxed", "Level Head", "Ready Stance", "Piston Walking", "Soft Landings", "Bending", "J-Spine" | |||||||||||||||||||||||||
78 | F-8.3.1 | images | All images should match with exercise name | |||||||||||||||||||||||||
79 | F-8.4.1 | do 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.1 | select exercise/practice | leads to pre-practice calibration | |||||||||||||||||||||||||
81 | ||||||||||||||||||||||||||||
82 | F-9.1.1 | Practice (pre-practice calibration) | should show where to place the sensor information | |||||||||||||||||||||||||
83 | F-9.1.2 | should show calibrate button | ||||||||||||||||||||||||||
84 | F-9.2.1 | tap "where to place the sensors" | show sensor placement information | |||||||||||||||||||||||||
85 | F-9.3.2 | if sensors are connected | one sensor blue, one sensor green, sensor start streaming data | iOS sensors are starting to stream data when app is started. This should be changed to conserve sensor battery | ||||||||||||||||||||||||
86 | F-9.4.1 | tap 'Calibrate' button | if sensors are not connected: give alert - Connect Sensors | |||||||||||||||||||||||||
87 | F-9.4.2 | if sensors are connected: sensors should stream data | sensors 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.3 | show live data screen with tolerance setting & re-calibrate button | ||||||||||||||||||||||||||
89 | F-9.5.1 | tap reconnect sensor manually | manually 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.0 | Practice (live data screen) | --- | |||||||||||||||||||||||||
92 | F-10.1.1 | sensors stream data | show live data update (angle & body parts & deviation warnings) | |||||||||||||||||||||||||
93 | F-10.1.2 | body parts move/rotate according to computed angle between sensors (a) in full screen (b) in set-tolerance (smaller) view | ||||||||||||||||||||||||||
94 | F-10.1.3 | Practice tab has a <live> badge | android: data is only update when actually _in_ the PostureTracker tab | |||||||||||||||||||||||||
95 | F-10.2.1 | 2-minutes idle (no movement) | auto end exercise if there was no motion | android: 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.1 | sensor 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.2 | successful auto-reconnect: pick up from where user left | ||||||||||||||||||||||||||
98 | F-10.3.3 | fail to auto-reconnect: after should be visible in Practice 2 minutes exercise will auto-end | ||||||||||||||||||||||||||
99 | F-10.4.1 | full screen | enable/disable audio feedback | should en/disable audio feedback | audio 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.2 | enable/disable vibration feedback | should en/disable vibration feedback | |||||||||||||||||||||||||
101 | F-10.5.1 | re-calibrate / tolerance screen | tolerance & delay values | first use practice category: tolerance 5°, delay 1 sec | ||||||||||||||||||||||||
102 | F-10.5.2 | every next use: save values set by user (if set, otherwise keep above) | ||||||||||||||||||||||||||
103 | F-10.5.3 | set tolerance value & delay | user audio/vibration feedback should start when the user is <delay> seconds above or below the set <tolerance> value | |||||||||||||||||||||||||
104 | F-10.5.4 | user 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.5 | tap re-calibrate | show 'calibration information' (& re-calibrate button there-in) user has to tap this button to re-calibrate | |||||||||||||||||||||||||
106 | F-10.5.6 | re-calibrate: set current posture as new 'target' (deviation = 0°) | ||||||||||||||||||||||||||
107 | F-10.5.7 | tap <end> button (or android '<') | exit exercise & go back to Practice menu | |||||||||||||||||||||||||
108 | F-10.5.8 | on End button app suppose to show Total practice time detail pop up | ||||||||||||||||||||||||||
109 | F-10.6.1 | bottom navigation bar | tap 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.0 | Stats screen | --- | |||||||||||||||||||||||||
113 | F-11.1.1 | Summary | page should show user Daily, Weekly, Monthly data for all exercises | as graph per Day, Week, Month | android: week starts on a Monday, iOS: week starts on a Sunday | |||||||||||||||||||||||
114 | F-11.1.2 | as list of all exercises | ||||||||||||||||||||||||||
115 | F-11.1.3 | graph sorting: date from left to right: early to today (can be scrolled to see earlear dates) | ||||||||||||||||||||||||||
116 | F-11.1.4 | graph initial view: when entering Stats: current Today / week / month is visible | ||||||||||||||||||||||||||
117 | F-11.1.5 | as list of all practices | ||||||||||||||||||||||||||
118 | F-11.1.6 | tap 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.7 | tap on practice name in summary list of practices | show statistics for specific practice | android: week starts on a Monday, iOS: week starts on a Sunday | ||||||||||||||||||||||||
120 | F-11.2.1 | For each practice/exercise | graph of selected practice should be visible in Daily, Weekly, Monthly good: green | bad: red | |||||||||||||||||||||||||
121 | F-11.2.2 | graph sorting: date from left to right: early to today (can be scrolled to see earlear dates) | ||||||||||||||||||||||||||
122 | F-11.2.3 | graph initial view: when entering Stats: current Today / week / month is visible | ||||||||||||||||||||||||||
123 | F-11.2.4 | tap 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.0 | Setting screen | --- | |||||||||||||||||||||||||
127 | F-12.1.1 | Apearance: | 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.2 | on change theme should refelect on app | ||||||||||||||||||||||||||
129 | F-12.2.1 | Keep practicing when app is in background: | 3 options - always | unless in low power mode | never | by deafult it should be Always | default was set to 'unless in low power mode' (both iOS and android) and that's OK! | |||||||||||||||||||||||
130 | F-12.2.2 | always: App continues to give Feedback and record data while user use other app or function e.g. calls etc. | ||||||||||||||||||||||||||
131 | F-12.2.3 | never: 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.4 | unless in low power mode: if not in low power mode: behaves like "always" otherwise: behaves like "never" | ||||||||||||||||||||||||||
133 | F-12.3.1 | Frame 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.1 | upload Research data | by defalut it should be enable | Anonymized data can be uploded to ther Golhalemethod Server for research purposes | ||||||||||||||||||||||||
135 | F-12.5.1 | Version /Build Number | display installed build no (e.g. 1.0.14) | |||||||||||||||||||||||||
136 | ||||||||||||||||||||||||||||
137 | ||||||||||||||||||||||||||||
138 | Login/Logout screen | --- | ||||||||||||||||||||||||||
139 | F-13.1.1 | Username and PW login | log in using username/email and PW | Enter correct user name and pwd | ||||||||||||||||||||||||
140 | F-13.1.2 | if Enter wrong username pwd app suppose to give alert | ||||||||||||||||||||||||||
141 | F-13.2.1 | QR-Login | log in using QR Code | should sucessfully allow user to login | ||||||||||||||||||||||||
142 | F-13.3.1 | log out | user taps on log out | user should get logout and All stats should be zero after logout in app | ||||||||||||||||||||||||
143 | ||||||||||||||||||||||||||||
144 |