Mobile Apps/Application Testing Services – Paradigm Shift

Evolution of mobile industry and wireless technologies have made mobile solutions as integral part of enterprise software systems. Diverse users with a wide range of preferred mobile devices have high expectations when it comes to the speed as well as quality of their user experience.

Developing and testing mobile applications and their integration with enterprise applications is mission critical. Unplanned or ad-hoc approach towards this can impede product launch, and have rigorous implications on critical quality attributes such as accuracy, consistency, security and performance. In order to identify right mobile testing solution one needs to look at popular technology innovations and their impact on the Information Systems.

Mobile Technology and Apps – Interesting Statistics
Over the next five years, mobile device subscriptions are expected to hit 7.1 billion, according to Cisco. If this is possible, approximately every person on the planet will have at least one mobile device irrespective of Age. The average mobile network connection speed of 215 kilobytes per second in 2010 is expected to increase 10-fold to exceed 2.2 megabits per second in 2015. However, that’s not possible if companies don’t create new technologies to increase connection speeds (such as LTE, WiMAX which are the early implementations of 4G technology). Within a matter of years, over 40 countries will have more people with mobile network access than with access to electricity. Based on Cisco’s estimates, by 2015 about 138 million people will be on the mobile internet. Advertising delivered directly to mobile devices is set to shoot from a nascent $400-million market to over $2.5 billion by 2014. But the growth won’t stop there, as more and more of the $67 billion spent annually on global internet advertising is expected to migrate to mobile devices. (Reference 1)

As of today there are more than 1.4 million apps in Google play store, this number is expected to go beyond 2 million in the next couple of years. There are approximately 4000 apps added on a daily basis in the Android market place (statista.com).  According to leading mobile analytics company, Flurry,They have found that 90% of our mobile time is spent in-app. Since more and more companies are focusing on creating their own app, it also important to test them before its released in the market. One small bug or error can spoil the reputation of the company.

Mobile Industry – New Technologies and Business Opportunities

Higher Data Speed and Better Connectivity: Earlier implementations of 4G are already there in the market. As better connection technologies establish, mobile devices will be used more frequently for collaboration activities. E.g. Webinars will be replaced by Mobinars. Things like Mobile TV and Mobile Video conferencing will become reality. Mobile devices and wireless networks will be targeted for eLearning.

Near Field Communication Technologies: On one side wireless connectivity is a key advantage of mobile industry and on the other side portability of small form factor devices. Portability and wireless connectivity together triggered innovations in small distance wireless connectivity technologies such as Bluetooth, WiFi, NFC. These technologies have made communication and information sharing even richer. NFC-based contactless payments have started becoming mainstream in some markets. NFC like technologies will further broaden the use of mobile devices for communication, data sharing as well as commercial activities. In few countries this technology is already being used to make payments for public transport tickets, parking tickets, etc. (Reference 2) Bluetooth devices are already in abundance and Bluetooth connectivity has enabled device to inter device data transfer lot easier. E.g. Bluetooth technology is used commonly to do wireless data sharing across physical devices not having any common cable to connect; to stream audio / video from players to remote gadgets like TV Screens, Audio Systems, etc.

Mobile Commerce (mCommerce): m-Commerce has now become a significant part of e-Commerce and will continue to increase its share. Mobile shopping has become common activity and is used for transactions like travel reservations, hotel bookings, doing payments, receiving notifications, etc. In retail stores, mobile apps are used for monitoring virtual checkout baskets which display exact number of items in the physical basket and help customers for quicker checkouts. This also tells customers about the amount they have already spent so as to keep check on their spending and prioritize the consequent shopping. The mobile industry has also catalyzed innovations in supply chain business where the online traders now can pass on the order to the nearest outlet so that it gets delivered quickly.

Mobile Sensors: Availability of different sensors has enriched mobile devices to a great extent. As different types of sensors become cheaper and easily available, more of them will be bundled in mobile phones and will help user get more senses. These include motion sensors like accelerometers, gravity sensors, gyroscopes; environmental sensors like barometers, photometers; position sensors like magnetometers. Sensors have made mobile devices as smart devices (e.g. smart glasses, smart watches). Each type of device has one key function and then there are many other features / functionality that are supported by the devices by virtue of wireless technologies and sensors. E.g. Other than time keeping smart watches can be used as FM radio, mobile phone, Bluetooth device to share data. Smart glasses can be used as mobile phone, watch, camera, graphical screen, etc.

Global Positioning System (GPS): Cars and other public transport vehicles (such as railways, buses, airplanes, ships, etc.) will be important consumers of wireless connectivity and smart screen devices. Customized applications like location based advertising along with current GPS navigation systems will become common. E.g. identifying nearest parking place, petrol pump location, etc. More radio channels and music streaming channels will be made available on such wireless devices.

Machine to Machine (M2M): M2M uses both wired as well as wireless networks to enable communication among machines. However wireless technologies promoted widespread usage of this concept (e.g. Telematics). Using M2M, developers of the machineries can get real time information about the performance of their machines which are deployed at customer location and take a proactive call on whether the machines need to undergo some maintenance.

