What is Compatibility Testing in Software Testing?

Definition of Compatibility Testing?

Compatibility Testing
A non functional form of testing, compatibility test is used for checking how suited a software is, running on different operating systems, devices, networks and hardware. This testing technique, basically involves, testing of a software product, in a specified environment, comprising of certain hardware and software, so as to simulate, the actual and intended operative environment, for the functioning of the software product.

What are the different types of Compatibility Testing?

The types of compatibility testing are as many as the platforms on which it is required to be run:-

1.Hardware Compatibility Testing:

Whether the software will be well suited to run on a mainframe computer such as IBM 360 or a supercomputer like India's PARAM, hardware compatibility tests just that.

a).Operating System Compatibility Testing:

There are a number of operating systems not only desktop wise, but also on smart phones like Blackberry and android. Not all mobile apps work across different operating systems. For example, it took android a decade of running compatibility tests to release it's bbm app for android.

2. Software Compatibility Testing:

It checks how smoothly an application is working along with the other products in the system. Compatibility testing is run on paint application in Windows with others so that an image file generated in paint can be easily inserted into an MS-word document.

a) Network Compatibility Testing:

Under network compatibility, all parameters ranging from strength of network signal to bandwidth specified are evaluated for the efficient workability of the software under test.

b) Browser Compatibility Testing:

Today's world has countless alternatives to the good old internet explorer such as opera mini, UC browser, Mozilla Firefox and many others. Browser compatibility test is used for knowing if the product is good enough for the challenge of working in harmony with these myriad browsers.

c) Devices Compatibility Testing:

It checks the compatibility of the software with crucial hardware such as , printers, scanners, Bluetooth device, etc.

d) Mobile Compatibility Testing:

Smartphones, coming or available, in the market, possess a wide variety of features, and works on multiple platforms, such as android, iOS, etc. Therefore, it becomes crucial to check the compatibility of a software application, with the mobile devices, representing different features and platforms.

e) Software Version Testing:

Here the compatibility is checked under two aspects: Compatibility with old versions (Backward compatibility testing) Compatibility with new versions/ upgrade (Forward compatibility testing)

General Process for Compatibility Testing:

  • Identification of testing environment and the kind of platform, on which the application is to be run.
  • It is necessary to anticipate the behaviour of the product on different platforms well in advance. Thus it goes without saying that the compatibility tester should have enough knowledge of the testing configuration prior to testing the compatibility of the product.
  • After the apt testing environment has been set up, the product is verified for compatibility testing. Bugs are reported and the defects are fixed. Consequently some retests are done to confirm that the defects reported have been fixed.

Tools for Compatibility Testing:

A number of useful tools are available in the market for compatibility testing:

  • For checking compatibility on different browsers: Adobe browser Lab
  • For checking hardware compatibility with drivers for specific platform: Secure Platform
  • For OS compatibility: Virtual Desktops