You check your application’s usage and popularity often, and that’s when it happens. The dreaded one-star review. Your app has compatibility issues. Don’t let a review or social site be the way you discover your app’s incompatible. The safest way to ward off bad software in production – and the damage it can have to your company’s social reputation – is to perform compatibility testing. Let’s take a look at how it plays out.
Your app is ready to go live. It’s been tested for weeks internally, but then another set of eyes takes a pass at the app – performing compatibility testing this time. That’s when you get the bad news. The app you were ready to launch has bugs – Pages that show error messages. Missing images. Large areas of unexpected blank space. How can this be? The app worked just fine on the two devices it was tested on.
Here’s the problem: The app wasn’t compatible with other platforms and devices.
The approach is to build once, test functionality and rendering, and deploy everywhere. Sounds like an effective plan. But there are hidden risks when you ignore compatibility across platforms, OS versions and browsers. Given the complex nature of software, an app that displays and works great on one OS, browser or device can work terribly on another. The nature of technology is to take advantage of the latest-and-greatest advances – display resolution, app plug-ins, programming libraries, etc. But each of those advancements leaves the previous technology in the dust, at risk of not being able to run the latest and greatest.
This incompatibility can lead to poor reviews, poor word-of-mouth and ultimately fewer sales. Is your app at risk? Does your app work for Windows, iOS and Android platforms? Different service providers support different versions of the Android OS; does your app work with “Kit Kat”, “Lollipop” and “Marshmallow”? What about different browsers such as IE, Chrome, Firefox, Safari, etc.? Will it work for devices made by multiple manufacturers (especially a concern in the Android market)?
Tips for Cross-Platform Testing
Understand you can’t test all combinations
There are so many combinations that it would be an acceptably large collection to test. How do you begin to choose what to test? Some may think test on the latest OS and browser but that might not be the right fit for your app. For example, a large company may have a useful app that 90% of their users access with Windows 7, not Window 10.
A great starting point is to dive into your analytics. What are your customers using? With this real world knowledge, you can prioritize the combinations of OS, browsers and devices. If you have a new app, what are people who use similar apps using? Once you identify, you can prioritize to get the most value from testing.
Scale up intelligently
There is a challenge in buying real devices because of the expense of the growing list of devices. You can spend thousands of dollars per year buying the latest version of each phone and tablet available, with the painful realization that those devices will be obsolete in a few years as the market keeps rapidly changing.
You have options. Supplement real devices with additional real devices on services such as BrowserStack, SauceLabs and PerfectoMobile. These cloud-based platforms have done an excellent job providing a wide range of simulated devices, controlled with mimicked tap, swipe, pinch, etc., commands via the computer interface. The display and controls you get through the platform can consistently be trusted to be what your end users will experience on their real-life device.
Once compatibility testing has been done, your application will run properly on various platforms, versions, browsers and devices. No more social media trolls leaving one-star reviews in the Apple Store or Google Play. You will have done everything to guarantee their experience matches your plan – no matter what phone is in their pocket.