Everyone wants their information on a mobile device, in the palms of their hands, and fast! IT departments and providers are working hard to ensure that mobile apps are high-performing and bug-free. This is especially tough in an app-saturated environment where user complaints and churn remains high. These days, ensuring the success of your apps is not an easy feat: Apps may need to run on as many as 18,000 different devices platforms, plus variations when it comes to carrier networks.
No doubt, the challenges for developers and testers in the new world of the mobile device are daunting. So much focus often goes into back-end development, user experience, production time and cost savings that one of the critil elements of development is often ignored: testing. However, performance testing is imperative for application success. It’s the only way to ensure that your application can bear the stresses and strains of varying user demands and perform as expected in the real world. If you’re still struggling to make testing a part of your mobile application development process, try these tricks.
Don’t test everything
Although application reliability is important, you don’t need to test an application every time a change is made. In a perfect world, you would have the time and resources to test every tiny update on every device and carrier network, but with today’s short application life cycle, you shouldn’t even try. If your application is transactional, has high traffic or acts as your shop window, then you’ll need to make sure that it works all the time and on all popular devices. But, if you are fixing a bug with a non-critical component of an application, you can reduce the testing for every change made.
One way to determine what components of an application need to be tested is to implement site analytics. This will provide informed insight into real-life usage and help evolve your testing over time. What was important at the onset could change as other problems arise, so this will allow you to amend your test plan as needed.
Simulate real-world situations
Just as with desktop browsers, mobile applications behave differently on alternative mobile browsers and platforms. You need to account for these changes and create performance tests that mimic the real world, using traffic from native apps on real mobile devices. Simulating real bandwidth is also a plus, as mobile users will not be using the same mobile network infrastructure. Your performance-testing solution should cover and replicate real bandwidth speeds such as GPRS, EDGE, UMTS, HSDPA, HSPA+ and LTE.
Finally, you’ll have to scale your mobile testing. This means simulating traffic from different types of mobile devices from different parts of the world to ensure that, no matter what, your application performs as anticipated.
Identify the key players
While it is important to stimulate as many real-world situations as possible, don’t forget tip No. 1: Don’t try to test everything. It’s unrealistic to test every update of every app on every known device and mobile OS platform. You will need to narrow it down to 8-10 devices that cover the vast majority of the market. As long as you have the major iterations covered, then your apps will be robust enough to work across multiple systems.
Think of testing as a cost-saving measure
For many, the key drawbacks to testing are that it’s time-consuming and costly. In reality, testing actually saves on both of these efforts. Building time into the application life cycle to test an application can increase the chance of catching and correcting bugs before they negatively impact the user. This prevents problems and saves time in the long run. Another cost-saving measure is to reuse or automate tests as you build your application. This allows you to record a test once and replay it many times, increasing your coverage but not your working hours.
In our instant-gratification society, it’s expected that applications should load quickly, even on the go. If you put enough planning and thought into the testing stage of the application development life cycle, you will save time spent on the effort recovering from outages that can often time damage a company’s reputation. Start with the tips outlined here if you’re struggling to implement a testing strategy.
Archie Roboostoff is Borland Portfolio Director at Micro Focus.