Compatibility testing is one of the types of non-functional testing used to verify that the product properly functions in various environments, such as hardware platforms, operating systems, mobile devices and browsers.
Depending on the environment type, as well as on the type of product being tested, there is hardware compatibility (the ability of the application to function normally on all devices listed in the requirements) and software compatibility (normal launch, normal operation and no conflicts between the product and other applications installed on the devices).
Mobile compatibility testing
This type of compatibility testing includes two sub-types:
Website mobile compatibility test
Since the websites are accesses via browsers, this type of testing verifies how websites interact with browsers and how the interface is displayed on devices with different screen sizes.
Mobile application compatibility testing
This type of testing includes more aspects of interaction. The operation of a mobile application depends on the version of the operating system, its configuration and settings, hardware features of the device, and the screen size. Therefore, it is very important to conduct manual testing on real devices that can cover all of the above factors.
Software and hardware compatibility testing
To verify the product being developed we test its compatibility:
- with hardware, or with various hardware configurations (the ability to install and remove, the convenience of the interface, stability, compatibility of screen resolutions – are tested);
- with different operating systems;
- with other connected devices (printers, scanners, audio/video devices);
- at different types of connection (wired connection, Bluetooth, wi-fi)
- with various networks (wired network, Wi-Fi, 4G, 5G) for a number of parameters – capacity, bandwidth, network speed;
- interaction with various drivers
Why do you need compatibility testing and how is it performed?
The main goal is to make sure that the product properly works with a wide variety of device and hardware configurations and their settings. This is especially important in two cases:
- You are developing an expensive product critical to the customer. In this case, the compatibility errors can result not only in reputation loss, but also in financial losses.
- Your product is used by a large number of consumers. This means that customers may have the most unexpected hardware and software configurations, which means you have to be prepared for potential issues.
All described compatibility testing activities are performed both manually (on real devices) and automatically (using modern tools and services).
To ensure efficiency and effectiveness of our work, we define a specific set of environments or platforms in which the software should operate. Based on these specifications, we create checklists and develop test cases that include different scenarios for comprehensive product verification. We record (save as screenshots and videos) all defects and issues in the product operation in various environments (identified during testing in accordance with the compiled test cases) and report them into bug trackers and bug reports indicating their priority in the verification matrix.