What is Compatibility Testing?
Compatibility testing checks whether software can run on different hardware, operating systems, applications, network environments, or mobile devices.
It is a type of Non-Functional Testing.
Types of Compatibility Testing
Hardware
Checks that the software is compatible with different hardware configurations.
Operating Systems
Checks compatibility with different operating systems such as:
- Windows
- Unix
- Mac OS
Software
Checks that the developed software is compatible with other software.
Example:
MS Word should be compatible with:
- MS Outlook
- MS Excel
- VBA
Network
Evaluates system performance across networks with varying parameters such as:
- Bandwidth
- Operating speed
- Capacity
Browser
Checks your website's compatibility with various browsers, including:
- Firefox
- Google Chrome
- Internet Explorer
Devices
Checks compatibility with different devices such as:
- USB devices
- Printers
- Scanners
- Other media devices
- Bluetooth devices
Mobile
Checks whether the software is compatible with mobile platforms such as:
- Android
- iOS
Versions of the Software
Verifies compatibility with different versions of the software.
Example:
MS Word with:
- Windows 7
- Windows 7 SP1
- Windows 7 SP2
- Windows 7 SP3
Tool
BrowserStack helps a software engineer check an application in different browsers (Browser Compatibility Testing).
Backward vs Forward Compatibility Testing
Backward Compatibility Testing
Verifies the behavior and compatibility of the developed hardware or software with its older versions.
It is much more predictable because all changes from previous versions are known.
Forward Compatibility Testing
Verifies the behavior and compatibility with newer versions of the hardware or software.
It is harder to predict because the changes in newer versions are not yet known.
Backward Compatibility Testing
Checks Against
- Older versions
Predictability
- Predictable (known changes)
Forward Compatibility Testing
Checks Against
- Newer versions
Predictability
- Hard to predict (unknown changes)
Globalization vs Localization Testing
Globalization Testing
Performed to ensure the application can run in any culture or local environment, independent of geographical and cultural conditions.
It checks whether the application has features to:
- Set and change language.
- Change date format.
- Change currency.
It also verifies whether the application is designed for global users.
Localization Testing
Performed to ensure the application can run for a specific culture or locality.
It verifies a globalized application for a particular locality of users and their cultural and geographical conditions.
Example:
An application developed for a particular country.
Globalization Testing
Scope
- Any culture / Global environment
Checks
- Language
- Date format
- Currency settings for global use
Localization Testing
Scope
- A specific culture / Locality
Checks
- Behavior for one particular locality
Web, Desktop, and Client-Server Application Testing
Standalone / Desktop Testing
The application is installed on a standalone machine and can be accessed by only one user at a time.
It is also known as Standalone Application Testing.
Examples:
- MS Excel
- MS Word
- Calculator
Client-Server Testing (Two-Tier)
The application is preinstalled on the client's desktop or laptop.
The client sends a request to the server.
The server returns the required information.
It is also known as Two-Tier Application Testing.
Examples:
- FTP
Important Types of Testing Performed
- GUI Testing
- Manual Testing
- Configuration Testing
- Interoperability Testing
Web Application Testing (Three-Tier)
A web application runs directly in a web browser.
The browser sends requests to the web server.
The web server sends requests to the database.
The database responds to the web server.
The web server then sends the response back to the browser.
It is also known as Three-Tier Application Testing.
Examples:
- Yahoo
Desktop / Standalone
Environment
- Single machine
Users
- One user at a time
Examples
- MS Excel
- Calculator
Client-Server
Architecture
- Two-tier
Communication
- Client ↔ Server
Examples
- FTP
Web Application
Architecture
- Three-tier
Communication
- Browser ↔ Web Server ↔ Database
Examples
- Yahoo
Mobile Testing
It is also known as Mobile Application Testing.
Testing performed on applications developed for supported mobile devices.
Example:
Testing the Amazon app.
Installation & Un-installation Testing
Installation Testing
Checking whether we are able to install the software successfully as per the guidelines given in the installation document.
Un-installation Testing
Checking whether we can successfully uninstall the software from the system.
FAQs
1. What is Compatibility Testing?
A Non-Functional Testing type that checks whether software can run correctly on different:
- Hardware
- Operating Systems
- Browsers
- Networks
- Devices
- Mobile platforms
2. What are the types of Compatibility Testing?
- Hardware Compatibility
- Operating System Compatibility
- Software Compatibility
- Network Compatibility
- Browser Compatibility
- Device Compatibility
- Mobile Compatibility
- Software Version Compatibility
3. What is the difference between Backward and Forward Compatibility Testing?
Backward Compatibility Testing
Checks the software against older versions.
It is predictable because previous changes are already known.
Forward Compatibility Testing
Checks the software against newer versions.
It is harder to predict because future changes are unknown.
4. What is the difference between Globalization and Localization Testing?
Globalization Testing
Ensures the application works in any culture or environment.
Localization Testing
Ensures the application works correctly for one specific culture or locality.
5. What is the difference between Two-Tier and Three-Tier Application Testing?
Two-Tier (Client-Server)
A client communicates directly with a server.
Three-Tier (Web Application)
A browser communicates with a web server, which communicates with a database.
6. What is Desktop/Standalone Application Testing?
Testing an application installed on a single machine and used by one user at a time.
Examples:
- MS Word
- Calculator
7. What is Installation Testing?
Checking whether the software installs successfully according to the installation document.
Un-installation Testing verifies that the software can be removed successfully.
8. What is Mobile Testing?
Also called Mobile Application Testing.
It involves testing applications developed to run on supported mobile devices.
Example:
Amazon app testing.