Blog

Articles to grow your career

Article

Best Practices for Mobile Applications Testing

More and more sophisticated software products for our devices appear on the market, which requires quality assessment by specialists. As a result, mobile application testing has become an independent QA area that has been actively developing in recent years. In this article, we’ll cover:

  • What are mobile applications;
  • What is different about testing these software products;
  • What tools a tester needs to master;
  • How to deal with the most common defects.

Types of Mobile Applications

Before we talk about software classification, it is worth assessing the size of this industry. By early 2020, more than 5.19 billion people were actively using mobile devices daily. In just a year the number of users grows by 124 million.

According to international experts, 10 minutes out of 11 when using a mobile phone concentrates on applications that cover almost all areas of our life (entertainment, finance, health, communication, etc.).

In the second quarter of 2020 alone, 37.8 billion applications were downloaded from Google Play and App Store. This is a record figure, the flagships of which are TikTok and Zoom.

So what is the mobile app? This is a program that is written in a high-level language and allows you to speed up the execution of action according to its functionality. The software is created for a specific platform (Android, iOS, Windows 10 Mobile, BlackBerry, and others).

All applications are divided into three types.

Mobile Web Apps

The most common type that allows you to easily display web pages on different devices. These are not applications in their pure form, but interfaces of websites with active functionality adapted for mobile devices. Web applications are cross-platform, do not need to be installed, and are fairly easy to use. Other advantages of this type of software include relatively simple and fast development. But web applications also have disadvantages: the need to connect to the Internet to work, limited security, low performance.

Native Applications

Such applications are developed only for a specific platform and make the most of the capabilities of a particular operating system. Native applications can also use other device resources: camera, GPS, contact list, etc. They are characterized by wide functionality and a high speed of work.

But such applications also have disadvantages: low platform coverage compared to mobile web applications, high development costs, and the need to regularly release updates.

Hybrid Applications

A combination of the two types above. Unlike native apps, hybrid apps are developed for multiple platforms at the same time and written in a generic language. This product can be placed in stores, and to update it, you do not need to release a new version every time. You just need to add all the changes to the server. The weak spot of such applications is the visual style. After all, the development of an application for a specific platform is carried out based on a single guideline. And the interface of the hybrid app loses the recognizable features of the operating system.

Of course, the development of such applications is cheaper, but there are also more potential vulnerabilities.

Features of Testing Mobile Applications

Development of mobile apps and desktop apps is different. Therefore, in the testing process, the engineer must run tests due to the nature of the software products. For example, you need to check the installation of updates.

Developers of operating systems are improving the platforms all the time to make them more secure and improve their performance. This also creates new requirements for mobile applications. The user should not experience any difficulties during the update process. What if the user doesn’t install new versions on time? How will the application react to this? The tester is looking for answers to these questions.

Testing helps you identify how your application reacts to unpredictable user actions. Imagine an unlocked phone is in your pocket or a bag, and the application must correctly handle a set of chaotic and incoherent actions.

Another type of testing is the assessment of the quality of various connection types. Such testing takes place in a laboratory environment, where it is possible to recreate the most realistic connection conditions. This type of testing ilustrates how the app behaves in non-typical situations. For instance, when the Wi-Fi signal is barely perceptible.

The team on the project can consist entirely of mobile application testers or remain a combined one. It depends on the particular product being tested. An outsourcing company might consist of only a few mobile software QA or a large department. In this case, a beginner specialist can build a career from Junior to Lead. Product companies can also have their own QA division.

Mobile Application Testing Tools

The QA engineer’s toolkit is quite various. It has emulators, services for beta, software for collecting statistical data, and so on. Let’s take a look at them in detail.

Emulators

Emulators are software applications that basically mimic the behavior of other devices. Their main benefit is that they help to test complex scenarios which might not be recommended for testing on real mobile phones (for example, tests can break the device).

Emulators can be found for all common OS For example, the Android SDK allows you to run debugging and testing of source code. The result can be obtained in real-time. Of course, there are alternative options for emulators, for example, MobiOne Developer or Electric Mobile Studio 2012, but such solutions are not free.

Beta Testing Services

Remember that beta testing is working with an almost finished version of the product to find all possible errors and how to eliminate them. A free service called The Beta Family allows you to create an account and download the beta version of the app. Then you can send an invitation to test the software and then analyze the results.

Collecting Statistics

Statistical information about how users work with the application is useful. You will find out which features attract users the most or what mistakes they make.

You will also receive statistics on which OS versions are mostly used by application users, the representation of your application on a geographic map. Such data can be obtained using information-gathering solutions. Examples of the most common free systems are Google Analytics, Flurry, BugSence, and Apsalar.

To test software effectively many companies make their farm of mobile devices. It is a large collection of mobile devices varying from smartwatches to tablets or e-books based on different operating systems. The larger the farm is, the more software defects can be identified to make the mobile application better and more reliable.

Frequent Defects in Mobile App Testing

Speaking about testing mobile applications, there are several specific bugs.

Application Stopped Working

This happens when the application has unfixed bugs. As soon as the application stops working the user gets an error message. However, rebooting or clearing the device’s memory does not always help. Sometimes this requires more drastic measures. For example, clearing the internal memory completely, reinstalling an app, or even a factory reset. The user data is erased and there is no possibility of recovery.

Errors in Support of Different Versions of OS, Browsers, and Devices

This often happens with devices that are built on platforms no longer updated by developers. Bugs can be found during cross-platform and cross-browser testing.

Some bugs can be fixed, but the most serious defects can be eliminated only after switching the devices.

Testing is recommended on different operating systems and in different browsers. However, the scope of testing depends of course on the customer’s requirements.

Crashes When Displayed on Screens of Different Resolutions

These errors occur when the application is not optimized to run on devices with different screen resolutions. Interface elements can distort when changing the smartphone screen mode.

Defects in Application Localization

Modern mobile applications mainly enter the international market, that is why a lot of attention must be paid to localization testing. This process presupposes not just translation into another language but also tailoring the contents to a specific culture. Elements that require special attention are abbreviations, currency, date and time formats, proper names. Even color can make a difference. For example, in Western culture, black is considered the traditional color of mourning, but in India, Japan and Korea, they use white instead.

Localization errors are quite common. They make users leave and decrease the chance of success of the software product in a specific market.

Pieces of advice

How can a novice engineer prepare for testing mobile applications?

We recommend that you complete the software testing basics training as the basic tests for testing desktop and mobile applications are the same.

At the same time, it is worthwhile to devote time to self-education. Read materials about mobile technologies, features of different platforms, new devices.

In addition, there are various guidelines, such as Apple’s Human Interface Guideline, which contains requirements for mobile applications in various aspects. Study them.

And one more piece of advice. Install various applications on your smartphone, pay attention to their work and those defects that you would report to the developers.

And of course, try to get invaluable experience with real products. Freelancing, crowd testing, or starting positions in IT companies – there are many options. Choose the one that appeals to you the most and go for it!

woman with a laptop

Alex Kara
By Alex Kara on Aug 15, 2021
Manual QA