Non-Functional Testing Tips for Mobile Apps
Market of mobile applications is growing every day and even going to become more demanding as technologies are rapidly developing. In Mobile-Internet era people use smart phones to connect to internet for work, networking, gaming, shopping and other everyday activities.
Mobile devices have witnessed a phenomenal growth in the past few years and there are more mobile phones in the world than televisions and PCs combined .Horizons of quality has also increased and these days customers are more concerns about the quality rather than quantity. Apart from the functional testing it has become very important for testers to test other crucial things in the app which are equally responsible in maintaining the quality of the app.
Following are some generic conditions which should be used for testing mobile app irrespective of any platform. Let’s go through them one by one.
- Interruption conditions
Testers should examine how incoming/outgoing calls, pop-up alerts and notifications and the device’s power cycle impact the performance of the app. App should remain stable after such interruptions. Mobile applications need to handle different interruptions, for example:
- Incoming calls, notifications or SMS
- Low memory warning
- Cable insertion or removal
- Network outage or recovery
- The device power cycle, such as low battery notification
The application needs to handle these interruptions properly to meet the user requirements. Some of the interruptions can actually be stimulated through an emulator, while others, like incoming calls, need to be tested on the actual devices.
- Installation conditions
Testers should take a look at how the app is installed, what the process is for uninstalling or reinstalling the app, and how the program goes through updates. Installation testing we can test things like:
- Ensure the test device is not the same as used for development or is is not set up as the development environment.
- Verify that application can be installed successfully following normal installation procedures.
- Verify that version number matches the version specified during submission
- Verify the application is seen in the installed applications list
- Verify whether proper alert is displayed when we doesn’t follow the normal installation procedures.
- Check installation with low Wi-Fi connectivity
- Test installation behavior with Wi-Fi in disconnected mode
- Check uninstallation and reinstallation
- Check Application start/stop behavior — Start the application by selecting the icon or following the steps outlined in the submission statement
- Check installation behavior when receiving voice calls — while installation process is in progress, make a call to the test device.
- Network conditions
Testers should analyze the network type, quality, loss and transition. Tester should test the app in different network conditions like 2G, 3G, and Weak connection and in fluctuating connections. User should be notifying accordingly if there is not internet or if there is any delay in fetching the data via web services. App should behave same as it behaves in Wi-Fi connections.
- Performance conditions
When it comes to performance, the team should examine the speed and responsiveness of the app, its CPU and memory usage, how it contributes to battery drain as well as the app’s utilization of on-device and memory card storage. Tester should notice the loading of the images, content, lists with in the app. It is preferred to have a quick and easy app with less functionality than a slow and difficult application with many features
- Device integration conditions
Teams should also look into how the app integrates with the device, including its ability to utilize the device’s location and GPS, video and camera, as well as how content is displayed.
- User interface:
- Testers should notice the user interface very keenly as it is one of the most important part of any mobile app. No user wants to see the distorted images in the app or uneven buttons in the app even though the app is fully functional. An app that is easy-to-use and intuitive, and similar to industry-accepted interfaces will tend to do well in the market. Few UI checks can be following.
- Buttons should have the right size and be suitable to big fingers.
- Buttons in the same place of the screen to avoid confusion.
- Natural and consistent icons.
- Buttons that have the same function should have the same color.
Usability testing evaluates the application based on three areas for the target audience:
- Efficiency:The accuracy and completeness with which specified users can achieve specified goals in particular environments
- Effectiveness: The resources expended in relation to the accuracy and completeness of goals achieved
- Satisfaction:The comfort and acceptability of the work system to its users and other people affected by its use.
Very useful tips. Thanks for sharing.
Nice Blog.