Software Testing Knowledge Base
QA Madness Knowledge Base Testing types

What Is Compatibility Testing and How to Run It?

If you check the comments in a review of a mobile app, you often can find some angry users who cannot access an application from their devices. Similarly, even the most useful website loses visitors if it doesn’t work correctly on some smartphone models. Luckily, there is a way to prevent such issues: QA manual software testing services. Or, to be more specific, it’s compatibility testing services.

What Is Compatibility Testing in Software Testing?

Compatibility testing is a type of non-functional check-up meant to ensure that software runs seamlessly in different environments – in other words, is compatible with certain devices and applications installed on them.

There are several categories of software compatibility testing. Each focuses on a specific aspect of a device, for example:

  • OS compatibility testing checks how software behaves on different operating systems. There are two types of cross-OS tests:
  • Forward compatibility testing inspects a software product on the latest versions of OS.
  • Backward compatibility testing inspects a product behavior in older versions of OS.
  • Cross-browser testing aims to verify that a website or a web application is displayed correctly in all browsers and their versions.
  • Network compatibility testing shows how different kinds of network connections can affect software behavior.
  • Device compatibility testing is to check if the software works as supposed on devices by different manufacturers and with different specifications.

Checklists and Test Cases for Compatibility Testing

The way of testing a mobile application and a website for compatibility will vary because of the particularities of each digital product. Still, there are some things a compatibility test considers regardless of what kind of software is under test.

For example, when testing software functionality on different devices, a QA specialist will pay attention to the following things:

  • Buttons and links across the website/app.
  • Data entry, file download/upload functions.
  • API connections.
  • Validation of forms.
  • Layout in different browsers.
  • Availability of all features, etc.

The list of essentials will be more or less the same: we need to check a standard user journey and business-critical features first.

As for the used test cases, it depends on product functionality. Let’s say, we need to run a web app compatibility test and check whether a user can send an attached file to another user. This cross-browser test will feature the following steps:

  1. Log in to the user account.
  2. Go to the Messages section.
  3. Choose a recipient.
  4. Choose a file you want to attach.
  5. Click on the Attach File.
  6. Click on the Send.
  7. Check if the file has been successfully sent.
  8. Repeat with all of the target browsers.

Again, the details will vary depending on the web app logic, but the algorithm is understandable.

Best Cross-Browser Testing Practices

  1. Specify the target environments. First, you’ll have to decide on what platforms, devices, and browsers you want the software to run. Then, you can proceed to making a list of devices to use for testing.
  2. Specify the test objects. You can check the entire website or just some pages – it depends on deadlines and functionality in general.
  3. Use real devices. When it comes to smartphones, simulators and emulators are helpful at the early stages. However, to get accurate results, you need to test a product on real devices. Besides, you may consider checking the features once more after the product goes live, just in case.
  4. Test both old and new browsers. It would be good to have the relevant data on browser usage. In most cases, either a client or a Team Lead specifies the list in the Testing Strategy document. If the older widely-used browser versions are missing, ask if it’s correct, just in case.
  5. Rely on analytics. Be reasonable about what browsers and how many older versions to include in your testing plan. There used to be a lot of troubles with the way pages are displayed in Internet Explorer but given the number of active users.
  6. Verify the media content. If you use high-definition media on the website, whether those are images, GIFs, audio, or video, check whether all browsers are capable of displaying such content.

To Sum Up

By providing compatibility testing services, QA specialists help to make sure that a product will be available for a wide range of users, and a device one uses won’t determine their experience. It is essential to run compatibility tests on real devices because only physical smartphones let software testers understand how the software works in real-life conditions. For tips on how to choose devices for compatibility testing, check out one of our previous posts – How to Choose the Right Devices for Compatibility Testing?