Platform Acceptance Test for Predictive‐Text - keymanapp/keyman GitHub Wiki
Warning
These acceptance tests are now deprecated as the source for formal testing. Formal testing is done against regression tests stored in a test suite managed by the test team. Developers can update acceptance tests here on the wiki, however, if the developer recommends a test needs to be added to the formal tests contact the test team.
Predictive-Text Acceptance Test Procedures
- These test procedures are to be run before moving from alpha to beta, or beta to stable, or before PRs are merged into stable branches.
- Copy these lists of tests into a new issue (for tier transitions) or a comment on the PR.
- Use User Testing format for documenting tests.
Remember that Keyman predictive text is run under KeymanWeb as embedded into the iOS and Android apps.
User Testing
SUITE_PREDICTION: predictive-text tests
- GROUP_ANDROID: Run the tests via Keyman for Android. Use the keyboard in-app.
- GROUP_IOS: Run the tests via Keyman for iPhone and iPad. Use the keyboard in-app.
- GROUP_WEB: Run the tests via Chrome remote-device emulation on the Web test page "Prediction - robust testing".
TEST_PRED_CHAIN_APPLY: Apply numerous suggestions in sequence and verify that they apply properly.
TEST_PRED_TEXT_SUGGEST_ANDROID: Verify that predictive text produces appropriate suggestions and that they apply properly.
- Test with
gff_amharic. - Verify that reversions work properly. (Tap backspace after applying a suggestion, then the left-most "suggestion".)
TEST_CLEAR_CONTEXT: Verify that predictive text throws no errors when clearing the context / deleting all text.
TEST_PRED_LONG_TEXT_REVERSIONS: Verify that predictive text produces appropriate suggestions and that they apply properly.
-
Test with
sil_euro_latin. -
Type the following text, in full:
applesauce and orange juice don't seem like they'd make for the best breakf -
Tap the
breakfastsuggestion. -
Tap backspace.
-
Tap the reversion (
"breakf") -
Verify that the reversion is properly applied and that Android does not signal any errors (via toasts, notifications, or otherwise).
TEST_PERIOD_APPLY_OVERWRITE: Using the sil_euro_latin keyboard, check if punctuation typed immediately after applying a suggestion erases the whitespace.
- Type
testi - Tap the
testingsuggestion - Then tap the
.key. - Verify that
testing.is the result, with no appended whitespace.
TEST_SPACE_APPLY_OVERWRITE: Using the sil_euro_latin keyboard, check if punctuation typed immediately after applying a suggestion erases the whitespace.
- Type
testi - Tap the
testingsuggestion - Then tap the
key. - Verify that
testingis the result.
TEST_PERIOD_APPLICATION: Using the sil_euro_latin keyboard, check if punctuation typed with a highlighted suggestion applies it and appears afterward.
- Type
testiand verify that it is selected / highlighted. (If it isn't, delete its text and retype - tap accuracy may help.) - Then tap the
.key. - Verify that
testing.is the result, with no appended whitespace. - Tap
.again and verify that it outputs a new..
TEST_SPACE_APPLICATION: Using the sil_euro_latin keyboard, check if punctuation typed with a highlighted suggestion applies it and appears afterward.
- Type
testiand verify that it is selected / highlighted. (If it isn't, delete its text and retype - tap accuracy may help.) - Then tap the
key. - Verify that
testingis the result, with no appended whitespace. - Tap
and verify that it outputs a new.
TEST_PERIOD_OVERWRITE_REVERSION: Using the sil_euro_latin keyboard, check if punctuation typed immediately after applying a suggestion erases the whitespace.
- Type
testi - Tap the
testingsuggestion - Then tap the
.key. - Verify that
testing.is the result, with no appended whitespace. - Backspace over the
.and verify that a proper reversion is displayed:"testi" - Apply the reversion and verify that no errors result.
- Clear the context and type 3 words, then a space, and then repeat this test until reaching this line.
TEST_PERIOD_APPLICATION_REVERSION: Using the sil_euro_latin keyboard, check if punctuation typed immediately after applying a suggestion erases the whitespace.
- Type
testiand verify that it is selected / highlighted. (If it isn't, delete its text and retype - tap accuracy may help.) - Then tap the
.key. - Verify that
testing.is the result, with no appended whitespace. - Backspace over the
., landing attesting, and verify that a proper reversion is displayed:"testi" - Apply the reversion and verify that no errors result.
- Clear the context and type 3 words, then a space, and then repeat this test until reaching this line.
TEST_PERIOD_APPLICATION_DELAYED_REVERSION: Using the sil_euro_latin keyboard, check if punctuation typed immediately after applying a suggestion erases the whitespace.
- Type
testiand verify that it is selected / highlighted. (If it isn't, delete its text and retype - tap accuracy may help.) - Then tap the
.key. - Verify that
testing.is the result, with no appended whitespace. - Tap
.again and verify that it outputs a new.. - Backspace over the
.and verify that a proper reversion is displayed:"testi" - Apply the reversion and verify that no errors result.
- Clear the context and type 3 words, then a space, and then repeat this test until reaching this line.
TEST_MULTITAPS: Verify that the . key on english_punct_rota rotates through the desired punctuation marks.
-
Install the keyboard package found at https://jahorton.github.io/english_punct_rota.kmp.
It may be installed via the following QR link as well:
- Erase all text.
- Tap the
.key four times, rotating through.,,, and?, landing on!. - Type the following text:
Testing is important. (Include the space mark.) - Repeat step 2 above and verify that only the punctuation mark is altered.
TEST_MULTITAP_OVERWRITE: Using a keyboard with a multitap punctuation rota key, check if punctuation typed immediately after applying a suggestion erases the whitespace, even on repeated taps.
-
Install the keyboard package found at https://jahorton.github.io/english_punct_rota.kmp.
It may be installed via the following QR link as well:
-
Type
testi -
Manually apply the
testingsuggestion. -
Then tap the
.key four times, rotating through.,,, and?, landing on!. -
Verify that the results are
testing.,testing,,testing?, and the final result istesting!, with no appended whitespace.
TEST_MULTITAP_APPLICATION: Using a keyboard with a multitap punctuation rota key, check if punctuation typed with a highlighted suggestion applies it and appears afterward, even on repeated taps.
-
Install the keyboard package found at https://jahorton.github.io/english_punct_rota.kmp.
It may be installed via the following QR link as well:
-
Type
testiand verify that it is selected / highlighted. (If it isn't, delete its text and retype - tap accuracy may help.) -
Then tap the
.key four times, rotating through.,,, and?, landing on!. -
Verify that the results are
testing.,testing,,testing?, and the final result istesting!, with no appended whitespace.
TEST_SUGGESTIONS_ON_BKSP: Using Keyman for Android, verify that reasonable suggestions are displayed for text after using BKSP to reach the end of a previous word.
- Type
term - Type
- Tap backspace once.
- Multiple suggestions should be displayed, all based on 'term'.
TEST_DELAYED_ON_WORD: Using the sil_euro_latin keyboard, check if deleting characters up to the end of an applied suggestion's main body displays a reversion.
- Type
trials. - Tap the
andsuggestion. - Type
testi, then tapspaceto automatically apply it. (Restart this test if it is not automatically highlighted somehow.) - Type
ab. - Delete
abso that you end up immediately aftertesting. - Verify that a
"testi"reversion is displayed. - Apply it and verify that the full text reverts to
trials and testi. - Verify that the original suggestions are displayed, but no suggestion is automatically selected / highlighted.
- Type 'a' and verify that no errors, notifications, or warnings are displayed.
TEST_DELAYED_ON_SPACE: Using the sil_euro_latin keyboard, check if deleting characters up to the end of an applied suggestion's main body displays a reversion.
- Type
trials. - Tap the
andsuggestion. - Type
testi, then tapspaceto automatically apply it. (Restart this test if it is not automatically highlighted somehow.) - Type
ab. - Delete
abso that you end up immediately after the whitespace aftertesting. - Verify that a
"testi"reversion is displayed. - Apply it and verify that the full text reverts to
trials and testi. - Verify that the original suggestions are displayed, but no suggestion is automatically selected / highlighted.
- Type 'a' and verify that no errors, notifications, or warnings are displayed.
TEST_DOUBLE_DELAYED: Using the sil_euro_latin keyboard, check if two suggestions can be reverted in rapid succession.
- With the context empty, type
that. - Type a
p, then apply thepointsuggestion. - Apply the
ofsuggestion, giving youthat point of. - Tap backspace and verify that a
""suggestion is displayed. - Tap the
""suggestion and verify that the text becomesthat point. - Tap backspace again and verify that a
"p"suggestion is displayed. - Tap the
"p"suggestion and verify that the text becomesthat p.
TEST_ROBUSTNESS: Spend at least 5 minutes trying to "break" predictive text and/or cause it to work improperly. Report back on any issues discovered.