What is Compatibility?
Compatibility is nothing but capability of existing or living together. In normal life, Oil is not compatible with water, but milk can be easily combined with water.
What is Compatibility Testing?
Compatibility Testing is a type of Software testing to check whether your software is capable of running on different hardware, operating systems, applications , network environments or Mobile devices.
Compatibility Testing is a type of the Non-functional testing
Types of Compatibility Tests
Let's look into compatibility testing types
- Hardware : It checks software to be compatible with different hardware configurations .
- Operating Systems: It checks your software to be compatible with different Operating Systems like Windows , Unix , Mac OS etc.
- Software: It checks your developed software to be compatible with other softwares. For example: MS Word application should be compatible with other software like MS Outlook,MS Excel , Vba etc.
- Network: Evaluation of performance of system in a network with varying parameters such as Bandwidth, Operating speed, Capacity. It also checks application in different networks with all parameters mentioned earlier.
- Browser: It checks compatibility of your website with different browsers like Firefox , Google Chrome , Internet Explorer etc.
- Devices : It checks compatibility of your software with different devices like USB port Devices, Printers and Scanners, Other media devices and Blue tooth.
- Mobile: Checking your software is compatible with mobile platforms like Android , iOS etc.
- Versions of the software: It is verifying you software application to be compatible with different versions of software. For instance checking your Microsoft Word to be compatible with Windows 7, Windows 7 SP1 , Windows 7 SP 2 , Windows 7 SP 3.
There are two types of version checking
Backward compatibility Testing is to verify the behavior of the developed hardware/software with the older versions of the hardware/software.
Forward compatibility Testing is to verify the behavior of the developed hardware/software with the newer versions of the hardware/software.
Tools for compatibility testing
BrowserStack - Browser Compatibility Testing:
This tool helps us to check your application in different browsers.
Secure Platform - Hardware Compatibility tool
This tool includes necessary drivers for a specific hardware platform and it provides information on a tool to check for CD burning process with CD burning tools.
Virtual Desktops - Operating System Compatibility:
This is used to run the applications in multiple operating systems as virtual machines. n Number of systems can be connected and compare the results.
Compatibility testing process
- The initial phase of compatibility testing is to define the set of environments or platforms the application is expected to work on.
- The tester should have enough knowledge on the platforms / software / hardware to understand the expected application behavior under different configurations.
- The environment needs to be set-up for testing with different platforms, devices, networks to check whether your application runs well under different configurations.
- Report the bugs .Fix the defects. Re-test to confirm defect fixing.
The most important use of compatibility testing is to ensure whether developed software works under different configurations (as stated in requirements documentation). This testing is necessary to check whether the application is compatible with client's environment.