Creating efficient and successful mobile financial apps needs specialised software test automation
If you haven’t been involved in creating a mobile app for managing payments or financial information on mobile devices, count yourself lucky. The myriad combinations of handsets and software that need to be tested when releasing this kind of application
to the public makes for a major quality assurance headache.
The list of operating system versions alone is challenging – Google seems to have emptied the confectionery shop with the various flavours of Android operating systems: Gingerbread, Ice Cream Sandwich, Jelly Bean etc. while Apple’s popularity means that
multiple versions of iOS 6 and 7 are in common use. In addition, variations in the physical devices such as screen size needs to be considered and even the choice of mobile network operator can have an impact – particularly important for apps for that may
be used in multiple countries.
So what does this mean for organisations launching mobile apps for customers? In short, lots of testing against many different device configurations. This is the only way to be sure that when the customer checks an account balance or sends a payment, that
transaction will work flawlessly regardless of whether the handset is an iPhone 6 or a Samsung Galaxy Tab.
So many combinations – how can automation make testing smarter and
faster
Looking just at Android, there have been 29 versions of the operating system and around 420 phone models released since 2007, making a potential 12,180 combinations to be tested. When we add iOS and Windows Phone into the mix, the size of the problem increases
dramatically.
Test automation can help. It reduces the time and money spent on testing enabling organisations to ensure that mobile apps will work across multiple devices and operating systems reliably. A recent mobile payments project undertaken by a major bank saw huge
savings from test automation including an 80% reduction in effort: from 240 days of manual testing to 30 days of automated testing.
Faster, more comprehensive testing also means more bugs being found earlier in the project, reducing costs considerably and ultimately decreasing time-to-market.
Even with the speed and quality benefits of test automation we need to be pragmatic in the way we deal with the many combinations of hardware and software to be tested. A smart, risk-based approach will prioritise testing effort on popular devices and versions
while still ensuring that more esoteric configurations are tested, albeit to a lesser extent.
Specialised testing environments for mobile devices
Test automation for mobile software requires specialised access to the devices being tested in order for the automation software to control the device directly. For ‘traditional’ software this is relatively straightforward, but for mobile, we need to use
techniques such as jail-breaking, emulators and object recognition among others. Selecting the most suitable technique (or mix of techniques) can be tricky and requires balancing how well the technique mirrors real-world conditions against its ease and speed
of use.
Mobile test automation, what can you expect
Test automation can help realise significant cost and time savings when developing mobile applications. For example a leading financial services firm recently introduced test automation into its mobile development programme, the benefits as listed below,
were typical of those that organisations realise when introducing test automation.
- Reduced time to conduct regression tests – in this case from three weeks to two days.
- More comprehensive testing – over 100 end-to-end test cases developed across twenty handsets with support for over 40 types of handset.
- Improved support to development teams – faster and richer defect reporting to developers, aiding faster and better bug fixing.
- Improved quality – automated end-to-end testing of transactions across mobile and web systems.