What is the difference between interoperability and compatibility testing?

Interoperability Testing

Interoperability testing is used to check the functionality of the system when it interacts with other systems. Interoperability testing is concerned with whether the application can successfully interact with the other systems or not. It has nothing to do with whether the communication between the two systems is logical or not.

For example:
Let us understand this with the help of an example, suppose we have an internet banking system and internet banking system interacts with different host like CORE BANKING SYSTEM (CBS), CIS(Customer information system), Mortgage System , Loan System , FDI (Credit card system).Now their interaction is governed through XML .Through interoperability testing will check whether the application(internet banking) can successfully interact with the other host like CBS, OCIS, Mortgage, Loan system etc.

Compatibility Testing

Compatibility testing is basically concerned with how two or more systems or components perform the functions while sharing the same environment. The interaction could occur between two programs which are on the same computers or between two programs which are on different computers connected through internet.
Compatibility testing is nonfunctional testing in which environment application on which the application can be run successfully is tested.It is also checks whether your application can run successfully on different platforms or environments.
Tester should have enough knowledge of the platform, hardware and software to understand the expected behavior of the application

Type of compatibility testing
  1. Hardware
    It checks the software compatible with hardware configuration.
  2. Operating System
    It checks your software compatibility with different operating like Windows, UNIX,MAC.
  3. Software
    It checks whether the software developed is compatible with other software or not.
  4. Browser
    It checks the compatibility of the website with different browsers.
  5. Device
    It checks the compatibility of the software with the devices like USB, port devices, printer, scanner etc.
  6. Mobile
    It checks the compatibility of the software with mobile platform like Android, IOS.
Type of compatibility checking
  1. Forward checking
    It is done by checking the behavior of hardware/software with the newer version of the hardware/software.
  2. Backward checking
    It is done by checking the behavior of hardware/software with the older version of the hardware/software
Tools used for compatibility testing
  1. Adobe Browser Lab
  2. Secure Platform
  3. Virtual Desktop.

Difference between Interoperability Testing & Compatibility Testing

Interoperability Testing helps in verifying whether the application under test interacts and functions as expected with other software and hardware components. Therefore, this test plays an important role in case any application/web site is required to run on different platforms with different software and hardware components. Basically we check the compatibility of the software or hardware component with other software or hardware component.

Compatibility testing verifies that the product functions are as expected on a wide variety of hardware, software, and network configurations which are planned on an identified set of compatibility combinations. Compatibility testing is conducted on the application to evaluate its compatibility with the environment on which it is working.

Suppose in case of interoperability testing, if version A writes data into a database that version B can operate on the data correctly is INTEROPERABILITY or INTEGRATION testing. Because they operate on shared data the different versions of the components are in reality different components of the system. They have an interaction through shared data.

While in case of compatibility testing, if version A is introduced then version B can still access the database across the network is a COMPATIBILITY issue. The two could be working on totally separate data, possibly even totally separate database instance. There is no intentional interaction between them in this mode.

Hence we can say that Interoperability testing checks that interactions that it is intended to support work correctly while compatibility testing checks for un-intended interactions that changes normal operation.

Read More
Benefits and drawbacks of Manual Testing
Pros and Cons of Whitebox Testing
Software Bug and Defect Life Cycle
Pros and Cons of EDI

Copyright © ianswer4u.com