Skip to content

Platform Acceptance Test for iOS

Marc Durdin edited this page Jan 25, 2022 · 9 revisions

Keyman for iPhone and iPad Acceptance Test Procedures

  1. 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.
  2. Copy these checklists of tests into a new issue (for tier transitions) or a comment on the PR.
  3. When annotating results, use > at the start of a new line under the checkbox to note the result. (For an example, see #3973).

Visual Inspection of master branch

  • Build Status Verify latest CI build of master is successful
  • Verify history.md contains all the current changes
  • Verify that all unit tests for iOS are currently passing.
    • May be integrated with the first step above once our usual CI processes include the iOS unit tests.

Gather Assets for Testing

  • Record device's iOS version
  • Ensure the device is properly configured for testing and is registered with TestFlight.

At this time, Keyman for iOS does not support external keyboard input.

Setup Steps

  • Uninstall previous version of Keyman on the device
  • Install test build IPA
  • On device, disable internet connectivity
  • Start Keyman and select Add a keyboard for your language
  • Verify error message "Could not reach Keyman server!" is displayed
  • Click OK to dismiss. Close Keyman app
  • On device, enable internet connectivity
  • Start Keyman
  • On initial Get Started menu, select "Enable Keyman as system-wide keyboard" and do any necessary system steps to enable Keyman

Menu Functionality Tests

Get Started

  • Verify touching Add a keyboard for your language pulls up the keyboard search
    • This should also be accessible as Settings > Installed Languages > +.
  • Verify touching Enable Keyman as system-wide keyboard pulls up Keyman's menu within iOS settings. (11.0+ devices)
    • If older versions of iOS are supported, ensure that the help page for doing it manually is properly linked.
  • Verify touching More info brings up an accurate version and the main table-of-contents help page.
    • This should also be accessible as Info from the main menu dropdown (on phones) or as the circled-i button (on tablets).
  • Set Don't show again to checked, close and re-open Keyman, and verify Get Started menu does not appear

Add New Keyboard

This menu is accessed via Get Started menu or Settings menu

  • On the device, enable internet connectivity
  • Verify a new keyboard can be downloaded and selected
  • Return to the text input screen and confirm that it operates correctly.
  • Without changing selected language, confirm that it can be cleanly deleted via the Settings menu.
  • Confirm that another keyboard is correctly selected afterward.

Share

  • Type and verify text can be copied and shared to external app

Keyman Browser

  • On default page, click on text field and set system keyboard to Keyman
  • Verify can type with Keyman as system keyboard
  • Verify that predictive suggestions are properly applied when selected (using sil_euro_latin + English)
  • Close and reopen Keyman app

Text Size

  • Verify text can be rescaled from Text Size 9 to 72

Clear Text

  • Verify text can be cleared

Info

  • Verify that the Keyman iOS version is displayed; record the version
  • Verify that the Info menu options matches that of the More Info... option from the Get Started menu option.
  • Verify that the Keyman iOS version matches the version string seen at (Home Screen) > [iOS] Settings > Keyman.

Settings

  • Installed Languages ... Add Language
  • Select an installed language ... Add (another) Keyboard
    • Should automatically perform a filtered search based upon that language's BCP-47 code
  • Select an installed language ... Dictionary
  • Turn on/off 'Enable Predictions' and validate each
  • Turn on/off 'Enable Corrections' and validate each
  • Validate that when both predictions and corrections are off, banner is not visible
  • Add/Remove dictionaries - validate
  • If multiple dictionaries are available, test swapping between them

Keyboard Tests

  • Confirm all keyboard tests below have been performed in both portrait and landscape modes.

English (Eurolatin2) in-app

  • In portrait orientation, verify that the OSK appears and fills the width the bottom of the screen
  • Verify long-press q key works
  • Verify long-press k key works
    • Verify that any predictive suggestions generated feel 'reasonable' (based upon 'k', the selected subkey, or one of its neighbors)
  • Verify uppercase layer can be selected via SHIFT
  • Verify number layer can be selected via 123
  • Verify long-press 1 key works
  • Verify long-press 0 key works
  • Verify backspace, space, and enter keys work

Note that the shown EuroLatin2 is a highly customized keyboard explicitly designed for mobile.

English: US Basic in-app

  • Verify that the US Basic keyboard can be downloaded through Settings > Installed Languages > English > +
    • This should automatically bring up search results for English keyboards.
    • When the package-installer launches, English should be the one pre-selected language.
  • Install the package for both English and Tagalog.
  • Set English: US Basic as the active in-app keyboard.
  • Verify that predictive text suggestions appear.
  • Set Tagalog: US Basic as the active in-app keyboard.
  • Verify that predictive text suggestions do not appear.
  • Verify that long-press 123 key works, presenting options for a currency layer and a symbol layer.
  • Select the currency layer, then press the £ key.
  • Verify that the keyboard outputs correctly and returns to the default layer.
  • Go to the symbol layer and press the © key.
  • Verify that the keyboard outputs correctly and remains on the symbol layer.
  • Revert to the default layer and ensure basic key inputs work.
  • Long-press e on the default layer and select a subkey.
  • Verify that the selected key produces the correct output.
  • From the Settings > Languages > English > US Basic menu, follow the "Help link" and ensure it displays appropriate help.
    • (Should work both online and offline)
  • From the Settings > Languages > English > US Basic menu, scan the QR code with a phone and test that it links to the current version of that keyboard's public download page on keyman.com.
  • Returning to the app, delete the US Basic keyboard via Settings for Tagalog.
  • Set English: US Basic as the active in-app keyboard.
  • Verify that the keyboard appears correctly and ensure basic key inputs work.
    • This is to ensure that uninstalling for one language doesn't adversely affect installations of the same resource for another language.
  • Delete the US Basic keyboard via Settings for English.

Predictive Text

  • TODO

What's New Tests

  • Refer to the new changes in history.md and verify functionality
Clone this wiki locally