In the past few years, mHealth apps have helped consumers conveniently manage their health conditions and has emerged as a fast-growing segment in the healthcare market. The global mHealth app market is projected to be valued at US$28.320 billion in 2018 and is expected to reach up to US$102.35 billion by 2023. According to a study by mHealth App Developer, more than 84,000 mHealth app publishers have released mobile apps for the medical and health and fitness market.
With such intense competition, developers need to understand the performance characteristics of their apps to ensure it delivers value and is easy to use. Testing apps under load conditions becomes crucial in a marketplace where these apps are being used by hundreds and thousands of users. And unlike regular apps, mHealth apps also need to follow healthcare compliance and safety regulations.
mHealth apps require testing early in the development cycle (and through its entire lifecycle). Before beginning load testing on an app, companies need to consider the following aspects that affect app performance.
1. Application Architecture
The assessment should start by reviewing the application architecture, components of the architecture, third-party services and expected device capabilities such as data connectivity, bandwidth (2G, or above), cache usage, storage usage, etc. These provide potential performance choke points that can be further worked on if required.
The next step is to evaluate overall system performance. Based on the architecture, typical metrics include server response times, errors, network latency and throughput, hits per sec, server CPU, memory, and network usage. Response times vary based on several factors, which may include:
2. API Performance
Isolated API performance tests help evaluate whether APIs are ready for prime time. APIs need to scale with increase in load – with response times remaining fairly consistent. An incremental load testing for APIs is a good approach to achieve this objective.
3. Storage Tier Performance (back end)
Testing the performance of the storage tier is another crucial step in mobile application performance test. Back-end performance testing helps identify bottlenecks in the application architecture. Appropriate usage of user stories, caching and data schema – all behave differently under read and write loads. And, the storage technology varies for different devices, OS, manufacturers, and even users especially in devices that allow user data to be stored on external SD cards.
4. Network
Throttle bandwidth testing can help to check the impact of the network speed on the performance of the mobile application. Most of the enterprise performance tools have built-in network emulation capabilities. The scripts used for measuring server-side performance can be re-used and the network emulation can be configured to throttle the bandwidth for variety of network conditions like 2G, 3G, 4G, Wi-Fi, etc.
5. Client side (front end)
The rendering time can be captured by using automation scripts while conducting the load test.
6. Tools
Conclusion
Architecture and development approaches make a significant impact to performance, making it imperative for companies (healthcare organizations as well as companies that develop mHealth apps) to conduct performance testing very early in the development life cycle. Selecting the proper tool, methodology and test approach will help developers maximize their testing output under various loads and conditions, improve reliability and response time to help deliver value to consumers.