Compatibility Testing of Mobile Software

Compatibility Testing of Mobile Software
February 12 10:00 2014 Print This Article

Note: the article was updated in November 2018.

Nowadays, the variety of mobile devices, OS, and platforms available on the market is astonishing. Therefore, there is a particular challenge for mobile software developers as the product should provide a seamless user experience at any device or platform. More about mobile market you can find here.

That’s why, compatibility testing became an essential step in Quality Assurance of mobile software.

Mobile compatibility testing is a kind of non-functional testing conducted on numerous mobile devices. Its aim is to ensure that the software works properly on the devices with different:

  • screen resolutions (720×1280, 1080×1920, 750×1334, 1440×2960, 640×1136, etc.)
  • manufactures (Xiaomi, Samsung, Apple, Huawei, and others)
  • operating systems (Android, IOS, Windows 10 Mobile, Blackberry, Symbian, Palm OS, etc.)
  • RAM (1GB, 2GB, 3GB or more)
  • connectivity options (2G, 3G, 4G, Wi-Fi)

The best time to conduct compatibility testing is right after the functional one. When functional testing is completed and all the functionality is checked on at least one single device, it is time to try an application on a bunch of other devices.

Compatibility testing should have a strong focus on UI testing, traversal and stability testing, resolution compatibility, installation and launching process, interruptions handling, and battery impact testing.

Among most common compatibility issues, there are:

  • alignment problems
  • CSS style changes
  • broken frames
  • distorted tables
  • bad navigation
  • too big or too small fonts and elements
  • functionality issues
  • installation and upgrade problems

Techniques and tools

When performing mobile compatibility testing both automated and manual approaches are used. Among popular mobile compatibility tools there are:

  • CrossBrowserTesting
  • ClearCase
  • BrowserStack
  • Browsera
  • Litmus
  • Ghostlab

But still, manual testing is considered more appropriate, as you can perform all the actions that an ordinary user would perform using the app.

Emulator or real device?

As far as it is impossible to run the application on every existing device some testing teams use so-called emulators. Emulator is an application installed on the computer, which imitates a certain mobile device environment.

Pros of emulators:

  • easy to install and use
  • a lot of free emulators available

Cons of emulators:

  • deviations in behavior from real devices
  • slower performance
  • impossible to check battery usage, interruptions, network issues, etc.

Tips on compatibility testing

Among one of the most common mistakes in compatibility testing strategy, there is an attempt to test for 100% compatibility. But such an approach leads to long and consuming testing phase.

To avoid this, try to prioritize some devices and conduct compatibility testing only on them.

For example, it is ok to cover 90% of your user base and provide other 10% with guidance and tech support in case of problems. You can even disable your app to be installed on old or uncommon operating systems.

The same can be said about forward or backward compatibility testing. There is no need to spend a lot of time checking very old platforms, that would probably soon disappear. It is enough to focus on two/three generations of devices.

One more good practice is to create a coverage matrix – a table where you can list all possible configurations and prioritize some of them.

Having a large park of mobile devices, QATestLab is able to perform compatibility testing with wide test coverage.

Related Posts:

About Article Author

view more articles
Nataliia Vasylyna
Nataliia Vasylyna

View More Articles