Binary portability testing is a kind of testing in which the applications are tested across several platforms usually to confirmation to an Application Binary Interface (ABI) specification. Application Binary Interface (ABI) specification includes interface for compiled programs.
It provides different interfaces for different hardware architectures. Application Binary Interface (ABI) is a family of specifications and not intended for a single one. Different platforms such as Windows, Linux, Mac OS, Java, Solaris, Android should be used for Binary portability testing.
In this type of testing applications can be moved from one platform to another platform to check whether the same application runs on different platforms or not.
For example application can be moved from Windows 2000 to Windows XP to check whether the same application runs from windows 2000 to windows XP or not. For application to be moved from one platform into another platform it refers to the application software that can recompile the application from one platform to another platform.
If the application is highly portable that is if the application can run on any platform then it increases the demand for that application because the customer demands application that can run on any platform.
The result of the portability testing is measured in the terms of the time it takes to move the application from one platform to another platform. Portability testing is also known as black box testing because overall all the functionality of the software is checked.
The objective of the Binary portability testing is:
- Validate the portability of the software/ application that is check whether it runs on different platforms or not.
- Check whether the look and feel of the application is same for all the platforms.
- Check whether the functionality of the application is same on all the platforms.
- If there is any defect inform it to the test team so that the defect can be detected and removed.
Examples of Binary portability testing are:
- Hardware Platforms which includes clients, servers, input/output devices.
- Operating systems which includes the version of the operating system.
- Browsers which includes its type and version of browser.