As the smart phone market continues to boom and witnesses serious growth, the phone makers expand their line of devices to counter the growing competition. Not just following but leading the smartphone growth story is the Android platform, the Android mobile phone market is growing at an impressive rate with new handsets being released all the time.
According to a Google executive, 90,000 Android devices are activated everyday.Almost all new entrants in the smartphone business along with established ones are exploring Android platform for their low to high end phones. These plethora of devices come with different screen sizes, resolution, pixel density, etc. making it challenging for app developers to develop a quality app for these. This makes the testing activity all the more important and key in order to be able to publish a quality app to the market.
This post has targeted different devices which has a distinct combination of the said parameters and would list the important areas of QA and tools used in these scenarios.
Testing on multiple devices
With the growing end user computation options, compatibility testing is becoming very important. This is not an easy scenario to handle from a software testing angle though, because of the number of combinations in which the application needs to be verified, in the limited resources and time on hand.
The scale of Android market penetration makes it difficult and impractical, if not impossible, to execute all tests across all combinations. The application that runs on an Android device could run on any platform, firmware, and phone. However, often times it is only a subset of these combinations and tests that yield maximum returns in terms of bugs found.
Solution – To identify the appropriate device factors: The crucial element to restrict the list of devices is to recognize the factors that might affect the application and make sure to cover all possible combinations of such factors. Dealing with factors instead of devices will empower you to scale down the list of covered devices to a manageable subset that will provide coverage for a large portion of relevant scenarios.
Listed below are some such factors to keep in mind in determining the optimization matrix:
- Screen Size: Smart phones or tablet applications are typically developed not for GUI (Graphical User Interface) but for NUI (Natural User Interface) which involves multiple touch gestures such as scrolling, tap to click, shaking, pinching and providing other finger-touch inputs. The main concern is the screen size of the devices, on which the application will run. One of the challenges of framing an application is how to frame a view layout so it will furnish the screen size. The screen size can differ from QVGA (240×320), WVGA (480×800), HVGA (320×480), FWVGA (480×854), tablets (1024×600) and standard for tablets (1280×800). So one of the challenges is to run the same application on 240×320 and also on 1280×800.
- Android OS versions: The android platform is rapidly evolving. The diversification from version 1.5 to version 4.2 is huge. There are lots of features that can affect the application under test.
- Mobile processor: Mobile devices are very sensitive to processing power. Devices could run at single core at 600 MHz or dual core at 1200 MHz.
Strategies to mitigate the risk factors:
- Edge: Select those factors that are at the edges of the scale, such as minimum and maximum screen size, OS versions at the lowest and highest end with minimum and maximum CPU power.
We can consider 2 devices when we combine influencing factors:
Lower scale: HTC Hero: Android version 1.5, HVGA (320×480) screen size and 528 MHz Qualcomm CPU
Higher scale: Galaxy Tab 10.1v: Android version 3.1, 1280×800 screen size and 1000MHz dual core
- Commonality:Keep tab on market device penetration and usage patterns to select the most popular devices. Such cases alone help make your prioritization task easier.
- Simultaneous execution of test cases: Once a matrix has been finalized, as much as possible have testers run the same test across combinations simultaneously. This helps the tester evaluate and compare application performance across variables at the same time; this often helps to get better feedback than if the tests were run at separate times, and also makes the test setup process more efficient
- Testing across combinations: Encourage testers to test across combinations, even when they are using the application in an ad-hoc fashion. Encourage cross discipline testers, who may not be directly working on project.
- Testing using Track ball: A lot of HTC’s touch screen smart phones have the trackball. It lets you fine-tune your selection, which is very useful in text areas when you want to move the cursor to a specific spot. If phone includes a trackball (or similar navigating device you can use to select items on screen), you may find some actions are easier using it than using your finger, such as”
- Opening an event in a crowded calendar
- Selecting a link or form field on page
- Selecting text to edit
This is for what we cover in this blog post, check this space for more insights to ensure your Android app is ready for the target audience and of course, the target devices.