Browse Definitions :
Definition

compatibility test

A compatibility test is an assessment used to ensure a software application is properly working across different browsers, databases, operating systems (OS), mobile devices, networks and hardware. Compatibility testing is a form of non-functional software testing -- meaning it tests aspects such as usability, reliability and Performance -- that is used to ensure trustworthy applications and customer satisfaction.

Compatibility tests are crucial to the successful performance of applications. They should be performed whenever a build becomes stable enough to undergo testing.

Types of compatibility tests

There are two major types of compatibility tests: backwards compatibility testing and forward compatibility testing.

Backward compatibility testing, also known as downward compatibility, is the testing of older versions of the application or software to verify its successful performance with newer hardware/software.

Backward compatibility tests are important because some users may operate the application on old devices. Backward compatibility testing can be used to ensure new builds can still run on old devices or operating systems.

Forward compatibility testing is the assessment of an application or software in upcoming or new versions of hardware/software to verify the performance of the existing hardware/software with the newer build.

These two types of compatibility testing will also include several, more specific categories of testing. These categories are:

  • Version testing - Ensures the software application is compatible with different versions of the software.
  • Browser testing - Also known as cross-browser testing, this assessment ensures the software application performs properly across different browsers -- such as Google Chrome, Firefox, Safari and Internet Explorer -- as well as across browsers on different devices -- such as laptops, iPhones, Androids and tablets.
  • Hardware testing - Assesses the performance of the software application with various hardware configurations.
  • Software testing - Tests the developed software application to ensure its successful performance with other software. This includes scenarios such as a Microsoft Word application's compatibility with Microsoft Outlook or Excel and vice versa.
  • Network testing - Assesses the performance of the software application in different networks, such as 3G, 4G and Wi-Fi.
  • Device testing - Ensures proper performance of the software application with different devices, such as USB port devices, printers, scanners and Bluetooth.
  • Mobile testing - Checks if the software application performs with different mobile devices and their various platforms, including iOS and Android OS.
  • OS testing - Confirms the software application performs appropriately with different operating systems, such as Linux, Mac and Windows.

How compatibility tests work

Before beginning a compatibility test, the set of environments or platforms the application is expected to work on should be defined. A test plan should be developed to determine the most important issues faced by the application so priority can be given to these tests and less important ones can be set aside.

Depending on the product that is intended for testing, environments must be set up to simulate the end user's experience -- such as desktops, smartphones, laptops and tablets -- to ensure the results of the test resemble what a user would encounter. It is important that the tester has sufficient knowledge of the various software, hardware and platforms that are tested to know what the expected behavior is with the various configurations.

Once the proper environments are set up, the various categories of tests can be run. All bugs that are found should be reported so defects can be fixed. Re-tests should then be run to ensure all defects have been successfully resolved.

Possible testing defects

Some possible defects that could be found during the compatibility testing process include:

  • Changes in font size
  • Changes in the user interface (UI) such as look and feel
  • Changes in cascading style sheets (CSS) style and color
  • Issues with the scroll bar
  • Issues with content alignment
  • Overlapping content or labels
  • Broken frames or tables

Importance of compatibility tests

Compatibility tests are important because they confirm the successful performance of a software application across all platforms, ensuring every customer will have a positive experience no matter what environment they use.

Defects can greatly hinder an end user's experience due to inconsistencies between areas like different software versions, internet speeds, configuration and resolution. Therefore, it is necessary to assess the application in all possible ways to reduce the risk of any failures and possible embarrassment for leaking an application with bugs.

Compatibility testing tools

Various tools have been developed to ease the compatibility testing process. Virtual desktops assist in OS compatibility testing by allowing testers to run the application in various operating systems as virtual machines (VM). Multiple systems can be connected and compared to produce the best results.

A large range of browser compatibility tools have also been developed. These include:

  • BrowserStack
  • LambdaTest
  • CrossBrowserTesting
  • BrowseEmAll
  • TestingBot
  • Browserling
  • MultiBrowser
  • BrowserSandbox
  • Experitest
  • Functionize
  • Browsershots
This was last updated in July 2019

Continue Reading About compatibility test

Networking
  • local area network (LAN)

    A local area network (LAN) is a group of computers and peripheral devices that are connected together within a distinct ...

  • TCP/IP

    TCP/IP stands for Transmission Control Protocol/Internet Protocol and is a suite of communication protocols used to interconnect ...

  • firewall as a service (FWaaS)

    Firewall as a service (FWaaS), also known as a cloud firewall, is a service that provides cloud-based network traffic analysis ...

Security
  • identity management (ID management)

    Identity management (ID management) is the organizational process for ensuring individuals have the appropriate access to ...

  • fraud detection

    Fraud detection is a set of activities undertaken to prevent money or property from being obtained through false pretenses.

  • single sign-on (SSO)

    Single sign-on (SSO) is a session and user authentication service that permits a user to use one set of login credentials -- for ...

CIO
  • IT budget

    IT budget is the amount of money spent on an organization's information technology systems and services. It includes compensation...

  • project scope

    Project scope is the part of project planning that involves determining and documenting a list of specific project goals, ...

  • core competencies

    For any organization, its core competencies refer to the capabilities, knowledge, skills and resources that constitute its '...

HRSoftware
  • recruitment management system (RMS)

    A recruitment management system (RMS) is a set of tools designed to manage the employee recruiting and hiring process. It might ...

  • core HR (core human resources)

    Core HR (core human resources) is an umbrella term that refers to the basic tasks and functions of an HR department as it manages...

  • HR service delivery

    HR service delivery is a term used to explain how an organization's human resources department offers services to and interacts ...

Customer Experience
  • martech (marketing technology)

    Martech (marketing technology) refers to the integration of software tools, platforms, and applications designed to streamline ...

  • transactional marketing

    Transactional marketing is a business strategy that focuses on single, point-of-sale transactions.

  • customer profiling

    Customer profiling is the detailed and systematic process of constructing a clear portrait of a company's ideal customer by ...

Close