Test Investigation on Usability of an Android IME – Onscreen Keyboard App

The keypad plays a major role while using any smartphone. Most of us would have used it at-least for saving contacts or dialing numbers. It always feels good to be able to communicate with our near and dear ones using our native language. So the idea of using a keyboard that helps me type in the language of my choice grabbed my attention instantly. Hence, we (Suchismita Bindhani and Shristy Shrivastava) chose this for our testing practice and focused on usability quality criteria. Here we wish to share our learning experience from testing.

About the app

It is a multilingual Android keypad app. It can be used as an IME(Input Method Editor) on the android device besides the default IME of a device. The app claims to support a few Indian languages and has dictionary support as well.  

Context of Testing

The app users were facing trouble in understanding how to use the keypad for Indian languages. The designed interface was not performing in line with the claims made by the app. Some reviews from the users suggested that a deeper investigation of the app was required.

The testing assistance was sought to know the usability factor of the keypad.

Testing Approach

We tried our hands-on for the first time in testing a keyboard application. First, we started by learning how IME is implemented in Android devices.  One of the resources which helped us a lot was from —  https://developer.android.com/guide/topics/text/creating-input-method.html.

From here, we started building a simple test model for this app. Using this, we learned how to gather the usability pain points if any. One quick approach was to look into the Play Store reviews besides other approaches.  For us, the usability is about   “How easy it is for a user’s(techie, non-techie, etc) to use the product in a given context? ” Keeping this in our mind, we started gathering information related to the usability of the Play Store reviews for the app.

Apart from the Play Store reviews, we asked one of our testers (who was able to read and write in a few Indian languages) to use the app for a while and share experiences on the usability of the app. We did not tell what usability meant to us in this context. This tester used the app for languages like English, Marathi, Hindi, Bengali, Gujarati, and Oriya.

What we observed

On selecting the language Oriya, no alphabet characters of Oriya was shown in the keypad. Similarly, the tester was not able to find Gujarati and Marathi characters in the keypad on installing it from the app’s Language addons.  The tester was clueless at this point of time in knowing why was this behavior exhibited. As a result, we felt unsure of the app supporting that particular language.

Now should we categorize it under “usability”? The app looked to be usable for a few languages and not for all.

What’s your impression now, instantly, if you experienced it?  What if the user has installed this app and wants to use the keypad on selecting their mother tongue and experiences this behavior, and not for the English language?
Here is how the keypad appeared on selecting Oriya and Gujarati.


 Sony Xperia T3


This behavior was not observed in selecting a  few Indian languages. The alphabet characters were not displayed on the keys of keypad for languages like Marathi and Gujarati. While typing in these two languages, we didn’t see any alphabet character(s) in the edit text field as well.

Unable to use the app with a few of the supported Indian languages. The claim was, the app supports Indian languages which the user can download via addons.

So, why this behavior?

Initially, we thought,

  • Considering the default IME of the device we felt this behavior was due to not mapping the font from this app to the keypad keys. But we were not sure about it.
  • Or it can be because of the device?

Is this the problem? Or, we see this as a symptom of the problem?  We have to identify the root cause of this problem and report that as a bug. Then write this behavior as the consequence for the occurrence of the bug we identified.

So, what’s the bug here? This question led us to investigate this behavior further. Are you curious to know how we have investigated and identified the root cause of it? Let’s dive into the Test Investigation.

Test Investigation

We viewed the app manifest file to gather certain details of the app. After going through the file, we suspected that the behavior might be device-specific. So, we captured the information from the device and there we found the list of languages supported by the device.

We then mapped the languages supported by the app and the languages supported by the device.  We observed that Oriya and Gujarati names are not available in the device information while it is available under the app’s information.

We continued the exploration and testing on few more devices, we noticed that few devices did support these two languages i.e. Oriya and Gujarati.  Also the app did not show the behaviour which we had observed earlier i.e. alphabet characters are not shown on keys of the keypad.

This was varying from device to device. We observed that this behaviour was specific to some devices. If the device extends the support to the chosen language, then this behaviour was not observed, which was one of our key learning from the testing.

Below screenshot shows the  list of languages supported by the device.  We didn’t find Oriya and Gujarati in the list.


Pic-1: Languages supported by the device


Pic-2:Images for the installed languages of keypad app


Pic-3:Images for the installed languages of keypad app

The Pic-2 and Pic-3 shows the languages installed for the app’s keypad and which are  not supported on the testing device respectively.

At this point of testing, it looks like, the key map file is available for Oriya and Gujarati from the app. But the language’s alphabet characters are not shown on the keys of the keypad. Also the language’s alphabet character does not appear in the edit text field on tapping the keys for these two languages.

The testability supporting factors now come down in the test model we have considered here. We need help of the programming team now. So that we can learn why is this behaviour exhibited by debugging via the code.

Why the keypad keys are blank? Why the alphabet characters do not appear in the edit text field for not supporting language by the device?  Is there a possibility that, though the device does not support the language, still the app can be used if the required language files and fonts are stored by the app on device storage? Will that impact the device functioning?  These are few questions in the list which we have.

Test Investigation Opinion

The device which supported these two languages i.e. Oriya and Gujarati, did not show this behaviour.  Was it a device specific behaviour? Yes, that is what is observed. From the investigation we learnt that some of the languages supported by keypad app were not supported by the device.

So, in such case it would be useful if a message is displayed as “Sorry! The  selected language is not supported by the device.”  This can help the user to know that this app won’t support this particular language on this device.

Remember, It is a good practice to keep a user informed about what is going on with understandable messages in the reasonable time.

Author : Suchismita Bindhani and Shristy Shrivastava

You May Also Like