So you have developed a mobile application and you think its ready for release. You will have probably tested it on an emulator of some kind and possibly a browser or two, and so now you think its time to release it. Before this is done lets consider what state the mobile App is in. The mobile App only ‘appears’ to function correctly at this stage, which to all intensive purposes is a good thing right? but an emulator really only shows you how a real device ‘should’ work when used with your mobile application, it is certainly no guarantee. A web browser can certainly show you what your mobile App will look like on a real device, but there are many factors it cannot show you, for example; the touch screen functionality, CPU difference, memory usage and many more very important areas of functionality. It only takes a slight a small difference in what is ‘expected’ behavior to what is ‘actual’ behavior on a real device.
So once the decision is made to test on a real device, there are some important things to consider:
Which mobile devices do I need?
Lets for example use the most popular for of a mobile application, the iPhone. There is an ever-growing range of Apple devices that fit into this category. In addition, there are multiple operating system versions associated with each device. This at first presents a dilemma, but we can rule out older hardware and firmware(operating systems), why is this? well, 99% of users will upgrade to the latest firmware whenever possible to take advantage of bug fixes and new enhanced functionality. Again, you can rule out older versions of hardware, particularly if it is several years old and no longer supports the latest firmware available. Most users of these types of devices will upgrade when their device ‘appears’ out of date. In short, aim to test on the latest hardware and firmware, this in effect gives you a longer period of mobile App longevity.
I can’t afford to buy real devices, what do I do?
Most carriers will offer you the mobile device cheaply if you sign a lengthy contract. This is not really a viable option if you just want to test with it. Most devices can also be bought without a contract, but for an expensive price. Again, this can be expensive, especially using our example of an iPhone App. The most cost-effective testing solution is to use an iPhone App testing company to do it for you. They have already made the expensive investment in purchasing the hardware so you don’t have to. A good iPhone App testing company should offer you bundles for testing on multiple devices too.
Should I get a professional App test before release?
As the developer, you are essentially just one set of eyes. It is very important to get a new App tested to some level before its release, as once its out there you can’t do anything about it, until its too late, i.e. you are receiving negative feedback and decreasing sales. You don’t have to hire professional App testers to do the testing, you can get colleagues or friends to help you out. This should at least get some other sets of eyes looking at your App. The advantage of using a professional App testing service however, is they will have experience of a variety of software testing techniques, such as Usability, Functional, Performance testing etc. on many other Apps previously. Their software testers will know where to look for defects within your App and will provide you with an all important degree of confidence which you will only get with a professional App tester.
Which carriers/network providers should I use?
Depending on the country where the software testing is carried out, there will be a limit to which providers can be used. To be honest though, as long as the testing takes into account network specific testing, then the carrier should not matter at all. For example, an App tester will typically test on good, medium and poor signal strengths to test the behavior of your App under these conditions. So, as long as these tests are carried out not only on a wi-fi network but also on a 3G or 4G carrier providers network, then it really doesn’t matter.
So to summarize then, you necessarily have to pay out a fortune in order to achieve a level of mobile application testing. With some forethought, you can effectively reduce the amount of real devices you need to test on. You can don’t have to pay a fortune to ensure the quality of your mobile application.