What is Compatibility Testing?

Compatibility testing checks whether software can run on different hardware, operating systems, applications, network environments, or mobile devices.

It is a type of Non-Functional Testing.


Types of Compatibility Testing

Hardware

Checks that the software is compatible with different hardware configurations.

Advertisement

Operating Systems

Checks compatibility with different operating systems such as:

  • Windows
  • Unix
  • Mac OS

Software

Checks that the developed software is compatible with other software.

Example:

MS Word should be compatible with:

  • MS Outlook
  • MS Excel
  • VBA

Network

Evaluates system performance across networks with varying parameters such as:

  • Bandwidth
  • Operating speed
  • Capacity

Browser

Checks your website's compatibility with various browsers, including:

  • Firefox
  • Google Chrome
  • Internet Explorer

Devices

Checks compatibility with different devices such as:

  • USB devices
  • Printers
  • Scanners
  • Other media devices
  • Bluetooth devices

Mobile

Checks whether the software is compatible with mobile platforms such as:

  • Android
  • iOS

Versions of the Software

Verifies compatibility with different versions of the software.

Example:

MS Word with:

  • Windows 7
  • Windows 7 SP1
  • Windows 7 SP2
  • Windows 7 SP3

Tool

BrowserStack helps a software engineer check an application in different browsers (Browser Compatibility Testing).


Backward vs Forward Compatibility Testing

Backward Compatibility Testing

Verifies the behavior and compatibility of the developed hardware or software with its older versions.

It is much more predictable because all changes from previous versions are known.

Forward Compatibility Testing

Verifies the behavior and compatibility with newer versions of the hardware or software.

It is harder to predict because the changes in newer versions are not yet known.

Backward Compatibility Testing

Checks Against

  • Older versions

Predictability

  • Predictable (known changes)

Forward Compatibility Testing

Checks Against

  • Newer versions

Predictability

  • Hard to predict (unknown changes)

Globalization vs Localization Testing

Globalization Testing

Performed to ensure the application can run in any culture or local environment, independent of geographical and cultural conditions.

It checks whether the application has features to:

  • Set and change language.
  • Change date format.
  • Change currency.

It also verifies whether the application is designed for global users.

Localization Testing

Performed to ensure the application can run for a specific culture or locality.

It verifies a globalized application for a particular locality of users and their cultural and geographical conditions.

Example:

An application developed for a particular country.

Globalization Testing

Scope

  • Any culture / Global environment

Checks

  • Language
  • Date format
  • Currency settings for global use

Localization Testing

Scope

  • A specific culture / Locality

Checks

  • Behavior for one particular locality

Web, Desktop, and Client-Server Application Testing

Standalone / Desktop Testing

The application is installed on a standalone machine and can be accessed by only one user at a time.

It is also known as Standalone Application Testing.

Examples:

  • MS Excel
  • MS Word
  • Calculator

Client-Server Testing (Two-Tier)

The application is preinstalled on the client's desktop or laptop.

The client sends a request to the server.

The server returns the required information.

It is also known as Two-Tier Application Testing.

Examples:

  • Email
  • FTP

Important Types of Testing Performed

Web Application Testing (Three-Tier)

A web application runs directly in a web browser.

The browser sends requests to the web server.

The web server sends requests to the database.

The database responds to the web server.

The web server then sends the response back to the browser.

It is also known as Three-Tier Application Testing.

Examples:

  • Yahoo
  • Facebook

Desktop / Standalone

Environment

  • Single machine

Users

  • One user at a time

Examples

  • MS Excel
  • Calculator

Client-Server

Architecture

  • Two-tier

Communication

  • Client ↔ Server

Examples

  • Email
  • FTP

Web Application

Architecture

  • Three-tier

Communication

  • Browser ↔ Web Server ↔ Database

Examples

  • Yahoo
  • Facebook

Mobile Testing

It is also known as Mobile Application Testing.

Testing performed on applications developed for supported mobile devices.

Example:

Testing the Amazon app.


Installation & Un-installation Testing

Installation Testing

Checking whether we are able to install the software successfully as per the guidelines given in the installation document.

Un-installation Testing

Checking whether we can successfully uninstall the software from the system.


FAQs

1. What is Compatibility Testing?

A Non-Functional Testing type that checks whether software can run correctly on different:

  • Hardware
  • Operating Systems
  • Browsers
  • Networks
  • Devices
  • Mobile platforms

2. What are the types of Compatibility Testing?

  • Hardware Compatibility
  • Operating System Compatibility
  • Software Compatibility
  • Network Compatibility
  • Browser Compatibility
  • Device Compatibility
  • Mobile Compatibility
  • Software Version Compatibility

3. What is the difference between Backward and Forward Compatibility Testing?

Backward Compatibility Testing

Checks the software against older versions.

It is predictable because previous changes are already known.

Forward Compatibility Testing

Checks the software against newer versions.

It is harder to predict because future changes are unknown.


4. What is the difference between Globalization and Localization Testing?

Globalization Testing

Ensures the application works in any culture or environment.

Localization Testing

Ensures the application works correctly for one specific culture or locality.


5. What is the difference between Two-Tier and Three-Tier Application Testing?

Two-Tier (Client-Server)

A client communicates directly with a server.

Three-Tier (Web Application)

A browser communicates with a web server, which communicates with a database.


6. What is Desktop/Standalone Application Testing?

Testing an application installed on a single machine and used by one user at a time.

Examples:

  • MS Word
  • Calculator

7. What is Installation Testing?

Checking whether the software installs successfully according to the installation document.

Un-installation Testing verifies that the software can be removed successfully.


8. What is Mobile Testing?

Also called Mobile Application Testing.

It involves testing applications developed to run on supported mobile devices.

Example:

Amazon app testing.