Virtualization: Virtualization has been in the IT industry for quite some time. Mobile industry also is gearing up for taking full advantage of virtualization principle. Many people use two or more mobile devices; one for personal use and another for enterprise use. Because of virtualization one physical device can support two different operating systems where data isolation can be done at OS level. It will be very helpful from enterprise security perspective.

Mobile Device Management (MDM): Mobile solutions have enabled enterprise workforce access to information for planning, organization and communication purpose. Seamless availability of information and applications along with safety and security of these on mobile devices have become mission critical. Organizations are adopting Mobile Device Management (MDM) solutions. MDM solutions comprise of remote device management features (e.g. remote wiping of data, remote locking of mobile devices, remote changing of password, etc.) MDM solutions comprise of Mobile Document Distribution. In this documents can be distributed on all devices in the organizations or on selected devices. MDM solutions also provide Mobile Application Management (MAM). In this, enterprise mobile applications can be distributed on all or selected devices. MAM can also manage licensing and distribution of third party paid applications (e.g. paid apps on App Store).

Paradigm Shift in Software Testing Techniques

Innovations in the mobile / wireless industry have unleashed several new business opportunities. These opportunities mean significant changes to the business processes. E.g. Instead of classical eCommerce retailing where retailer directly ships product to customer, mCommerce identifies customer location and estimates delivery time by identifying nearest retailer with available stock. Introduction of mobile and wireless technologies has triggered changes in the system design. E.g. Mobile data access has made it important to have cloud as integral part of the solution as only small amount of data can be stored on mobile devices. Such changes in the business processes and IT solutions have made it imperative to revise software testing techniques. This includes test design, test automation, performance testing, security testing, compatibility testing, UI/UX testing. New approach will involve identification new test automation possibilities, new test data design requirements, new performance test strategy, new security testing strategy.

Mobility has increased options of device IO. Unlike PCs which are designed for limited IO inputs such as mouse, keyboard, mic, etc. mobile devices are designed for several IO options such as sensors, camera, touch, voice, luminosity. A typical mobile app takes combination of inputs from multiple sources such as carrier voice data, carrier text data, remote actions, camera, voice, luminosity, touch, other sensors, etc. In order to identify complex usage conditions scientific test design approaches such as ‘pairwise testing’, ‘decision tables’ should be deployed. UI test automation will face challenges due to varied nature of UI inputs. Hence new techniques / solutions for test automation will have to be evolved.

Typical mobile apps support resolutions from ‘320 * 480’ to ‘768 * 1024’. Also the resolution sizes vary across different device makes. Due to different resolutions it is important to ensure that the UI is rendered properly on all the supported devices. Common technique is to use rich mobile device lab for testing mobile apps and identify UI related issues on range of popular devices. In order to optimize the cost test service providers are coming with solutions like ‘rental test device labs’. Physical devices in such labs can be accessed remotely and used for a given duration thus saving on the testing cost.

There are range of connectivity options with mobile devices such as Bluetooth, Wi-Fi, Infrared Data Association, NFC, USB, GSM, CDMA, etc. It is important for mission critical applications to ensure that the applications do not misbehave when multiple connectivity options are working at the same time (e.g. Wi-Fi and 3G, Bluetooth and 3G, Bluetooth and NFC, etc.) Since there are many such possible combinations, test design can be done using techniques such as truth tables (decision tables) or pairwise testing can be used to design connectivity interrupt tests to verify mobile app functionality when one or more connectivity interrupts are received by mobile device.

Enterprises are using mobile devices for communication, planning and collaboration. This has caused lot of sensitive information storage on mobile devices. Therefore mobiles have become popular target for security attacks (Reference 4). Mobile devices are vulnerable to physical theft as well as data theft. Hence data on such devices needs protection against software attacks (e.g. viruses, worms, trojans) as well as against physical device thefts. There are service providers who provide solutions for generic data backup. However individual mission critical (enterprise) apps also need to safeguard data against such risks. Therefor security testing of such apps has become important.

On one hand mobile devices have brought in the advantage of mobile access to data, on the other hand it has gotten constraints of limited processing and storage resources. Therefor mobile applications have to be designed keeping in mind limited resources. Performance testing of mobile application hence is important area of testing. Many third party performance tools are already there in the market (e.g. code profilers, log parsing tools, test data generation tools). Few tools provide mixed solutions for analyzing behavior of the application on the mobile devices when the underlying server is put to peak load on large size database. Detailed performance test design is therefore important, which considers right identification of usage scenarios, workload patterns, user of proper tools, collection of right metrics and logs, verification of data integrity, etc.

Usability testing will play ever important role while testing mobile applications. Due to new information technology concepts such as M2M, many machines will come with data collection and wireless communication features. If one is not able to properly activate, use and manage such features on the machines, the required data will not be available when there is a need for it. This may negatively impact ROI. Usability, intuitiveness of configuring and managing such features is going to play an important role.

References