In a previous post we emphasized the importance of testing in your development process. This post will walk you through critical test cases many new entrepreneurs miss, and will serve as a starting point for your test coverage.
Here are some test cases that are critical to cover in your application:
Different screen sizes
Android devices come in many, many different sizes and that myriad of screen sizes has been the bane of Android developers since the operating system’s inception. It’s a big reason why Android development has been so difficult.
Apple devs avoided these headaches for a while, but with devices now ranging from the iPhone 4S to the iPad Pro, they are increasingly dealing with screen size challenges too.
Key point: Your testers should work with devices that cover all the screen sizes you’re supporting.
Different devices
Older devices with slower CPUs will behave differently than new hardware. Devices with lower memory can encounter memory pressure (and crashes) in situations where more powerful devices work flawlessly.
Your development and executive teams are using the latest and greatest devices. They aren’t seeing these issues during routine development. Make sure your app behaves properly with all supported devices. In some cases, the difference between 32 and 64 bit architectures can cause bugs. This is infrequent but possible (more applicable for apps that rely on 3rd party C and C++ libraries). Testing across a range of devices  during the development process will help you find these bugs before you’re in production.
Offline and poor cell coverage
For web applications, if the app can’t access the API it needs to run it’s a catastrophic failure. For mobile apps, it’s not a failure, it’s Tuesday. Supporting offline conditions and conditions with poor cell coverage is an important part of a mobile app’s behavior. You must make sure your app behaves appropriately when it can’t get the data it needs (or when that data is slow to arrive). Your dev team is working with a strong wifi connection. They will miss these conditions unless they explicitly test for them.
Different versions of operating systems
Different operating systems can behave differently in subtle ways. Keeping code working on multiple versions of operating systems tends to increase your development costs dramatically. Testing is one area where this becomes obvious, because you must test your app on all the OS versions you’ll support.
Take aways
- Test all supported devices and operating systems, and test in all network conditions, especially if you’re developing a mobile app.
Also published on Medium.
Hi Jaim,
Thanks for the above article. This is so true and we are learning it the hard way. Our web app was built on Apple and the UI and UX is quite different on Windows. My question is that how does a start-up achieve these robust testing processes within a limited budget? Even if I requested friends to test my app, I cannot afford to buy my developer 10 different devices for him to create the code and test the result. What simple things can we do to be better prepared before launch? Thanks.