In the modern information society, mobile apps have become an integral part of our digital lives. They help us to simplify many aspects of our daily lives, from communication to entertainment. However, to ensure that these apps work efficiently and reliably, they must be carefully tested. This is where mobile testing becomes extremely important.
Top questions at a mobile testing interview for beginners
- 27.02.2024
- Posted by: Admin
Definition, types, and functions of mobile testing
1. What is mobile application testing?
Mobile application testing is the process where an application designed for mobile devices is tested for functionality, usability, and consistency. Testers can test mobile apps manually or automatically.
2. Why is testing mobile apps an important part of business today?
Testing is an integral part of every software development process. A mobile application is no different: the growing number of mobile devices leads to significant fragmentation of operating systems, screen sizes, etc. For that reason, QA teams work hard to ensure a smooth user experience across multiple mobile devices without functional errors or issues. After performing thorough testing, the development team can increase the app's ratings along with customer satisfaction for even more downloads.
3. What is the difference between mobile device testing and mobile application testing?
Mobile device testing is usually performed to check the quality of mobile devices. The process involves testing the hardware and software. These tests are usually performed to check such functions as calling, SMS, memory, camera, media player, built-in browsers, etc.
Testing of mobile applications. This type of testing involves functionality, performance, usability, security, load, and other types of testing. This helps to determine the quality of the application, whether it is compatible with the device, or whether it has the right hardware, software, and network connections, etc.
4. What are the types of mobile applications?
There are three types of mobile applications:
Native Application – a program created in a specific programming language for a specific device platform (iOS or Android). It is easily installed on a device and can be downloaded from an app store (Google Play for Android and App Store for iOS), for example, WhatsApp or Facebook.
Web Application runs in a mobile web browser, such as Chrome, Firefox, Opera, or Safari, via a mobile network or WIFI. For example, m.facebook.com, m.gmail.com, etc.
A Hybrid Application is a combination of a native application and a web application. While this type of application can be installed on a device just like a native app, it is a web-based application that is built by using HTML, CSS, or JavaScript and runs in a web browser.
5. What different approaches to mobile app testing do you know?
There are two main approaches: manual testing and automated testing.
Manual testing is a process performed by a person and focuses mainly on user experience. It is a time-consuming process because it takes a lot of time for bugs to occur and be detected.
Automated testing is used for repetitive testing tasks such as regression and performance testing. With this tool, testers can quickly find bugs, defects, or vulnerabilities in programs that have been recently updated.
6. What are the different types of mobile app testing?
Functional testing: tests whether the program works properly. This is a type of black box testing.
Usability Testing: It evaluates how intuitive and easy it is to use the application and also identifies any errors to improve interactions with the user.
Compatibility Testing: It determines whether the program is compatible with different OS, different network environments, and with the specifications of certain hardware.
Performance Testing: It tests how well the application performs and behaves under different loads. In this test, the application runs steadily until it reaches a threshold point (the point after which the application cannot handle the load).
Installation Testing: This is used to ensure that applications are properly downloaded, installed, and uninstalled and that new updates are processed smoothly.
Security Testing: The application behavior is tested during various requests for device permissions, and also the user's data privacy is prioritized.
Storage Testing: apps are tested based on how well they handle storage-related functions and how they behave when the device has no or little memory.
7. What problems do testers usually encounter when testing mobile applications?
- Executing test cases with different operating systems.
- Testing application functions using a wide range of phones.
- Screen size fragmentation.
- Testing applications with different mobile networks.
- Different application types (native, hybrid, or web apps) require different testing methods.
- Choosing the right mobile testing tool for a QA team.
Performing mobile testing
8. What is the difference between a simulator and an emulator?
Simulators and emulators are virtual devices that look and work like phones but are not real. Emulators imitate the hardware/software and OS of mobile applications, while a simulator is used to simulate the basic behavior of the device, not the hardware/OS.
Simulator |
Emulator |
Designed to imitate the internal behavior of a mobile phone. | Emulates/imitates the hardware and software functions of the device. |
They are generally used when testing the internal behavior of a device, such as its hardware, firmware, etc. | They are most suitable for testing the interaction between software and the main hardware or a combination of both. |
Difficult to debug. | Easier to debug. |
9. How to check CPU usage on mobile devices?
Several tools are available on Google Play or the App Store for testing CPU usage, such as CPU Monitor, CPU Stats, Usemon, CPU-Z, etc. These tools record information about the processes running on the device.
10. What are the main networks that should be considered when testing an application?
Application performance testing should cover all scenarios in different networks: 4G, 3G, 2G, and WIFI. Even though 2G is a slower network, it is better to test it as well to monitor the app's performance.
11. What criteria should be included in the sanity testing of a mobile application?
- Installation and removal of the application.
- Performance on different available networks: 2G, 3G, 4G, 5G, or Wi-Fi.
- Functional testing.
- Testing interruptions.
- Compatibility testing.
- Application performance on other phones.
- Application behavior when entering invalid credentials.
12. What is the best way to test different screen sizes?
The most efficient way to do this is to use an emulator.
13. What are the most common bugs found when testing mobile devices?
Critical bugs: the device's operating system crashes during the testing of a certain function of the application.
Block bugs: make it impossible to fix other bugs. For example, the app doesn't respond even when the device is on.
Major bugs: A particular program feature cannot operate.
Minor bugs: Unexpected or undesirable program behavior, which is not enough to cause a system crash. For example, GUI (graphical user interface) errors.
14. When should a QA team use manual or automated testing for their mobile test projects?
Manual testing:
- new functionality is added;
- testing is required only once or twice, and there is no need for frequent repetitions.
Automated testing:
- the release cycle requires a lot of regression testing;
- testing the application requires complex scenarios.
15. What are the most common problems that testers face when testing mobile devices in Cloud Computing?
- problems may occur due to the Subscription model;
- high cost;
- difficulties in automating mobile testing.
16. What do you need to remember when testing programs with the Black Box testing method?
- compatibility of the program with several devices;
- proper connection and disconnection of the device when changing the IP or port address;
- the ability to call and send messages to other devices;
- compatibility with multiple browsers (Chrome, Firefox, Opera, etc.).
Mobile testing frameworks and tools
17. What is an Android testing framework?
One of the standard testing frameworks for Android applications is the Android testing framework. It is divided into three segments:
Application Package
This is the target application to be tested.
Instrumentation Test Runner
This component of the framework provides a test runner function that allows you to run tests in the target application. It consists of two parts: an SDK tool for testing the build; and a tool that provides an API for writing a program that controls an Android device or an emulator outside of Android codes (for example, MonkeyRunner).
Test Package
It has two components: test case classes and mock objects. Test case classes are test methods for running the target program, while mock objects include mock data used as sample input for test cases.
18. What is the Robolectric testing platform?
It can be challenging to test an Android application on a device or emulator. Usually, it takes a lot of effort and time to create tests. To solve this problem, a robotic testing system is considered. Using the Robolectric framework, Android tests can be run directly on JVMs (Java Virtual Machines) without the need for a device or emulator. Therefore, there is no need to set up anything additional to run Android tests in the development environment.
19. What is the most recent version of iOS?
The last version of iOS and iPadOS – 14.0: https://support.apple.com/en-us/HT201222#:~:text=The%20latest%20version%20of%20iOS,version%20of%20macOS%20is%2010.15.
20. What is Android's latest version?
The latest version of Android is 12.0. The initial Android 12.0 version was released on February 18, 2021 on Google Pixel devices:
21. What is the extension of Android files?
.apk (Android application package)
22. What is the extension of iOS files?
ipa (iOS App Store Package) file is an iOS application archive file that stores an iOS application.
23. Let's say you need to test a mobile application. What technical criteria should you consider when choosing a test automation tool?
- Availability;
- multi-platform support;
- script usability;
- Jailbreak requirement;
- source code changes;
- deadline for the release of a new OS version.
24. What types of automation means are available for mobile devices?
Object-based mobile testing tools: this approach does not depend on the screen size and is mainly used for Android devices (Jama, Ranorex, etc.).
Image-based mobile testing tools: generate automation scripts based on screen coordinates (RoutinBot, Egg Plant, Sikuli, etc.).
25. Name a few testing tools that are compatible with Android and iOS mobile devices.
Testing tools for Android mobile devices:
- Robotium
- UI automator
- Selendroid (Selenium for Android)
- Testing tools for iOS mobile devices:
- KeepItFunctional
- iOS Driver
Testing tools that can be used for both Android and iOS mobile devices:
- Katalon
- Apptim
- 21
- Kobiton
- Appium
- MonkeyTalk
- Ranorex Studio
- eggPlant
26. What is a mobile penetration test?
A penetration test (pentesting) reveals any security flaws in iOS and Android applications. The main goal is to improve the security of mobile applications, APIs, web platforms, and web services used by them. The test checks all the elements that contribute to the functioning of the application, for example:
- the application itself;
- APIs (or web services) that exchange and provide data;
- the server that hosts the API;
- network interfaces of the program;
- user data.
Planning and strategy of mobile testing
27. What types of mobile testing should be included in an Android testing strategy?
A typical Android strategy might include the following types of testing: unit testing, system testing, integration testing, and performance testing depending on the features available in the tested mobile application. Apart from that, other types of tests could be performed as needed, depending on the functions of the application.
28. What strategy is used for testing a new mobile application? What types of testing should be included?
Selection of devices. Before choosing a set of test devices, it is necessary to analyze the market demand and take into account the devices that are commonly used (it may depend on the interests of stakeholders or app developers).
Using emulators. It is a useful tool, especially in the early stages of development, because it helps to quickly test the program. This is a system that runs software from one environment to another without changing the software itself. It also duplicates the functions and works in the real system.
Types of testing:
- Functional testing.
- System integration testing.
- Installing and uninstalling the program.
- HTML control testing.
- Performance testing.
- Multiple mobile OS testing.
- Cross-browser and cross-device testing.
- Testing the gateway.
- Network and battery testing.
29. What criteria should be considered when planning end-to-end mobile testing?
In the process of end-to-end mobile testing, QA teams check the entire app from start to finish to verify that the flow of the app is working properly. During these steps, it is necessary to consider a number of critical requirements:
- Is the app successfully installed on different models of mobile devices, gadgets, and operating systems?
- Does the application run without errors both with and without a network?
- What orientations does the app support and do they work?
- Does the application work well on different types of devices and in network scenarios?
- What is the responsiveness of the app (speed and response time)?