Compatibility testing is a part of non-functional software tests. Compatibility is nothing but capacity of existing or living together. In computer world, compatibility is to check whether your software is able to run on different operating systems, applications, hardware, network environments or mobile devices. This testing is conducted to evaluate the application’s compatibility with the computing environment that may contain some or all of the elements mentioned below:
- Computing ability of Hardware Platform (HP 9000, IBM 360, etc.)
- Compatibility of peripherals (DVD drive, Printer, etc.)
- Bandwidth handling ability of networking hardware
- Operating systems (Linux, Windows, Mac etc.)
- Database (MySQL, Oracle, SQL Server, etc.)
- Other System Software (Networking/ messaging tool, web server, etc.)
- Browser compatibility (Firefox, Chrome, Internet Explorer, Netscape, Safari, etc.)
Browser compatibility testing can be more aptly referred to as user experience testing. This aims to ensure that the web applications are tested on multiple web browsers, to make sure the following:
- Users have the same visual experience regardless of the browsers through which they view the web application.
- The application should behave and respond the same way in terms of functionality across multiple browsers.
- Carrier compatibility (Orange, Verizon, Sprint, O2, AirTel, etc.)
- Backwards compatibility
- Hardware (various phones)
- Runs on several host/guest Emulators
- Different Compilers (compile the code appropriately)
Certification testing falls under the category of compatibility testing. Product vendors run the entire testing procedure on the new computing scenario in order to get their software or application certified for Databases or particular Operating Systems (Windows, Linux, Mac etc).
Let’s take a closer look into the types of OS compatibility testing:
- Operating Systems: Your software should be compatible with different Operating Systems like Windows, UNIX, and Mac OS etc.
- Hardware: It checks whether the software is compatible with several hardware configurations.
- Software: It tests the compatibility of your developed software with other software. For instance, MS Word application must be compatible with other software such as MS Outlook, MS Excel and VBA.
- Browser: This testing is conducted to ensure that your website is compatible with different browsers like Google Chrome, Internet Explorer, Firefox etc.
- Network: This process basically aims to evaluate performance of system in network with different parameters such as Operating speed, Bandwidth, Capacity. It also tests the application in different networks with all of these parameters.
- Devices: It checks your software’s compatibility with different devices such as USB port Devices, Scanners and Printers, Blue tooth and other media devices.
- Mobile: It checks you software is compatible with mobile platforms such as iOS, Android, etc.
- Software Versions: It verifies the compatibility of your software application with different software versions. For instance, it tests your Microsoft Word to make sure it is compatible with Windows 7 SP1, Windows 7, Windows 7 SP 2, Windows 7 SP 3 etc.
Types of Version Checking
There are two types of checking versions of the software:
- Backward compatibility Testing: It is conducted to check the behavior of the developed software or hardware with their older versions.
- Forward compatibility Testing: It verifies the behavior of the developed software or hardware with their newer versions.
Tools for compatibility testing
- Adobe Browser Lab: This browser compatibility testing tool helps in checking your application in various browsers.
- Secure Platform: This hardware compatibility tool includes essential drivers for a specific hardware platform and it provides information on tool to test CD burning procedure with CD burning tools.
- Virtual Desktops: This operating system compatibility tool is used to run the applications in manifold operating systems as virtual machines. N number of systems can be linked and evaluate the results.
The most imperative use of compatibility testing is intended to check whether developed software works under diverse configurations as mentioned in requirements documentation. This testing is essential to check whether the application is well-suited with the client’s environment.
To endure today’s competitive market, it is important that the software or applications you provide to buyers are worth the amount they are paying. And when it comes to delivering the good quality product it is very important to test the application or software in different development stages including reliability¸ compatibility, quality and delivery.