share with

Friday 4 January, 2013

Mobile Functional Testing

 Functional Guidelines

Things to be focused main:
Sign-up & Login: This may seem like a no-brainer, but if users cannot easily access your application, your efforts will have been wasted. If your app or mobile site requires password and username (not recommended), pay close attention to the fields and make sure that it’s easy for users to enter their information.
Menu Options: Often times, menu options can be difficult to access and decipher. Make sure that menu items like Help, About, etc. are easy to find and navigate.
Keys: Any problems related to scrolling, text selection, the back button, etc. are bound to lead to trouble, so make sure your key functionality is clear and consistent. Also, be sure to cross-check if your app will run with a keyboard and/or touch-screen.
Data Handling: An important consideration for all mobile apps (but for games in particular) is data handling. Does your mobile app store saved information properly? What about data deletion – or worse – unintended data deletion? Make sure to include this in your testing scope.
Connection Speed / Carrier: With the iPhone now running on Verizon, Sprint and others, testing on only one carrier is no longer an option. Make sure that your most basic app tests include some of the most popular (and likely) carriers, as performance can vary greatly from one carrier to another.
Operating System: Like carriers, the mobile operating system running your app will have a huge impact on its relative performance. For some operating systems (like Android), you will not be able to test across every possible combination with in-house resources, but you should identify 3-5 of the most popular ones and test accordingly.
Screen Size: While this applies mainly to tablets, screen size discrepancies should be a top consideration while testing your mobile app. For instance, how much should users have to scroll from left-to-right or top-to-bottom, if at all?
Interruptions: How does your mobile app behave when the device battery is at full strength, medium strength and low strength? This is just one of the many variables to consider when testing, but it’s also one of the easiest items to check for. Others include incoming calls, SMS, MMS and video calls.
Error Messages: Your error messages should be clear, concise and actionable. Do this, and you’re a step ahead of virtually all mobile applications on the market today.

Screen real estate: You might use a mobile device just like a regular 1024×768 pixel application, but your users probably won’t. Try to actually use the application on a number of devices — just use it. You’ll likely come away suggesting a mobile interface, perhaps an automatic re-direct on login when your application senses a mobile device. Even then, you’ll want to explore the application in a number of devices, looking for usability problems.
Finding device specific bugs: If, for example, you discover links that are not functional on certain devices, then you should first determine whether it works on the desktop browser. If it is reproducible on the desktop browser, then it is obviously not a device-specific bug, but rather a bug in the basic application. If a link is functional in the desktop browser and it doesn’t work in the device, then it should be identified as a device specific bug.
Normal use test: Start on a full battery and use the application for 6-12 hours and measure the battery level at the end of each ½ or 1 hour. You may use an automated testing tool to do this so as to keep the test running for the required time interval. This test will tell you how quickly your application drains the battery when in ‘normal’ use, with all the foreground and background features of the application running normally.
Idle run test: Turn off the screen lock and power saver modes on the device. Then start on a full battery and keep the application running on its main, home or dashboard screen as appropriate, and measure the battery level at ½ or 1 hour intervals. This test will measure the battery drain due to such things as intentional or unintentional automatic screen refreshes, and due to the background threads or services running in your application.

Functional Issues to Consider in the Dev Phase:
Context is critical for mobile applications. A thorough understanding of the user’s context and objectives is a must requirement.
Conduct ongoing user acceptance testing (UAT) throughout the design and development process, including testing on real devices.
Use simple navigation structures pointing to one specific task at a time.
Store data on the device selectively and archive data that is less frequently accessed on the server.
Effectively use multi-threading wherever possible to improve performance.
Use high contrast text color and select typefaces for maximum readability.
Provide clear status and feedback based on progress of task completion.
Manage content wisely. Wherever possible, crop large images and reduce the size of data files.
Use a consistent User Interface design that helps users maintain a familiarity with the application.
Get involved in real-time interaction via social media. This could include live Facebook or Twitter streams.

Common Mobile Usability Issues
Functionality: A mobile application must present the user with the appropriate functionality. If the functionality of an application is perceived as incomplete or inadequate, customers may be lost.
Layout & Design: Good layout and design allow a user to easily complete tasks. If a button is placed in the perceived ‘wrong’ place, users will get frustrated and might look for an alternative product.
Interaction: The flow of an application must be natural and allow the user to easily complete tasks. If a user believes they have been sent to the wrong page and have to manually backtrack in order to find the page they were looking for, they can become frustrated and abandon the application.
Common Mobile Load & Performance Issues
Load Testing is another critical step in the successful launch of a mobile application. The key factor to be aware of here is mobile carriers and data usage, which can effect the speed and ease-of-use of the application. If the application performance is poor for the end user, they will be likely to divert to other apps and services. The application must therefore be tested with different devices and carriers depending on the county and region.
Common Mobile Security Issues
No application can ever be 100% secure from threats, but as developers, these are questions that you should always be asking yourself when it comes to security testing for mobile apps:
Confidentiality: Does your app keep your private data private?
Integrity: Can the data from your app be trusted and verified?
Authentication: Does your app verify you are who you say you are?
Authorization: Does your application properly limit user privileges?
Availability: Can an attacker take the app offline?
Non-Repudiation: Does your app keep records of events?

Common Mobile Localization Issues
The worldwide proliferation of mobile applications (and the mobile web) requires your products to be accessible and contextual for users in all markets and regions. But with the localization process exceedingly difficult to verify, many companies are excluding entire sub-sets of users without even knowing it. Here are a few of the more common issues related to localization testing mobile applications:
Content – Static & dynamic content like catalogs, search results, metadata
Dates – Is the date January 1 or 1 January?
Characters – Différent länguages have ðifferent set∫ θf characters
Postal codes – In some countries postal codes contain letters
Phone numbers – Different formats for different markets
Direction – Some languages are written left to right, others are right to left
Currency conversion – Especially important for internet retailers
Tax calculation – VAT, sales tax and others vary from country to country
 This is refered and comprehensed from Utest blog.

No comments:

Post a Comment