Testing for App Interactions with Device Software

Testing notifications

The operating system uses various mechanisms to display notifications. Sometimes the operating system will either delay the notifications or fail to display them to optimize power consumption. The following test conditions must be considered:

  • The correct handling of notifications received when the app is in the foreground or background, especially under low battery conditions.
  • If notifications allow direct interaction with the app content, the user interaction must be provided by the app at a later time.
  • If notifications allow access to the app, then the corresponding page of the app must be opened instead of the home screen when the notification contains a deep link to that page.
Testing quick-access links

Quick-access links such as app shortcuts in Android and Force-touch or 3D-touch for iOS may be provided by the software under test. These features perform a subset of the application functionality from the home screen without launching the entire app.

Testing user preferences provided by the operating system

Any preferences provided to users by the operating system must be tested. It creates a negative user experience if the app does not respect a specific preference setting. For example, if the device is on silent, the app should not play sounds.

Testing different types of apps

Specific tests may be performed depending on the type of mobile app. The following test conditions must be considered:

Native Apps

Device compatibility

Utilization of device features

Hybrid Apps


Interaction of the app with the device’s native features

Potential performance issues due to the abstraction layer

Web Apps

Utilization of OS features

Testing to determine cross-browser compatibility

Usability compared to native apps.

Functionality is not impacted due to various JavaScript engines

Testing interoperability with multiple platforms and operating system versions

Software companies often support apps on multiple operating systems. Each mobile operating system has limitations that must be considered when testing apps. Testers must be aware of the specifics of each platform tested to ensure the app works as intended while still conforming to the look and feel of the platform.

Testing interoperability and co-existence with other apps on the device

It is common for apps to interact with each other when installed on a device. Typical examples are the contact and email apps.

With millions of apps in the market, co-existence cannot realistically be tested for all of them. Nevertheless, potential issues should be considered and tested according to risk.

Testing Various Connectivity Methods

Mobile devices can use various methods to connect to networks. These include cellular networks such as 2G, 3G, 4G, and 5G, as well as Wi-Fi and other wireless connection types such as NFC or Bluetooth.

In real-world usage, connectivity methods differ. Users can be continuously connected using one particular mode or switch between modes, such as from Wi-Fi to cellular. Users can switch between various Wi-Fi/cellular networks, versions, and GSM cells. While on the move, they may even hit dead spots with no network. Furthermore, the user can deliberately disconnect by, for example, switching to flight mode.