Getting to Know Your Android Device 101

Author: Andy Johnson
Date: June 27, 2011

Background: 

Testing an Android device or application is always going to be both interesting and challenging.  The Android platform allows much flexibility to the developers, and therefore also to the users.

If you are new to Android testing, the following will touch on several key areas which pertain specifically to Android devices, but also to testing which can be applied to Android applications and other devices as well.  

Note: The functions listed below may or may not exist on the device being tested.  Although this particular course was written focusing on the Motorola Droid X; many of the functions will carry to other Android devices.  

 

Getting To Know Your Device

The following are a few simple actions which will help with testing on an Android device.  Depending on the application, these functions may or may not be the same.

Press and Hold Menu Button - Keyboard

  • This will work in contexts where it is necessary to have a keyboard but one has not been readily provided like search fields, email fields, account sign up fields etc.

keyboard.jpg 

Menu/Context Menu

  • Depending on what is being tested, and whether or not you are navigating through the phone itself or an application, the menu button will provide different extra options. The image below shows the default for the Droid X. In an application the menu may be static throughout, or change up depending on the screen you happen to be looking at. It is a good place to find more functionality and to dig a little bit deeper into the application.

contextmenu.jpg 


Home Button – Press and Hold

  • Pressing and holding the Home button will bring up a list of recently used applications as seen in the screen shot below. 

recentlyused.jpg 

 


 

Double Tap – Configurable

  • Double tapping the home button can be set up do any number of different things. The default is to activate voice commands allowing you to speak and have the device do common tasks.

dbltaphome.jpg 


 

Search

  • Launches search functionality and allows you to search the phone or the internet depending on the context it is launched in.

search.jpg 


 

Tap and Hold – Move Icons on Screen or from screen to screen

  • Tap and hold on any icon or widget on the screen and that icon or widget can be moved to another location either on that page or the next one.  There are several things to note in this shot:
    • First, the green outline around the icon on the screen means it can be moved.
    • Second, the white lines on the sides of the screen where it looks fuzzy are areas which will allow the green icon to be dragged to the next page. 
    • Third, the trash can at the bottom of the screen shot will all the selected application or widget to be removed from the screen and placed in the All Applications area of the phone.

moveiconshomescreens.jpg 


 

Tap and Hold - Phone numbers, addresses, website urls

  • In the context of a text message, email, or website, tapping and holding on a phone number, address, or email will allow you to choose what actions to take.  A phone number will initiate a call, an email will allow an email to be composed, and a website can allow browsing to the website.

tapandhold1.jpgtapandhold2.jpgtapandhold3.jpg 


 

Page Navigation Icon

  • The dots at the bottom of the screen shot below allow navigation to all of the different phone pages without having to touch-scroll to the right or left.  Each phone manufacturer does this a little bit different than the next, but this is how Motorola did it for DroidX.

pagenavicon.jpg 

 

Additional Resources

Testing On Android and Other Devices 

This section will focus on a number of ways to test applications, some of it will be specific to Android, but all of it will be useful for testing in any situation.  Most reading this will more than likely already test, but hopefully there is something to learn from for everyone.

 

Search fields – Special Characters

  • Search fields may or may not be able to handle special characters when they are entered.  Depending on the programming language used to carry out the search, special characters could cause the field to choke.

 

Search fields – Long Strings

  • If a long string is entered in the search field, it can cause problems in formatting on the application being searched.  There have been a number of times in applications where a long string will cause the application page to stretch so far out of proportion as to not be usable.

 

Search fields – Copy and Paste

  • In Android, a long press and hold may bring up a context menu allowing access to the clipboard on the phone.  Sometimes an application will not know how to handle the input from the clipboard.

 

Search fields – Enter Key Enabled on Keyboard

  • If the enter key is enabled on the keyboard which comes up for a search field, pressing that enter key can sometimes distort the field and make it difficult to use. 

 

Menu – Effects on Screen

  • At any given point in the application, pressing and holding the menu button could cause the keyboard to come up. How does the application handle this?  Things to look for in this situation include distortions of the screen, inability to scroll, entering a state which will not allow the user to continue to use the application and whatever other behavior which the application owner might want reported.


Landscape vs. Portrait Mode

  • There are several things to look at in these situations. First take a look at the actual application and see that it functions normally in landscape mode as opposed to portrait mode.  Next, take a look at how the application handles it when the menu is accessed in landscape mode.  Another area to consider is how the application handles starting up the keyboard when the menu is invoked and the application is in landscape mode.  Undoubtedly there are others; this is a good place to start.

 

Pressing Space on Keyboard When in a List

  • When in a list, click the menu and start up the keyboard.  Pressing the space key will sometimes cause items in the list to become highlighted and in focus. Pressing the enter key on the keyboard with an item in the list highlighted will sometimes cause that item to be instantiated.

 

Tap and Hold Settings List Headers

  • When in a settings list which is broken up by headers, the writers of the application may or may not have a solution in place which can handle tap and hold functionality on items which are not supposed to have anything happen to them like the headers.  This has actually resulted in crashes on several applications.

 

Email Format

  • The key components of an email address are the “@” and the “.com”. Most email address fields will only consider whether or not there is an “@” and a “.com”.  That being the case, sometimes it is possible to enter an email address like tester@.com with no domain name.  This is a situation which should be handled.

 

Boundary Testing

Note: Depending on the project, the company may or may not want these types of tests to be performed, it is up to the tester to keep that in mind and respect the needs of the company.

  • Date Fields – will they accept dates which are not real? Leap year dates, dates in the past or future which are clearly not acceptable?
  • Text Fields – how do they handle long strings and large chunks of data? Can the interface handle it when these things are manipulated in strange ways?
  • Credit Card Date Fields –Will they accept a value of 99 for the month or day?  The application should not allow entry of this type of data, especially on a credit card because those details are very important in allowing the user to pay with the application.
  • Spinning number fields – How does it handle entry of a 0? How does it handle deletion of the number? Can a number be pasted in there? Can a large number which is not appropriate for the purpose of the application be entered into it?

There are a lot of other things to test and ways to test them, hopefully the above provides some insight into how to use and test an Android application and device. Happy testing!