Mobile Release Cycles
Now that you know how to find the right devices for testing your app, it doesn’t mean that the process is over. To be honest, it’s never going to end!
The main mobile manufacturers release a new flagship phone with more features every year. In and around those releases they bring out other phones for different user scenarios and user groups. This is especially true in the Android world where every new phone comes with a new version of the operating system packed with new features, designs, or APIs. There are multiple software releases within the course of a year, ranging from bug fixes to feature releases. You as a mobile tester need to be sure that your app will run on the latest hardware and software.
But how should you handle these situations? By buying every phone that appears on the market? By constantly updating to the latest operating system version?
Again, the most important factors are your target customer group and the app you’re testing. When you know that your target group always uses the latest and fastest phones on the market, you need to buy those phones as soon as they appear. Regardless of whether or not your target group is up-to-date, you should always monitor the mobile market.
You need to know when the main vendors are due to release new flagship phones that a lot of people are likely to buy. You also need to know when the operating systems receive patches, new features, or new design patterns.
So the answer to the question of whether you need to buy every phone and constantly update the operating systems is yes and no. Of course you don’t need to buy every phone that’s on the market, but you should consider updating to the latest operating system version. When doing so, keep in mind that not every user will install the update. Many people don’t know how to do that, or they don’t care about new versions. You need at least some phones that are running older versions of the operating system to see how the app reacts in that environment. Older versions of the operating system are also needed to reproduce reported problems and bugs.
A good way to manage all this is to stick with the same operating system version on the phones that you have and buy new phones with the latest software version. This of course leads to another problem—it’s really expensive! Not every manager wants to spend so much money on mobile devices when a phone is going to be used for only a couple of months. A solution for that is to rent devices. There are several providers and Open Device Labs where you can rent a device for a certain period of time (a list of providers can be found in Chapter 3, “Challenges in Mobile Testing”). Another way to rent devices is the mobile device cloud as there are a number of providers who give mobile testers exclusive access to the physical devices they have made available in the cloud. Just use your search engine and check them out.
In the mobile projects I’ve worked on, we always had the top ten to 15 devices used by our target user group in different variations for developing and testing. This was a good number of devices that covered nearly 90% of our target group. With those ten to 15 devices we were able to find most of the critical bugs; the remaining 10% of devices we didn’t have were of no major consequence to the project or user expectations.
In order to handle the fast pace of mobile release cycles, you should keep the following things in mind:
- Monitor the mobile device and software market.
- Know when new phones will be rolled out.
- Find out about the new features of the operating systems.
- Keep an eye on your target customer group to see if new devices are showing up in your statistics.
- Think twice before updating a phone to the latest operating system version.
- Buy new phones with the latest operating system version.
- If buying is not an option, rent the devices.
Updating, buying, and maintaining all of your devices is a challenging task and should not be underestimated! At some point, depending on the number of test devices used within a project, this could be a full-time job.