Mobile applications are appreciably different from PC applications. There are constructive features of mobile devices and diversity of mobile platforms. Everything listed above is important for testing. In this article I’ll tell you about a few points you should pay attention to. Some of them I found in UTC for Android application and you can also discover many useful things there.
Firstly, we usually test installation of an application. The application can be installed on phone memory and on memory card if the device supports such cards. The application should be installed correctly on all appropriate devices and we have to check that the application should not be installed on unsuitable devices (unsuitable OS). If you have tested the installation, check surely the uninstall, too. The application should be removed completely from phone memory and memory cards.
Mobile devices have more stringent restrictions of memory than computers have. So you have to watch the application working with memory and to control memory leaks. If the application writes to file system, it must correctly handle out of memory exceptions during execution. When a user is trying to store a file and there’s lack of memory, he should receive an appropriate warning.
Intensity of power use and supply sensitivity are also very significant for mobile applications because mobile devices have a self-contained power supply. Test your application when a battery is charged and charging with electricity network.
Another peculiarity of mobile devices is work with phone calls, SMS and MMS. So we have to make sure that the application runs stably with incoming / upcoming calls, with SMS and MMS sending / receiving. These things must not cause data loss. If user accepts an incoming call while application is running, it should be possible to resume from the same point in the application at the end of the call, or a logical re-starting point.
A few words about user interface… The buttons should be easy to use. Each functional element should have an appropriate size, so that user can tap it explicitly. Each pressing element should have a pressed state. Button usage should be suitable for both a left-handed and right-handed person.
Each application should contain standard menu items Helpand About. Help should contain information explaining to user how the application works. About should show the exact application version, application developers and their contact details.
Pay attention to error messages. Any error message must be clearly understandable. It must explain to user the nature of a problem and indicate what action needs to be taken.
Application have to notify user about a long launch time. If the application takes longer than 5 seconds to launch, a progress bar or a message must be displayed to tell user what is happening. In general any function selected in the application should start withing 5 seconds. There must be some visual indication that the function is being performed. The visual indication can be anything that the user would understand as a response, e.g. prompting for user input, displaying splash screen or progress bars, displaying text such as “Please wait…”, etc.
You should remember that mobile devices can have different screen resolutions, different screen modes (portrait, landscape) and accelerometer. If your application supports multiple devices, it must be able to display correctly without obvious errors on differing screen sizes. Application must change between portrait and landscape modes without confusing errors being displayed to user if it maintains accelerometer.
Mobile devices can accept input in multiple formats, e.g. external touchscreen, external keypad, internal touchscreen, internal keypad, QWERTY layout, 12-key layout and others. The application must work correctly with all input methods supported by the device.
Apparently there’s a great amount of variants due to the device construction and you will spend more time and efforts on mobile application testing than on testing of PC program.