Before we learn compatibility testing, let's understand-
What is Compatibility?
Compatibility is nothing but the 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 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 software. For example, MS Word application should be compatible with other software like MS Outlook, MS Excel, VBA etc.
- Network: Evaluation of performance of a 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 the 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 your software application to be compatible with different versions of the software. For instance checking your Microsoft Word to be compatible with Windows 7, Windows 7 SP1, Windows 7 SP2, Windows 7 SP3.
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 a Software engineer to check application in different browsers.
- 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.
How to do Compatibility Testing
- 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 of 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 the client's environment.