Back to Blog

Compatibility Testing: Types, Examples & Tools

Compatibility testing explained: the main types, worked examples, and the tools we recommend for checking your site across browsers and devices.

Yuriy Gerasymov
Yuriy Gerasymov
17 May 2022 · 9 min read

As technology advances faster than ever, software development needs aren’t focused on a single platform anymore. Today, each software is developed with the aim to run cross-platform. This is where the need for compatibility testing comes into play.

For the vast majority of software types, you have to test your website’s/application’s compatibility to run on a wide range of devices. How do you do that? How can you make sure that your users can move seamlessly across devices without their experience being hampered in any way?

This is what we’ll discover today. This is a more advanced overview of non-functional testing types. If you need an intro on non-functional testing types, click here.

Ready?

Let’s break down our discussion into the points we will be focusing on in this article. Moving on, we will answer the following questions:

  • What is compatibility testing?
  • What are the types of compatibility testing?
  • What are the recommended tools for compatibility testing?

Let’s start with the basics: what is compatibility testing?

Want to automate the visual side of compatibility testing? Try Diffy: it compares screenshots across browsers and screen widths. The free plan includes 500 screenshots a month.

What Is Compatibility Testing?

Compatibility testing is a type of non-functional testing. It is defined as the type of testing in which you test your software’s ability to run on a number of hardware, operating systems, networks, and mobile devices.

To get a better understanding, let’s look at an example.

Imagine you want to perform a test in order to identify which liquids sugar dissolves in. This will require putting sugar in a number of liquids like water, milk, tea, etc.

Compatibility Testing Information

The same goes for this type of testing. Whenever software is developed, the end-users will use it on various devices with different operating systems. Considering other factors, different devices will be connected to different network environments.

These are the aspects software compatibility testing focuses on.

What Makes Compatibility Testing Vital?

This type of testing ensures customer satisfaction and this factor alone cements its importance. How does it ensure customer satisfaction, you ask?

As the users of your application will use it on different devices, the application might be incompatible with a specific user’s device. This will lead to the disruption in access, and eventually, the end-user will uninstall your application. This means losing a potential customer.

If compatibility testing is performed (and if it’s performed right, of course!), you will be able to fix potential glitches on certain devices and avoid losing a customer. At the very least, you will be able to offer an accurate list of devices and operating systems your software runs on. Thus, even if you lose a customer, at least you won’t gain their anger in exchange.

Apart from that, testing an application for compatibility also reduces the burden on your customer support team. Whenever a user faces a compatibility issue, they are most likely to call customer support. However, if you have handled the incompatibility scenarios in the compatibility testing cycle before deployment, you can easily save time and money spent on customer support.

Furthermore, an application that doesn’t have compatibility issues is expected to attract more users. An increased number of users means more potential customers, leading to increased revenue generation. Yes, it’s all about revenue in the end. So you could say that compatibility testing can bring you money.

What Are the Types of Compatibility Testing?

Like non-functional testing, compatibility testing is further segregated into a number of types. These include:

  • Hardware compatibility testing
  • Network compatibility testing
  • Operating system compatibility testing
  • Device compatibility testing
  • Mobile compatibility testing
  • Browser compatibility testing
  • Software compatibility testing
  • Version compatibility testing

What Is Hardware Compatibility Testing?

Hardware compatibility testing tests a software’s ability to work on a number of hardware configurations. To complete this phase, you need to set testing environments with different hardware configurations and monitor the application’s behavior in each of them.

What Is Network Compatibility Testing?

In a network compatibility testing cycle, an application is tested after connecting the testing device with several networks. For instance, you will check the application’s behavior on Wi-Fi and cellular data networks like 4G and 5G.

This helps the testing team identify the way two important metrics (bandwidth and speed) affect the functioning of your application.

What Is Operating System Compatibility Testing?

Operating system compatibility testing is a type of test in which an application is tested by running it on different operating systems. For instance, if you are testing a mobile application, you will test it on Android and iOS to verify its response on both the operating systems. Considering a website, you will test it by running it on Windows, macOS, and several Linux distributions.

What Is Device Compatibility Testing?

Testing software for device compatibility involves checking its behavior on several devices including mobile phones, tablets, laptops, and desktop systems. Although most of the users use mobile phones for internet access, this part of testing remains of critical importance as you can never anticipate how end-user preferences change.

Therefore, if you are testing a website, you will run it on desktop systems, laptops, mobile phones, and tablets.

What Is Mobile Compatibility Testing?

Mobile compatibility testing involves verifying an application’s behavior on various mobile devices. Unlike device compatibility testing, this type of testing refers only to mobile devices. If your app is a mobile one, you can skip the testing above and focus on this one alone.

