Closed MakaraSok closed 2 years ago
Test specification and instructions
🟥 GROUP_ANDROID_5:
🟥 GROUP_ANDROID_8:
✅ GROUP_ANDROID_11:
These tests were performed on our old test Android 6.0.1 Samsung SM-T350 - a Galaxy Tab A.
In case it matters, the device's OS was last updated... uh... about 5 years ago. But it'll work!
Chrome version 76.0.3809.89. (Released ~ June 2019.)
NOTE: This device does not perfectly match any of the testing groups defined above. As "5.0" is intended for testing against the earliest supported devices, this device is clearly not a fit for that. "11.0" is much more recent... so while not exactly "correct", ⚠️ I'm going to use the "8.0" test group for this report, despite using Android 6.0. ⚠️
(Note that I'm not sure if we even have access to a physical 5.0 device, so I wouldn't be shocked if we have to do that one through emulation. Same re: an Android 8.0 device.)
While I have some tests below marked as OPEN, note that this indicates intent to test them as I continue working with this device. There's a lot of tests to do, so results will appear over time. Also, I'm not normally in the tester role for us, so I'm trying to avoid duplication of labor.
sil_cameroon_qwerty
) downloaded and prompted for install, I deselected the initially-marked language and chose a different one.
sil_euro_latin
at position 2.sil_cameroon_qwerty
keyboard... and for the first language of the two I uninstalled!iii.
: I chose to install sil_cameroon_qwerty
, and when it displayed, the help tip ("click here to change keyboards") was over the shift key, not the globe key.
SUITE_MENU_FUNCTIONALITY: GROUP_ANDROID_8:
TEST_INSTALL_UPDATES: PASSED now that a separate issue(#6731) for the detected bug unrelated to #6525 has been created.
TEST_INSTALL_KD: Passed now that #6732 and #6733 are documented outside of this issue.
TEST_GET_STARTED (PASSED): Tested with the latest Keyman 15.0.528-beta build in API 21 Android 5.0 emulator and it is working as expected.
TEST_INSTALL_KD (PASSED): Tested with the latest Keyman 15.0.528-beta build in API 21 Android 5.0 emulator and it is working as expected.
TEST_KEYMAN_SETTTINGS (PASSED): Tested with the latest Keyman 15.0.528-beta build in API 21 Android 5.0 emulator and it is working as expected.
TEST_SHARE (PASSED): Tested with the latest Keyman 15.0.528-beta build in API 21 Android 5.0 emulator and it is working as expected.
TEST_KEYMAN_BROWSER (PASSED): Tested with the latest Keyman 15.0.528-beta build in API 21 Android 5.0 emulator and it is working as expected.
TEST_TEXT_SIZE (PASSED): Tested with the latest Keyman 15.0.528-beta build in API 21 Android 5.0 emulator and it is working as expected.
TEST_CLEAR_TEXT (PASSED): Tested with the latest Keyman 15.0.528-beta build in API 21 Android 5.0 emulator and it is working as expected.
TEST_INFO (PASSED): Tested with the latest Keyman 15.0.528-beta build in API 21 Android 5.0 emulator and it is working as expected.
TEST_INSTALL_UPDATES (OPEN): notes
TEST_CHANGE_DISPLAY_LANG (PASSED): Tested with the latest Keyman 15.0.528-beta build in API 21 Android 5.0 emulator and it is working as expected.
TEST_ADJUST_K_HEIGHT (PASSED): Tested with the latest Keyman 15.0.528-beta build in API 21 Android 5.0 emulator and it is working as expected.
TEST_SPACEBAR_CAPTION (PASSED): Tested with the latest Keyman 15.0.528-beta build in API 21 Android 5.0 emulator and it is working as expected.
TEST_INAPP_ROTATE_P-TO-L (PASSED): Tested with Keyman 15.0.528 beta build in API 21 Android 5.0 emulator and it is working as expected.
TEST_INAPP_ROTATE_L-TO-P (PASSED): Tested with Keyman 15.0.528 beta build in API 21 Android 5.0 emulator and it is working as expected.
TEST_SYSTEM_LATIN_KEYBOARD_PORTRAIT (PASSED): Tested with Keyman 15.0.528 beta build in API 21 Android 5.0 emulator and it is working as expected.
TEST_SYSTEM_LATIN_KEYBOARD_LANDSCAPE (PASSED): Tested with Keyman 15.0.528 beta build in API 21 Android 5.0 emulator and it is working as expected.
TEST_SYSTEM_LONG_PRESS (PASSED): Tested with Keyman 15.0.528 beta build in API 21 Android 5.0 emulator and it is working as expected.
TEST_KEYBOARD_PICKER (PASSED): Tested with Keyman 15.0.528 beta build in API 21 Android 5.0 emulator and it is working as expected.
TEST_SYSTEM_ROTATE_P-TO-L (PASSED): Tested with Keyman 15.0.528 beta build in API 21 Android 5.0 emulator and it is working as expected.
TEST_SYSTEM_ROTATE_L-TO-P (PASSED): Tested with Keyman 15.0.528 beta build in API 21 Android 5.0 emulator and it is working as expected.
- TEST_INAPP_NON_LATIN_KEYBOARD (FAILED): Tested with Keyman 15.0.528 beta build in API 21 Android 5.0 emulator and I noticed that Pressing some keys produces English outputs, after enabling the Shift Key. (Tamizha Tamil99)
Can you open a separate issue for this? I don't think it will be related to the changes in #6525.
I am going to mark this as passed -- sufficient tests completed for me to be confident that #6525 has not created any regressions. Thank you!
- TEST_INAPP_NON_LATIN_KEYBOARD (FAILED): Tested with Keyman 15.0.528 beta build in API 21 Android 5.0 emulator and I noticed that Pressing some keys produces English outputs, after enabling the Shift Key. (Tamizha Tamil99)
Can you open a separate issue for this? I don't think it will be related to the changes in #6525.
It may be wise for someone to double-check it, but I've gone ahead and written it up as an issue in the keyboards repo: https://github.com/keymanapp/keyboards/issues/1878. The problem is inherent to the keyboard itself and how it interacts with Web.
- TEST_INAPP_NON_LATIN_KEYBOARD (FAILED): Tested with Keyman 15.0.528 beta build in API 21 Android 5.0 emulator and I noticed that Pressing some keys produces English outputs, after enabling the Shift Key. (Tamizha Tamil99)
Can you open a separate issue for this? I don't think it will be related to the changes in #6525.
It may be wise for someone to double-check it, but I've gone ahead and written it up as an issue in the keyboards repo: keymanapp/keyboards#1878. The problem is inherent to the keyboard itself and how it interacts with Web.
@jahorton Okay, Thanks for posting this issue.
reopening due to later tests that failed.
Outcomes:
@jahorton wrote:
It may be wise for someone to double-check it, but I've gone ahead and written it up as an issue in the keyboards repo: https://github.com/keymanapp/keyboards/issues/1878. The problem is inherent to the keyboard itself and how it interacts with Web.
I've transferred the AZERTY hardware keyboard tests that failed into a new issue, #6875, for follow up in 16.0 cycle.
Keyman for Android Regression Test Procedures
These test procedures are to be run each sprint, also before moving from alpha to beta, or beta to stable, and ideally before PRs are merged into stable branches.
Copy these checklists of tests into a new issue and title/tag as required.
Gather Assets for Testing
Setup Steps
User Testing
SUITE_INSPECT: Visual Inspection of master branch
HISTORY.md
contains all the current changesSUITE_MENU_FUNCTIONALITY: Menu Functionality Tests
click to expand
## Various versions of Androids UI for these tests assume default English locale * GROUP_ANDROID_5 * GROUP_ANDROID_8 * GROUP_ANDROID_11 - **TEST_GET_STARTED:** This tests the "Get Started" menu from a fresh installationExpand to see how to do and verify this
1. When the app loads, verify the "Get Started" menu is visible 2. From the "Get Started" menu, touch "Add a keyboard for your language" 3. Verify "Install Keyboard or Dictionary" menu appears 4. From the "Install Keyboard or Dictionary" menu, click the back arrow to return to "Get Started" 5. From the "Get Started" menu, touch "Enable Keyman as system-wide keyboard" 6. Verify Android system menus appear for controlling virtual keyboard 7. Scroll down and enable Keyman as a system keyboard. 8. On the "Attention" dialog, read and hit "OK" to dismiss the dialogs. 9. Touch the back button to return to "Get Started" 10. Verify "Enable Keyman as system-wide keyboard" now has a ticked checkbox. 11. From the "Get Started" menu, touch "Set Keyman as default keyboard" 12. On the "Change keyboard" dialog, select Keyman 13. Verify on the "Get Started" menu that "Set Keyman as default keyboard" now has a ticked checkbox. 14. From the "Get Started" menu, touch "More info" 15. Verify the Info page appears with a version string at the bottom of the page 16. Touch the back button (arrow) to return to "Get Started" 17. From the "Get Started" menu, untick the last option 'Show "Get Started" on startup' 18. Close the "Get Started" menu and exit the app. 19. From the Android device, start Keyman for Android 20. Verify the "Get Started" menu does not appear.- **TEST_KEYMAN_SETTTINGS:**
Expand to see how to do and verify this
1. From "Settings" --> "Installed Languages" 2. Select "English" --> English Settings 3. Select keyboard settings menu 4. Verify Info appears with keyboard version, help link, and QR code 5. If keyboard update is available, click on version and verify update 6. If help link is available, click on link 7. Verify keyboard help documentation appears 8. Return to English Settings menu 9. Select Dictionary --> English dictionary (MTNT) 10. Verify the Dictionary info appears 11. Return to English Settings menu 12. Turn on/off 'Enable Predictions' and validate each 13. Turn on/off 'Enable Corrections' and validate each. For example, when Corrections are enabled and context "tooo" should still suggest "too" 14. Validate that when both predictions and corrections are off, banner is not visible 15. Add/Remove dictionaries - validate 16. If multiple dictionaries are available, test swapping between them- **TEST_SHARE:** Type and verify text can be shared to external app - **TEST_KEYMAN_BROWSER:** Keyman Browser ### 1. On default page, click on text field and set system keyboard to Keyman 2. Verify can type with Keyman as system keyboard 3. Close and reopen Keyman app
- **TEST_TEXT_SIZE:** Verify text can be rescaled from Text Size 16 to 72 - **TEST_CLEAR_TEXT:** Verify text can be cleared - **TEST_INFO:** 1. From the device, disable internet access 2. From the Keyman app menu, select "Info" 3. Verify Keyman for Android version appears at the bottom of the screen 4. Verify Keyman for Android help documentation is displayed. 5. From the device, enable internet access
- **TEST_INSTALL_UPDATES:** This menu option only appears when a language resource (keyboard or lexical-model) update is available
Expand to see how to do and verify this
1. Download an [old version of sil_cameroon_qwerty](https://downloads.keyman.com/keyboards/sil_cameroon_qwerty/6.0.4/sil_cameroon_qwerty.kmp) 2. On the device, set airplane mode on (turns off internet access) 3. On the device, go to settings, and manually set the date to 1 year in the past (e.g. May 2021) 4. Start Keyman for Android 5. From the Keyman Settings, install the local kmp file sil_cameroon_qwerty.kmp (will be an old version 6.0.4) 6. Close Keyman 7. On the device, go to settings and set the date to automatically update from internet 8. On the device, turn off airplane mode (turns on internet access) 9. On the device, go to settings and verify the date is updated 10. Launch Keyman for Android 11. Dismiss "Get Started" and wait for the catalog to update 12. After a while, there should be a notification of a keyboard update being available 13. At the bottom of the Keyman overflow menu, verify keyboard update is available 14. Click on "Install Updates" 15. Accept "Download" on the dialogue 16. Verify resource is updated after background download complete- **TEST_CHANGE_DISPLAY_LANG:** This tests changing the display language for the App and assumes starting with English locale 1. From "Settings" --> "Display Language" 2. Select "Khmer" 3. From "Settings" --> Verify menu selections in Khmer 4. From the overflow menu --> clear text 5. Verify Keyman text field has Khmer prompt (for "Start typing here") 6. From "Settings" --> "Change Display Language" 7. If the string is translated, the first row should be "Default Locale" in Khmer 8. Select "English" 9. Verify the app reloads in English
- **TEST_ADJUST_K_HEIGHT:** This menu option allows the user to adjust the OSK height for the current orientation (portrait or landscape). The customized height is saved as a preference
Expand to see how to do and verify this
1. Have the device in portrait orientation 2. From "Settings" --> "Adjust keyboard height" 3. On the menu, drag the OSK height to change the keyboard height 4. Click back 5. Verify the OSK is refreshed to the selected height 6. From "Settings" --> "Adjust keyboard height" 7. Click the "reset to defaults" button and then click back 8. Verify the OSK reverts to the original height 9. Rotate the device to landscape orientation 10. From "Settings" --> "Adjust keyboard height" 11. On the menu, drag the OSK height to change the keyboard height 12. Click back 13. Verify the OSK is refreshed to the selected height 14. From "Settings" --> "Adjust keyboard height" 15. Click the "reset to defaults" button and then click back 16. Verify the OSK reverts to the original height 17. Rotate the device back to portrait orientation- **TEST_SPACEBAR_CAPTION:** This menu option allows the user to adjust the label displayed on the keyboard spacebar
Expand to see how to do and verify this
1. Select the default SIL EuroLatin keyboard 2. From "Settings" --> Spacebar caption 3. On the menu, select "Language" 4. Click back until the OSK is displayed 5. Verify the spacebar label is "English" 6. From "Settings" --> Spacebar caption 7. On the menu, select "Keyboard" 8. Click back until the OSK is displayed 9. Verify the spacebar label is "EuroLatin (SIL)" 10. From "Settings" --> Spacebar caption 11. On the menu, select "Blank" 12. Click back until the OSK is displayed 13. Verify the spacebar label is blank 14. From "Settings" --> Spacebar caption 15. On the menu, select "Language+Keyboard" 16. Click back until the OSK is displayed 17. Verify the spacebar label is "English - EuroLatin (SIL)"SUITE_KEYBOARD_FUNCTIONALITY: Keyboard Tests
click to expand
## Various versions of Androids UI for these tests assume default English locale * GROUP_ANDROID_5 * GROUP_ANDROID_8 * GROUP_ANDROID_11 ### In-app Keyboards These tests are run in the context of typing in the Keyman appclick to expand
- **TEST_INAPP_LATIN_KEYBOARD_PORTRAIT:** English(EuroLatin SIL) In portrait orientation, verify OSK is visible and fills the width the bottom of the screen 1. Verify long-press `q` key works 2. Verify long-press `p` key works 3. Verify uppercase layer can be selected via `SHIFT` 4. Verify number layer can be selected via `123` 5. Verify long-press `1` key works 6. Verify long-press `0` key works 7. Verify backspace, space, and enter keys work 8. Verify *Khmer* -> *Khmer Angkor* keyboard can be added via Settings menu- **TEST_INAPP_LATIN_KEYBOARD_LANDSCAPE:** English(EuroLatin SIL) In portrait orientation, verify OSK is visible and fills the width the bottom of the screen 1. Verify long-press `q` key works 2. Verify long-press `p` key works 3. Verify uppercase layer can be selected via `SHIFT` 4. Verify number layer can be selected via `123` 5. Verify long-press `1` key works 6. Verify long-press `0` key works 7. Verify backspace, space, and enter keys work 8. Verify *Khmer* -> *Khmer Angkor* keyboard can be added via Settings menu
- **TEST_INAPP_LONG_PRESS:** English(EuroLatin SIL) Type on the OSK using the following scenarios and verify expected output: 1. Clicking a suggestion on the suggestion banner - should insert the suggestion 2. short-press a key and release - should insert the base key 3. long-press a key, select a long-press key, and release - should insert the long-press key 4. long-press a key, while keeping the finger down, move off the long-press options, and release - should **not** output 5. long-press a key, while keeping the finger down, move off the long-press options, then move back on a long-press option so it's highlighted, and release - should output the long-press key 6. quickly type a long paragraph (e.g. repeat the word "reply") - verify long-press keys don't get stuck (displayed when not touching a key)
- **TEST_INAPP_NON_LATIN_KEYBOARD:** Non-Latin script Keyboard 1. In the app, add/select a random non-Latin script keyboard 2. Verify OSK is visible 3. Test several keys and modifiers and verify Latin characters are not appearing.
- **TEST_INAPP_ROTATE_P-TO-L**: 1. With Keyman not active, load it in a portrait orientation. 2. Once loaded, rotate the device to a landscape orientation. - On Android devices, you may need to press something like this for the rotation to occur: - The test "passes" if the OSK rotates properly.
- **TEST_INAPP_ROTATE_L-TO-P**: 1. With Keyman not active, load it in a landscape orientation. 2. Once loaded, rotate the device to a portrait orientation. - On Android devices, you may need to press something like this for the rotation to occur: - The test "passes" if the OSK rotates properly.
### System Keyboards These tests are run with Keyman selected as a system keyboard, and in the context of typing in an external app (like Google Keep)
click to expand
- **TEST_SYSTEM_LATIN_KEYBOARD_PORTRAIT:** English (EuroLatin SIL) In portrait orientation, verify OSK is visible and fills the width the bottom of the screen 1. Verify long-press `q` key works 2. Verify long-press `p` key works 3. Verify uppercase layer can be selected via `SHIFT` 4. Verify number layer can be selected via `123` 5. Verify long-press `1` key works 6. Verify long-press `0` key works 7. Verify backspace, space, and enter keys work 8. Verify can change to random non-Latin script keyboard via globe button- **TEST_SYSTEM_LATIN_KEYBOARD_LANDSCAPE:** English(EuroLatin SIL) In portrait orientation, verify OSK is visible and fills the width the bottom of the screen 1. Verify long-press `q` key works 2. Verify long-press `p` key works 3. Verify uppercase layer can be selected via `SHIFT` 4. Verify number layer can be selected via `123` 5. Verify long-press `1` key works 6. Verify long-press `0` key works 7. Verify backspace, space, and enter keys work 8. Verify *Khmer* -> *Khmer Angkor* keyboard can be added via Settings menu
- **TEST_SYSTEM_LONG_PRESS:** English(EuroLatin SIL) Type on the OSK using the following scenarios and verify expected output: 1. Clicking a suggestion on the suggestion banner - should insert the suggestion 2. short-press a key and release - should insert the base key 3. long-press a key, select a long-press key, and release - should insert the long-press key 4. long-press a key, while keeping the finger down, move off the long-press options, and release - should **not** output 5. long-press a key, while keeping the finger down, move off the long-press options, then move back on a long-press option so it's highlighted, and release - should output the long-press key 6. quickly type a long paragraph (e.g. repeat the word "reply") - verify long-press keys don't get stuck (displayed when not touching a key)
- **TEST_KEYBOARD_PICKER:** Keyboard Picker menu to switch input method This tests the Keyboard Picker menu which lists other system input methods at the bottom of the menu. These appear only in Keyman system keyboard 1. With only 1 Keyman keyboard installed and selected as a system keyboard, long-press and release the the globe button 2. Verify the bottom of the Keyboards picker menu lists other available input methods 3. Click on one of the other input methods 4. Verify the Keyman system keyboard switches to the selected input method 5. On the device's Settings, select Keyman as the input method 6. On the Keyman keyboard, short-press and release the globe button 7. Verify the previous input method is selected
- **TEST_SYSTEM_ROTATE_P-TO-L**: 1. With Keyman not active, load it in a portrait orientation. 2. Once loaded, rotate the device to a landscape orientation. - On Android devices, you may need to press something like this for the rotation to occur: - The test "passes" if the OSK rotates properly.
- **TEST_SYSTEM_ROTATE_L-TO-P**: 1. With Keyman not active, load it in a landscape orientation. 2. Once loaded, rotate the device to a portrait orientation. - On Android devices, you may need to press something like this for the rotation to occur: - The test "passes" if the OSK rotates properly.
- **TEST_EXT_BLUETOOTH_KEYBOARD:** External (Bluetooth) keyboard This test is run with an external keyboard (USB or bluetooth) connected to the device
Expand to see how to do and verify this
1. Start with English(EuroLatin SIL) as the selected keyboard 2. On the device's Settings, show the input method (OSK) 3. Verify can type with numbers, letters, and punctuation 4. Verify `caps lock` has no effect when typing 5. Verify long-press on a character repeats that character 6. Verify `tab` toggles to next field 7. Verify `enter` adds a newline 8. Verify `backspace` removes a character 9. Verify ctrl+tab brings up the keyboard picker menu 10. Use tab or arrow keys to navigate the keyboard picker menu 11. Select a non-Latin keyboard 12. Resume typing and verify new script appearsSUITE_KB_DISTRIBUTION: Ad-hoc Keyboard Distribution Tests
click to expand
## Various versions of Androids UI for these tests assume default English locale * GROUP_ANDROID_5 * GROUP_ANDROID_8 * GROUP_ANDROID_11 - **TEST_KMP_DISTRIBUTION** KMP distribution 1. Reset app settings (in Android Pie: Settings>Storage>Other apps>Keyman>Clear Storage) 2. Verify kmp [distribution](https://help.keyman.com/developer/current-version/guides/distribute/) successfully installsExample: [Khmer Angkor](https://downloads.keyman.com/keyboards/khmer_angkor/1.0.2/khmer_angkor.kmp) 3. Verify kmp successfully installs from Settings --> Install Keyboard or Dictionary --> Install from local file