Compatibility testing is a type of software testing in which software is verified that whether it is supported for running on different hardware, operating systems, and applications.
Compatibility testing is non-functional.
Types of Compatibility Tests
- Operating systems
Let’s explain all of these types:
- Hardware Testing: It checks that the software is compatible with all hardware functions or not. Like windows and MAC.
- Operating Systems: checks compatibility with different operating systems.
- Software: It checks developed software to be compatible with other software.
- Network: It evaluates the performance of a system with different parameters.
- Browser: It provides insights of compatibility of software with different browsers. Like google chrome and Firefox.
- Devices: This device checks compatibility with devices. Like printers, scanner and USB ports.
- Mobile: Checking software compatibility with IOS and android.
- Versions: Checking software application compatibility with different versions with different versions of its own, for example: If Microsoft excel is compatible with windows 8 or 10.
Versions testing is further divided into two types:
Backward Compatibility Testing:
This technique involves verification of behavior and the compatibility of the developed hardware or software with its older versions. This testing is predictable because all the changes in versions are known.
Forward Compatibility Testing:
This Testing process involves the verification of behavior and compatibility of developed software and hardware with its newer versions. It is quite difficult because issues are unknow in upcoming versions.
Tools For Compatibility Testing:
- BrowserStack: This tool helps to check application with different browsers.
- VirtualDesktops: This tool is used to check application in different operating systems and a number of systems can be connected at the same time to compare results.
How to run the Test
- Initially sets of platforms are defined on which application is expected to work on.
- The lead or engineer should have sound knowledge of the hardware, software and the platforms so he can know the expected behavior of applications under different configurations.
- Environment should be set with different devices and platforms to check if the application is running well in different configuration.
- Report bugs and rectify the defects.
- Re-run the test to confirm fixes.
For More information regarding software testing: https://www.mammoth-ai.com/blog/