Different mobile phones have different operating systems. Therefore, testing your application for this type reveals its behavior on Android and iOS operating systems as well. Although there is a huge range of devices in the market, a look at the market stats makes it easier to gather the mobile devices you need to perform this testing on.

What Is Browser Compatibility Testing?

In a browser compatibility testing cycle, you test your website’s behavior on a variety of web browsers. Prominent web browsers include Chrome, Safari, Firefox, and Edge.

Testing the website on different web browsers provides meaningful stats on how well it works and whether the user experience changes from browser to browser or not. Moreover, this also tells you the ideal configuration to access your website. You can display a message popup on your landing page to tell visitors about the web browser they should use if they want a seamless experience.

Usually, however, the aim of any app or website is to work flawlessly on any browser. So, instead of asking users to change their browsers, you should consider improving your website to offer a better experience across all popular browsers.

But how can you make sure that your website runs properly on *all *browsers? This is a question we get asked frequently at Diffy. Our answer is that you don’t have to test on every possible browser.

Instead, take a deep dive into your Analytics account to identify combinations of operating systems, browsers, and versions based on your users’ preferences instead of investing too much into covering some edge cases.

Diffy can help with the visual side of this: it takes screenshots in Chrome or WebKit (the engine behind Safari) at the screen widths you choose, so you can compare layouts across browsers and breakpoints in one run. Try it free.

What Is Software Compatibility Testing?

Software compatibility testing tests a system for compatibility with other software. During this type of testing, you will be looking at how your application behaves and how well it responds while communicating with other software.

For instance, if your application allows the user to download a file in PDF format, that downloaded file should open in Adobe Acrobat. Similarly, if your application has an exportable grid view, the exportable view should open in Microsoft Excel.

Another example could be how your website works with AdBlock enabled or some other popular plugins.

What Is Version Compatibility Testing?

To perform this version compatibility testing, you need to test your software on multiple versions of an operating system and a web browser. This is further segregated into backward compatibility testing and forward compatibility testing.

Backward compatibility testing tests an application on older versions of an OS and web browser (remember that not all users make upgrades on time!), while forward compatibility testing tests an application on the upcoming versions of an OS and web browser.

For instance, if you are testing a mobile application, you will test it on both Android and iOS. While testing on Android, you will test it on Android 9 and Android 10. Similarly, you will test the application on iOS14 and iOS15.

Now that we have covered the types of compatibility testing, let’s move forward to the recommended tools.

Checking How Your Site Looks Across Browsers and Screen Sizes

Most compatibility bugs on websites are visual: a layout that wraps differently in Safari, a menu that overlaps content at one screen width, a font that renders larger on one operating system. They’re easy to miss because nothing is technically broken.

Two habits catch most of them:

  • Test the widths where your layout changes, not just one mobile and one desktop size. Our responsive design testing guide lists the widths worth checking.
  • Compare screenshots between releases in more than one rendering engine. Chrome (Blink) and Safari (WebKit) render the same CSS differently in places, so if many of your visitors use iPhones or Macs, check WebKit as well.

Diffy takes screenshots in Chrome or WebKit at the screen widths you choose and highlights every difference between two versions of your site. It doesn’t replace real-device testing for touch, performance or native features, but it catches layout regressions across many pages in one run. See what visual regression testing is for how it works, how to capture screenshots that compare reliably for the practical side, and our round-up of visual regression testing tools if you are comparing options.

Some of the tools recommended by QA veterans for this type of testing include:

TestMu AI (formerly LambdaTest)

TestMu AI, known as LambdaTest until its 2026 rebrand, is a cloud testing platform for running live and automated tests on many browser and operating system combinations, including visual testing.

Ghostlab

Ghostlab by Vanamco synchronises browsing across several connected browsers and devices, so you can click through a site on all of them at once.

BrowserStack

BrowserStack is a cloud platform for testing on real browsers and devices, manually or with automation frameworks such as Selenium, Playwright and Cypress.

That’s a Wrap

A good part of compatibility testing can be automated. But this doesn’t mean that you don’t need strategic planning for it.

Factors like user experience and customer satisfaction are tightly tied to this type of testing. In order to devise a plan for this type of testing, you first need to develop an understanding of what is compatibility testing?

Once you have addressed this, you can not only devise a suitable plan but also save quite a lot of bucks. Savings combined with an effective plan is always a great way to boost your revenue.

Also, remember that each type of compatibility testing is equally important. Skipping one of them will be immediately reflected in the user experience. In other words, if you don’t take compatibility testing seriously, your users are going to know.

Want to automate the visual checks? Try Diffy: the free plan includes 500 screenshots a month and doesn’t need a credit card.

Related Articles

More guides on visual regression testing, QA automation, and keeping your site pixel-perfect as it changes.