Android Application Testing
How to collect logs when you are not connected to DDMS?
Logs are very important when you are getting any crash in your app or when your app is not behaving correctly.Traditionally for Android apps, we all collect the logs by connecting to DDMS.However sometimes it becomes so difficult to dig out the log when your device do not get connected to your PC due to some cable problem or any other issues with the device.Recently I faced such problem for my Android Tablet Asus Transformer and it really made me so difficult to provide the crash logs to my developers.If you are the one who faced such problem, here is an app which can help you in this situation.
Log Collector:-
- Log collector is an app/tool which can provide you application logs whenever required
- You are not required to connect with your PC
- You can share logs via various means like Email,Facebook,Twitter,Bluetooth,Messaging etc.
- You can edit the logs before sending these logs to your developer.
How to get Log Collector?
You can install it from Android Market(Now Google Play). Just type “Log Collector” and search in Google play.This tool/app can be install on Android 1.5 and above.
Screenshots:-
Google Increase the file size limit up to 4 GB in Android Market
Here is yet another rejoicing news for all Android developers. Google has increased the Android app size limit from 50 MB to 4GB to upload in Android Market. Well the maximum allowed APK (Application Package File) file size will still be limited to 50 MB. However the developers will have two expansion files, each up to 2 GB. What does this really mean? Here are some points which will make you understand about what this update from Google can do for developers and users.
Predominantly 50 MB size is enough for any kind of android applications. One of the famous android game Angry Birds Rio has the file size of 19 MB. However there are some types of apps e.g. high-quality 3D interactive games having advanced 3-D graphics, audio, and video which requires more resources.
Before I proceed, It should be clear that Android apps were free to exceed the size limit (50 MB) earlier also; however developers had to host the data on their own.
Traditionally, when user try to download such bigger apps or game from Android market, after downloading the core app, user is prompted to install additional files to complete the download. These additional files had to be hosted by developers .Obviously the file size of these additional files(which may be in GB’S) were not considered while showing the app size of that game/app on Android Market. Hence sometimes even a user may feel fooled as for app/game of 10 MB (as per app size shown in android market) we need to install additional 1-2 GB of data after installing the core apk.
Moreover downloading this additional data were often leading to expiry of the refund time. (Google provides a 15 min Refund window for paid apps. If you download an app and you uninstall within 15 mins, you can automatically get the refund for your purchased price. However For a bigger apps or games, downloading the additional data were often leading to expiry of this refund time as downloading of this additional data may takes several minutes.)
What’s Great Now after this update?
- As Google has increased the Android app size limit from 50 MB to 4GB to upload in Android Market, these additional files will now be hosted on Google’s server and developers will not have to host these additional files on their own expenses on some third party server.
- As there will be less restriction on the app size, we can expect to have some more good quality application in Android Market.
- As all that data can be fully integrated into the APK and the expansion file, user will be able to see the total size of the app in Android Market before purchasing and downloading it.
- Most Interestingly, unlike earlier, the refund window will begin only when you have installed all the files.
- For Most newer devices, the expansion files will be automatically downloaded when you will download the core app from android market.
- However for older devices Google will provide a downloaded library (developer tool) to download the expansion file.
- In short this update from Google is beneficial for both Developers and Users.:)
Docomo to Launch Remote Testing Center to Fight with Android Device Fragmentation
In Recently held conference on 15-02-12,NTT DOCOMO has decided to introduce an elaborate remote testing center, located at the University of Aizu in Fukushima Prefecture, Japan to help developers test their content. This Remote Testing Solution which is based on Perfecto Mobile Platform and executed by Accenture will have hundreds of handsets of all software versions, screen sizes and will help developers combat with Android device fragmentation. Here are some highlights of this proposed remote testing center:-
- App developer can upload their application on the remote devices and can test their application
- The system will allow 60 handsets to be tested at one time
- Developers will be able reserve time slots on specific handsets
- Developer can upload and test their software on this platform
- Developers will be able to run automated batch tests.
- Developers will have Android testing Interface through which they can take desired action such as swipes, taps at specific locations and button presses.
- Remote testers will be able to use the Android testing interface, which allows for actions
- More advanced inputs, like pinching on the touch display, or GPS and accelerometer readings, will not be accessible
- This service will enable smooth portability of content adaptation across devices.
Mobile testing center powered by the MobileCloud platform
In short this solution will be similar as Perfecto Mobile cloud or Device Anywhere from where user can remotely test their application.
SeeTest & the Android multi-device challenge
Summary: there are many Android devices. When doing mobile test automation – say with SeeTest from Experitest – it is not practical to test ALL devices. The question is then – How to select a small number of Android devices that will enable to identify issues across 99% of ALL Android devices?
In this short article we will suggest two strategies – Edge strategy (testing the most extreme devices) and Commonality strategy (testing the most common, popular devices). Our suggested strategy to obtain optimal results in Android test automation would be a combination of both strategies.
The Challenge – testing thousands of Android devices
The business module behind the Android mobile platform creates huge challenge when you come to test your application. Your application will run on multiple hardware platforms and software versions.
The question is how to set your risk management strategy when you come to select the devices to perform your testing on?
Ideally you would run your entire regression test on all the possible variation of phone model / all Android OS versions / and all vendor firmware versions.
To get an idea of what we are looking at:
As of Q3 2011 there are:
- ~130 (without tablets) different HW modules.
- 7 Android Platform versions: 1.5, 1.6, 2.1, 2.2, 2.3, 3.0 and 3.1.
- The vendor firmware can also vary and can be updated from time to time – a realistic assumption would be ~2 firmware per device.
So in order to test all the permutations of Android devices we are looking at around 1800 combinations (=130 HW device models x 7 SW OS versions x 2 firmware)
For a full list of devices: http://en.wikipedia.org/wiki/List_of_Android_devices
Needless to say this is totally impractical. No mobile automation engineer can seriously target such a large set of devices.
The Solution – identify relevant device factors
The question then is how to narrow down this huge list of thousands of Android devices and select a subset to test on?
The critical thing when narrowing the list is to identify which factors of the device might affect your application behavior and make sure to cover all the possible permutations of such factors. Tackling the factors instead of the devices themselves enables to narrow down to a subset of say 8 devices and provide coverage for ~90% of the devices.
Following is a list of the factors that can affect your application behavior:
- Screen size – One of your main concerns is the screen side of the devices that will execute your application. One of the great pitfalls of building an Android application is how to build the view layout so it will render correctly on all screen sizes.The screens sizes can vary from QVGA (240×320), WVGA (480×800), HVGA (320×480), FWVGA (480×854) , in tablets you will find 1024×600 and what probably will be the standard for tablets 1280×800.So running the same application on 240×320 screens and in the same time on 1280×800 screens is huge challenge.
To emphasize it please look at the relative size difference (the red rectangular representing the smaller size and the black presenting the larger size):
- Android OS versions – The android platform is changing very fast. The difference from version 1.5 to version 2.3 is huge. Lots of new capabilities like graphics HW acceleration were added and can affect your application.
- CPU – Mobile devices in general are very sensitive to processing power. We can see phones with single core running at 600 MHz to phones that have duel core 1200 MHz.
Two other relevant factors of relatively minor effect are GPU (Low-Medium affect) and Manufacture (Low affect).
The Strategy – combined Edge & Commonality strategy
To reduce the risk you can work in 2 strategies:
- Edge Strategy – select phones that have factors that are at the edges of the scale: minimum screen size, maximum screen size, running with OS version of 1.5 and running on the latest version and minimum CPU power.
As we combine them together we can end up with 2 devices:
On the lower end:
HTC Hero: with android 1.5, 320×480 HVGA screen and 528 MHz Qualcomm CPU
On the highest end:
Galaxy Tab 10.1v: with android 3.0, 1280×800 screen and 1000MHz dual core.
2. Commonality Strategy – analyze what is the probability each phone has to meet your application and select those with the highest probability.The analysis here is more complex and defendant on your application type, region, target age and more.
There is a huge difference if your application is a business application that is targeted for the US, of if it’s a teenager game for girls in Japan.
A combination of the 2 abovementioned strategies will probably give you the best result
SOURCE: http://www.appbrain.com/stats/
Seetest-A mobile Test Automation tool for Android, iPhone, Blackberry, Symbian & WindowsPhone 7
Need for Mobile Test Automation Tool on Various Platforms (Android, iPhone, Blackberry, Symbian & WindowsPhone 7)
Since launch of the First Mobile phone in the market to the launch of hundreds of devices a month,the market has changed drastically.Unlike earlier, now:-
- There are lots of application getting developed and launched in to the market everyday.
- Enterprises (banks, retailers etc) need to provide access to their online services via smartphones.
- Application developers need to quickly launch their apps on various platforms to cope up with competitive market.
- Hardware vendors are developing many different devices based on Android and other mobile OS.
Requirement 1: Full coverage – all smartphone OS, all functionality
All mobile OS:
- All types of OS: There are 5 Android, iOS, Blackberry, WindowsPhone 7 and Symbian. To provide a real coverage of your customer base you need a tool that can test on any of these.All mobile OS versions: OS versions are constantly launched ot the market. There is need ot support all of them.
- All mobile device models: phones, tablets. Both are used today by end users. So both need to be tested.
- Gestures:Swipe, drag &drop, zoom in and zoom out, mutlitouch.
- System alerts:Security pop ups.
- Virtual keyboards: all keyboard configurations
SeeTest has plugins into all testing environments such as QTP, Testcomplete, MSTest, JUnit, Perl and Pyhton.
Let’s take for example QTP. The SeeTest plugin enables to work from within QTP and simply create tests the regular and usual way tests are created in QTP (Keyword view, Expert view, data driven tests, test results and anaylsis), only that this time it is done on real physical mobile devices connected via a standard USB cable to the tester’s computer. The user can record/edit the test, run it and view reports – all in QTP. Just as he has always done. Same goes for all the HP testing & monitoring tools such as QC and LoadRunner.
Example screenshots: Keyword view, Expert view, data driven tests, test results
Requirement 3: simple & quick to Operate – a recorder
The mobile world changes quickly. And so should the ability to create tests easily and efficiently. The SeeTest recorder enables simple, quick test creation.
Requirement 4: Same script running on multiple devices and mobile OS.
There are 5 smartphone OS. There are hundreds of smartphone device models. There are constantly new OS versions. This reality mandates one clear and strong requirement – script once, run on any device/OS.
One of SeeTest’s main strengths is its ability to run the very same test script on any mobile OS. Any physical device. No exceptions. This brings clear and indisputable ROI to the mobile automation project.
Requirement 5: Why believe marketing materials? Try it yourself now – free downloadable trial.
Click here to download (download starts automatically)