In 1983, Motorola brand DynaTAC (Dynamic Adaptive Total Area Coverage) produced the first portable handheld phone in history with the 8000X. The development phases of the phone took about 15 years. The first portable phone produced has a thick and very large battery with an antenna. According to the first developed model of the second mobile phone model produced in the world, its battery and antenna have shrunk. Besides, the cover and display feature has also arrived. New features have been added or existing features have been further improved for each new model that is later produced. Over time, mobile phones with phone cover change, GPS module, MP3 play, qwerty keyboard, Bluetooth, camera feature, touch screen, PDA (Personal Data Assistant) feature are produced. Considering that it is now 2020, mobile phones are now replaced by smartphones.
Today, smartphones have managed to have features that will surprise us. Thanks to these features, we use smartphones in many areas other than communication. For example, we can play games with the game console from our smartphones, take photos/videos almost as clear as a professional camera, video chat with our relatives, reach our acquaintances who we do not even know the phone number, make all kinds of purchases (cosmetics, books, food, stationery, clothing, technology, etc.) without going to the physical store, watching educational videos (cooking, knitting, painting, math lessons, etc.) through mobile applications. We can order meals online 24/7, learn different languages, make almost all our transactions thanks to internet banking from our home without waiting for bank queues, and make our reservations using online travel/accommodation applications. We have all the information in our pockets now. As a result, the number of mobile phone usages in the world is increasing rapidly.
According to a report published last year; There are 5.19 billion people in the world who use mobile phones. That’s 67% of the world’s population. +124 million users acquired mobile phones in 2019. It has increased by 2.4% in the world population.
The continued increase in smartphone usage has been a cause of significant competition among mobile phone makers. For this reason, giant companies producing mobile phones have started to produce mobile phone models with different sizes, operating systems, and hardware. The world’s first mobile phone was produced in 1983, while the world’s second mobile phone was the MicroTAC 9800X, produced by Motorola in 1989. Today, in addition to Motorola, many giant brands produce mobile phones, including Samsung, Apple, Huawei, Oppo, Xiaomi, etc. These brands launch at least one new model every year.
Today, the presence of a large number of smartphones developed with different software and hardware is the most important feature that distinguishes mobile application tests from other platform tests. Test Engineers need to test the same test scenarios on different devices and in different software versions. Because when we test the same cases on different devices, we see different results.
Screen Resolution and Size
Another important point that we should pay attention to in mobile tests is that we forget that the devices have different resolutions. Today, phones with almost the same feature have models in different resolutions. The problem of screen resolution in mobile application tests is a problem that is a must in almost all applications. Let’s say the X is 3.5 inches and the Y is 12 inches. Let’s be manually testing the log-in page of the app on X and Y devices. We picked up the Y device and opened the log-in page we tested. We saw the buttons, texts, titles, and pictures that we saw in the interface as they should be in place and completed the test. Then when we take the X device in our hands, we can see that the text does not fit on the screen, shifts left and right. Solving this problem does not require much effort from a software point of view and does not require intensive code changes. However, the application that comes to life with this error has no value and importance to the user. We must not forget that users’ opinions about the product are very important. Because the product gains a significant part of its prestige thanks to its real users.
Another point that we should pay attention to in mobile application tests is the condition of the battery. For example, we need to perform performance testing of any application developed. We must not forget to create individual cases for situations where the battery level is 100% full, is about to run out, is moderate, and is plugged into the charger. Because it is very important how the product we test behaves, especially in cases where the battery level decreases and mobile phones are plugged into the charger. When carrying out our performance tests, we should not forget to test the batteries especially on devices with different occupancy rates.
Mobile Application Tests and Different Operating Systems
Besides, we must check all the applications that we test on devices with different operating systems. Let’s say a Tetris game is developed and we have to test it. We installed our game on an android device and started to check it. Items such as music, images, level, scoring at the top of the game are as they should be and we have completed the test. We should not be surprised if we encounter different results when we test the same cases on a device belonging to the IOS operating system.
Access Permissions and Memory Usage
We may also need to grant access to some areas such as location, camera, contacts, or gallery from mobile phones to use some developed applications. For example, we need to test the navigation app. For this application, we need to share our location information with the app. With the app, we can always share our location information, only share it when we run the app, or we may never share our location information. We need to consider all situations in the mobile application test scenarios we will create. Because, in different permissible situations on different devices, we can observe different results.
Let’s say that an application has been developed where we can photoshop our pictures in the gallery. We’re going to test this app. First of all, we expect the user to allow the gallery for our program to work. Many users who use our app may grant this authority to the application. Or it may only authorize you to use the program or grant access to the gallery because no one wants access to it. That’s why test engineers should create separate cases for these situations. Also, we can create separate cases according to memory/memory status. Because suppose the user gave access to the gallery and was able to photoshop his picture successfully. The user liked the picture very much and wants to record this newly edited picture on his mobile, however, his memory is very full and there is no space to record new pictures on the phone. That is why we should not forget to write separate cases according to the permissions and memory states that the user gives to the application.
Another important issue that we should pay attention to when running mobile application tests is the safe protection of information. Let’s say we’re testing a Photoshop-like app. The app has just been developed and has version 1.0.0. Let’s consider that over time, new features have been added to the application and some bugs have been fixed. Now our app is ready for version 1.1.0. When the user wants to download/update the new version, they should never lose the application data that they are currently using. At this point, the user must allow the application for backup. When preparing our test cases, we must test how the user behaves in cases where they allow backup. Besides, some users may not update the new version of the app immediately. We must not forget these situations.
Tools and Device Trails for Mobile App Tests
There are a lot of models on the market at different resolutions, different software, and hardware. New mobile phone models continue to be produced continuously. Companies have to constantly purchase every new model for mobile tests. This situation causes very serious financial losses in the companies. Therefore, platforms that can provide a real phone environment have been developed. We can complete the tests that need to be done with the real device through the device farm. In device tracks, mobile and internet applications developed regardless of the platform can be tested on devices of numerous different brands and models and necessary improvements can be detected.