It seems impossible to think of a world without smartphones. Mobile apps have become a huge global force and how could they not? According to Statista, there were 2.9 billion smartphone users in 2018 and that number is expected to grow year after year. Due to the huge demand, there is a huge number of different device manufacturers and OS iterations make developing compatible apps much harder. This article will guide you through the things you need to keep in mind when trying to tackle compatibility testing.
What is compatibility testing?
Compatibility is defined as a piece of software that is able to be used with a specified piece of equipment or software without special adaptation or modification. In the realm of mobile apps, compatibility testing answers the question of whether your app functions the way it’s supposed to for your user.
Usability testing asks a similar question. But while usability testing focuses on intuitiveness and user-friendliness, compatibility testing focuses more on the hardware and software side. It aims at determining if your app is to function properly on certain devices and software.
Different types of compatibility testing
Compatibility testing on mobile apps is no easy feat. The growing amount of devices and manufacturers in the market make it an increasingly difficult task. Also with how connected everything is, software iterations are happening much faster. This means that there are more and more versions of operating systems and apps that need to be tested.
There are two types of compatibility testing:
Forward compatibility testing: This is basically future-proofing your app. It involves testing on all the newest devices and operating systems that have been released or about to be.
Backward compatibility testing: This is the more commonly known compatibility type. It involves testing older versions of devices and operating systems to make sure that your app can run on anything.
What areas should be covered?
The biggest challenge of compatibility testing is managing the balance of device coverage. Ideally, you would want to test compatibility on every device possible, but that isn’t entirely feasible. Resources and testers are needed to test on more and more devices and that adds up when there is a huge amount of devices. Testing on too few devices runs the risk of not supporting all the devices your users will be using. Figuring out that balance is key. For more details check out our article How to Maximize your Device Test Coverage.
Similar to the challenges of devices it’s important to manage a balance of covering software as well. This is mainly the different operating systems. The most popular two are iOS and Android but it depends on how you plan and design the OS your app will support from the start. Other things to consider are other apps running at the same time that might need testing for compatibility.
Pros and cons of emulator vs. real device testing
Nowadays it’s common practice that people perform testing on device emulators as opposed to actual physical devices. This is done for a lot of reasons such as device availability, test automation, cost reduction. Device emulators can be a really strong asset in testing, however, it’s important to know that it isn’t as good as real device testing. There are a lot of behaviors that won’t be as clear on an emulator as opposed to testing on a physical device.
On some occasions, it can save a lot of testing time and resources such as running time-intensive simple test cases. In these cases, emulators can run these tests much faster and in parallel to save a great deal of time and save testers from tedious tasks. Also in the case of some popular Chinese device manufacturers not being available easily in the US, an emulator might be necessary.
The best way to conduct compatibility testing is to use both emulators and real device testing in tandem to get the best and fastest solution.
Tools to help you along the way
When you start compatibility testing especially on real devices you will need to know what you are looking for. These are some of the most common compatibility testing issues found:
- Text and alignment issues due to changes.
- Frames and tables that aren’t functioning correctly.
- CSS issues including styling changes.
- View issues usually with the scroll bar and view proportions.
Issues like these are visual and noticing them is key to fixing these defects and ensuring compatibility. When a tester detects an issue there needs to be a fast and effective way to pinpoint exactly what the problem is. If you are considering a more widespread testing approach like a beta test, users will need a reliable feedback reporting tool even more.
Instabug’s In-App Feedback reporting
Reactive feedback will be a large chunk of your data. In order to get the best feedback out of your users and testers, they need a simple yet effective way to send all the feedback they have. Instabug’s In-App Feedback can be integrated right inside your app with just two lines of code. Users can invoke Instabug in many different simple ways such as shaking their device, to start reporting issues. Customizable report categories will let help you bucket user feedback and keep them on topic.
Users will be able to annotate an attached screenshot, send a screen recording or describe the issue at hand. And along with every report sent, a breadth of technical data is attached. Device and environment details, as well as detailed logs, will help you identify exactly how and why the issue is occurring. Repro steps will also help you reproduce the issue easily by giving you a step by step path the user took on each screen before reporting an issue.
- Usability Testing Mobile Apps
- Top Mobile App Testing Strategies
- Mobile App Testing Industry Trends
- Comparison of Top Mobile Test Automation Tools
Instabug empowers mobile teams to accelerate their workflows and release with confidence through Real-Time Contextual Insights across the entire app lifecycle.
Learn more about Instabug's Bug Reporting and In-App Feedback