Functional and non-functional testing in mobile app testing



Every new feature developed needs to be tested. Functional testing is an important aspect of mobile app testing, and mobile testers should do both manual testing and automated testing. At the beginning of testing, testers must manually test the mobile app as a "black box" to see if the provided functionality is correct and works as designed. In addition to classic software testing, like clicking a button to see what happens, testers must also perform more functional mobile device-specific testing.

Today, modern mobile devices have touchscreens that require multi-touch actions to interact with them. The device can have a portrait or landscape display. They offer motion, tilt and helix sensors. They have different interfaces to connect other devices or services, such as GPS, NFC, cameras, LEDs, and more.

Mobile software testers must ensure that all device-specific features of the app are available in the app. With so many types of mobile devices, it is impossible to cover all of them when testing, so functional testers should focus on the key aspects of their app. What is really simple and effective? Device rotates. During my testing work I discovered many bugs that simply rotated the device from portrait to landscape and back.

In addition to APP functional testing , the entire manual testing process, test automation is also important for mobile apps. Every code change or new feature may affect existing features and their state. Often there is not enough time for manual regression testing, so testers have to find a tool to automate regression testing. There are many mobile test automation tools on the market, both commercial and open source, targeting various platforms such as Android, iPhone, Windows Phone 7, BlackBerry and mobile web apps.

Besides mobile app testing another important aspect is the non-functional requirements of the mobile app. Mobile testers have many questions to test before a mobile app is launched on the market or further developed.

The first app test to be done in the early development phase should be a usability test. Usually by alpha users or colleagues. Walk into a cafe or restaurant and ask the people inside about their app usage. Let them look at the first version at this stage of development and gather feedback to see if users are using the new features well in order to get a first impression.

Check app performance. Compare the released version with the current version to see if the performance is the same? better? or worse? Install the app on an old device and see if the app still works on the old device, no matter how good or bad the hardware is. The same goes for state-of-the-art equipment.

Test how the app reacts to incoming calls, text messages, MMS messages, tweets or other notifications. Check the battery level while using the app. Make sure the test device is fully charged during testing and check battery usage every ten minutes to see if the app is using too much power. Install the app on the device while the battery is low and see what happens. Check your app's memory usage. If the app stores data in the local file system, test the usage of different memory cards. Think about what happens when local storage is nearly full - does the app crash or pop up an error message to notify the user?

Test the app installation and removal process. More importantly, test the process of upgrading from an old version to a new version. Maybe the local database has changed, which will cause some serious migration issues.

Is the app localized? Testers need to test the app in different languages. Remember to test with different internet speeds on different internet hosts. Make sure the app works in GPRS, EDGE, UMTS, LTE and WiFi environments.

Don't forget to check how the app reacts when the internet connection is bad or completely dropped. Use the app in airplane mode to see what happens if a request fails. Connect the test device to the computer and check the dev log file for exceptions, warnings, or other odd anomalies. These are just some of the non-functional requirements that mobile testers and developers should consider when developing and testing an app. It is impossible to check every aspect, so the overall team should support QA members to cover as many aspects as possible to prevent users from getting a bad experience. ?

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326317454&siteId=291194637