Compatibility Testing

Go back to Tutorial

Compatibility testing, part of software non-functional tests, is testing conducted on the application to evaluate the application’s compatibility with the computing environment. Computing environment may contain some or all of the below mentioned elements:

  • Computing capacity of Hardware Platform (IBM 360, HP 9000, etc.)
  • Bandwidth handling capacity of networking hardware
  • Compatibility of peripherals (Printer, DVD drive, etc.)
  • Operating systems (MVS, UNIX, Windows, etc.)
  • Database (Oracle, Sybase, DB2, etc.)
  • Other System Software (Web server, networking/ messaging tool, etc.)
  • Browser compatibility (Firefox, Netscape, Internet Explorer, Safari, etc.)

Browser compatibility testing can be more appropriately referred to as user experience testing. This requires that the web applications are tested on different web browsers, to ensure the following:

  • Users have the same visual experience irrespective of the browsers through which they view the web application

In terms of functionality, the application must behave and respond the same way across different browsers.

A significant part of software testing life cycle (STLC), compatibility testing is a non-functional testing technique, which is generally performed to validate and verify the compatibility of the developed software product or website with various other objects, such as other web browsers, hardware platforms, users, operating systems, etc. Performed during the early stages of quality assurance, compatibility testing enables the team to ensure that the compatibility requirements, requested by the client, are fulfilled and inbuilt in the end product.

Furthermore, compatibility testing enables the team to deliver a software product that works seamlessly across various configurations of the software’s computing environments and offers consistent experience and performance across all platforms and to all users.

Categories of Compatibility Testing

As stated earlier, compatibility testing is a type of testing that allows a software to work appropriately across and with various devices and platforms, which further helps the team to deliver a software that offers impeccable performance and user experience. Moreover, this type of testing can be categorized into 8 different categories, which are mentioned below:

  • Hardware Compatibility Testing: The hardware compatibility testing validates the compatibility of the software with various other hardware configurations and ensures its accuracy.
  • Operating System Compatibility Testing: During this type of compatibility testing, the software compatibility is tested with different operating systems, such as Mac OS X, Windows, UNIX, etc.
  • Software Compatibility Testing: This type of testing is implemented to check the compatibility of the software with different software.
  • Network Compatibility Testing: While performing network compatibility test, the team evaluates the performance of a system in a network with varying parameters, such as bandwidth, operating speed, capacity, etc. Additionally, it verifies the application in different networks with the assistance of these parameters.
  • Browser Compatibility Testing: In this type of testing, the team verifies whether the built software or website is compatible and works properly with various browsers like IE, Google Chrome, Mozilla Firefox, etc.
  • Devices Compatibility Testing: This is done to check the software’s compatibility with different devices such as printers, scanners, bluetooth, and USBs.
  • Mobile Compatibility Testing: Mobile compatibility test checks the compatibility of the software product with various mobile devices of different operating systems and sizes, such as iOS, Android and more.
  • Software Version Testing: With the assistance of version compatibility test, the team verifies whether the software application is compatible with different versions of the software.

Types of Compatibility Testing

To ensure the compatibility of the built software product with various versions and platforms, two types of compatibility testing is used by the team of testers- backward compatibility testing and forward compatibility testing.

Backward Compatibility Testing: During the process of backward compatibility testing, the team verifies if the developed software or hardware product is compatible with older platforms or not. This type of testing is also known as downward compatible and is more predictable than forward compatibility testing, as all the dynamics of the potentially compatible platforms are known to the team in this case of testing.

Forward Compatibility Testing: Forward compatibility testing or forward compatible is a process of verifying and testing the developed software or hardware to ensure whether it is compatible with future versions of other platforms or not. However, forward compatibility testing is harder to execute than backward compatibility testing, as all the dynamics are not always known to the team members in this type of testing.

Compatibility Testing Process

The process of compatibility testing is an easy one and can be executed manually or with the assistance of numerous compatibility testing tools available in the industry. This process involves four important stages, which are:

Platform/Environment Identification: The initial step of the process is to identify and define the set of platform and environments that the application has to work on.

  • Design Test Cases & Configuration: During this stage of the process, different test cases and configurations are designed by the team. The testers performing this task should be experienced and must have in-depth knowledge of various platforms, versions, hardware, etc., to understand the workings of the application under various configurations.
  • Establish Test Cases & Environment: After designing the necessary test cases, the team works together to establishes the environment for testing, wherein the compatibility of the software will be tested and verified.
  • Results Analysis & Reporting: Finally, the test is executed and the results are analyzed. Any defect, issue, bug, or discrepancies noticed by the team during this phase is recorded and reported to the responsible individual for rectification.
  • Rectification & Retesting: During this last stage of the process, the responsible team rectifies and resolves the issue and retests the software, to validate the accuracy of the process.

Go back to Tutorial

Share this post
[social_warfare]
Usability Testing
Error Handling Testing

Get industry recognized certification – Contact us

keyboard_arrow_up