Continuing from the previous blog, we will cover more different types of mobile testing performed in this blog.
Memory Leakage Testing
When a program does not correctly manage its memory allocations i.e. loses track of a piece of memory that was allocated and hence will never be released to OS, it is said to leak memory. As result it diminish the performance of an application or even fails it.
Mobile devices have huge constraint on memory in terms of installation and runtime memory. Although memory on the devices has grown leaps and bounds but the constraint remains the same. This is due to the fact that along with growth in device memory, its consumption is also increases with background applications, sync process, multi-threading etc.
With scarcity of memory the device behaves very weird. In some cases, the device runs very slow and in other, application crashes. This behaviour is very random and is very hard to diagnose.
A tester has real hard time to do memory leakage testing. With improvements, the memory instance can be fetched at any time and with verifying the trend, at least an alarm/warning can be raise to verify the memory usage.
Memory usage mostly increases due to application allocate memory for creating objects , but not releasing the object or locking the shared memory for specific usage, and hence not releasing it to the pool.
New programming languages although have their own way of memory management like garbage collector in java, but programmers need to be very careful in dealing with explicit memory management as in C or C++.
Certification Testing
In order to get the compliance certificate for the application, it has to be tested against the various testing guidelines provided for various platforms. Each platform has its own criteria for certifying the application. Following platform specific points should be taken care during certification:
Android:
- Need to have valid Certificate for Signing the application
- Application’s .apk file should be in compliance with http://www.android.com/us/developer-content-policy.html
- Proper versioning should be followed in case of updated build publication
- Application can be published on the Android Market web site with valid market account credentials
- Android market will scan and test your application and can report errors if any
- No specific Test suites available as of now
iPhone:
- Application should have Unique name
- Application should have specific category
- Need URL where you can have your application’s feedback
- Need to follow apple HIG (Human Interface Guidelines) from Apple http://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/MobileHIG.pdf”
- Strictly main picture of your application should be in 320×480 or 320×460 size
- App store will scan and test your application for various compliance
- Application may get rejected under following cases like
- Indecent Material
- Unexpected delays while running application
- Copying existing functionality
BREW / BREWMP:
- Need to have valid signed signature file
- Item specification doc (viz; IUT doc)
- TBT Execution results
- Need to have Application zip containing following binaries
- Arm folder
- Doc folder
- Doc folder should contain TBT (True BREW Test) Results and IUT Specification doc (Item under Test specification document)
- NSTL (National Software Testing Laboratory) will test this application.
J2ME
- Need to have Valid Publisher ID
- Need to Comply with Java Verified Unified Testing Criteria (http://javaverified.com/graphics/PDF/UTC_3_0_FINAL.pdf)
- Embed the Java Powered logo into your JAD file
- Zip for your JAD and JAR files
- Once your app has passed the testing phase, its new status will be flagged on the Submission Portal: the JAD file will be signed with the Java Verified signature, and ready for you to download.
- Third Party Test houses are there like Babel Media, Intertek and Sogeti HT
Blackberry
- Need to have BB code signing certificates
- Need to have valid Vendor ID (http://us.blackberry.com/developers/appworld/distribution.jsp)
- No specific Test suites available as of now
- UI Testing must be done correctly from both developer and QA ends
- RIM tests the build using their internal guidelines .These tests may take about 7-8 working days
Symbian
- Need to have .PKG file for building .SIS file
- Application Read Me text file
- Test Results for “Universal Tests” and “Capability” Test criteria
- Other Third Party Test houses are there like Mphasis and Sogeti HT
- There are mainly 3 types of Signing: Open Signing, Certificate signing and express signing.
Windows Mobile
- Should comply the various Marketplace requirements mentioned under http://msdn.microsoft.com/en-us/windowsmobile/dd569132
Interrupt/TAPI Testing
While running a mobile application, there are interruptions such as incoming calls, text messages, low memory or low battery notifications. The mobile application should be able to handle these interruptions gracefully without causing a disruption. Different kinds of interrupts are:
- Incoming and Outgoing SMS and MMS
- Incoming and Outgoing calls
- Battery Removal
- Cable Insertion and Removal
- Network outage and recovery
- Media Player on/off
- Device Powercycle
Testing the application for interrupt handling is a very important aspect of mobile testing as these interrupts are a very common phenomenon that may occur anytime during the application run. The interrupts must be handled properly so that they do not cause interruption in the application functionality. The application must be in a suspended state during the interruption but must resume continuing its normal function after the interruption is over. The hardware interrupts are on the highest priority and the software interrupts can be prioritized accordingly.
Usability testing
Essentially the application usability plays a crucial role for success in market. The usability testing is done to evaluate the application for achieving its specified goals, efficiency and acceptance from the users. Usability testing is usually conducted by the test users in the test environment. Users are given the tasks to accomplish and their feedback about the problems faced, ease of use is recorded. This is the most accurate system to evaluate the usability of the product as it gives direct input on how real users use the system. The major goals of the usability testing are Performance, Accuracy, Recall and Emotional Response. The different methods used for usability testing are Hallway testing, Remote usability testing, Expert Review and Automated Expert Review.
Installation Testing
Installation testing is one of the most important parts of testing activities. The mobile applications are either pre-installed on the device or can be downloaded from any store. The installation testing is not necessary if the application is pre-installed. But in case user is downloading and installing an application on the device, this testing must be done to ensure a smooth installation without any difficulties. This testing focuses on each step of the installation process that a user has to follow. Usually the methods followed for downloading an application are ‘Over the Air’, ‘through cable’, SD Card, and Bluetooth. This testing covers installation, upgrade, and uninstallation of the application.
In next blog, we will discuss more about various platforms and different tools used for mobile application testing.
Popularity: 18% [?]

October 19th, 2011 at 4:48 pm
That’s way the btesset answer so far!
November 8th, 2011 at 4:36 pm
Man you are too good, this information will be very useful for lots of people. Thanks for your wonderful work. Thanks Again!!!