Features of Android apps testing. Part 1

Introduction

 

Mobile applications are used by users not as well as web or desktop applications are. The differences are inherent in the users behavior. We often use mobile applications instantly, on the road, in the elevator, at the bus stop, etc. The phone starts up quickly, often turns to sleep mode, switches between cell towers, etc. Compare it with web applications, which usually are opened on a computer with a large screen, and the user is in a comfortable chair at work, at home or in a cafe. In such conditions the user is ready to peer at the monitor paying attention to information that is generously scattered on the site. While using the phone, a small screen and a changing environment influence on the users perception.

 

The user is annoying if the page loads for more than 2 seconds or if it is unclear where to click to find to the required information. Big companies, such as Facebook or Twitter, stir a pot by producing applications of excellent quality, spending on researching each button and testing each function hundreds of man-hours (read $). In comparison the applications with weak or unprocessed UI are losing a lot. The applications with unstable work in a changing environment are losing even more.

 

This difference in the users behavior in mobile applications imposes other requirements not only to design, but also to the development and testing of mobile applications.

 

That's why testing mobile applications is different from testing web and desktop applications and it is a separate direction that has its own nuances.

 

In this article I will detail the testing of Android applications because of their complexity, dictated by different types of devices and the universality of Android OS.

 

Checklist for each Android mobile app:

1. The difference between Android and iOS.

2. Selection of devices for testing.

3. Features related to installation, removal and upgrade.

4. Working with hard buttons.

5. Networks (Wi-Fi, 3G, 4G, Edge etc.) and features of application interaction with networks.

6. Interrupts and switching.

7. Testing the graphic and logical interfaces of the project (UI \ UX).

8. Checking the work with the memory of your mobile device or phone.

9. Localization.

10. Consumption of energy.

 

This is not all the questions that appear while testing a mobile application, but even a glimpse of them gives an idea of ​​this process complexity. We, a mobile app development company, will consider these issues in order.

Image from bgr.com

The difference between mobile OS

 

I draw out the following important features of Android OS related to iOS.

 

The share of the users on the Android system is about 70% of the mobile market. So, these users install the largest number of mobile applications from the market.

 

Out-of-date versions of the operating system. Android OS is an operating system with an open source code for smartphones and tablets, based on the Linux kernel. It means that users don’t tend to update it immediately. For example, if the latest version is Android 8.1 the most popular version is 6.0.

 

The variety of devices. Android market is full of devices with different screen resolutions and diagonals, the operating system shell from the devices producer, camera, processor, etc. This complicates the choice of test devices, which provide the maximum coverage of device-dependent bugs.

Image from www.pocket-lint.com/

The variety of phone firmware. Many Android device producers are trying to lay their shell on the top of Android OS. It is being done for a number of reasons: the use of exclusive features (e.g.: Bixby, device compression in the hand, which leads to the activation of the function, etc.), the design, the location of the system buttons (it can be either on the display or on the smartphone frame), "not to be like other," and so on.

 

Image from www.android-dz.com

In addition, there are many updates to this OS, which increases the time for testing. In order to test the mobile application on a lower version than it’s on the device, I recommend to downgrade the firmware.

 

To be continued...