Ensuring results and returns from the app bandwagon ride
The growth of mobile technology has been phenomenal in the last decade. Mobility has emerged as a top IT priority for businesses to stay relevant, maintain a competitive edge, and unearth new business and revenue opportunities. Smart phones and tablets have become devices of choice, not just for communication, but also for business transactions. Continuous high speed and always-on connectivity are no longer good-to-have features, but accepted norms. Consumers now prefer to interact with brands through their gadgets. In response to this accelerating trend, brands are investing in mobile and social technologies. The plethora of brand-specific business apps available for download on app stores, bears testimony to this trend. Has your brand too jumped on the mobile app bandwagon, to build brand loyalty? How can you assure return and results?
Your customers love your brand, and use your applications. But what if the app doesnt meet performance expectations? The point is simple. If customers cant use it, they wont. And theyll switch to an easier, pleasant alternative even if they love your brand. A buggy app can serve your customer base to competition on a platter. Jumping on to the mobile app bandwagon is a good move assuring your apps performance is smarter. However, without the right QA approach, this important process could appear daunting.
Lets dwell deeper. What does performance testing mean to different stakeholders? With adequate performance testing, businesses ensure throughput, capacity and consumption (usage) of their brand apps. From the customer perspective, a performance tested app ensures improved response time, which in turn, results in enhanced customer satisfaction. Compromised performance testing can prove disastrous. Black Friday of 2014 is a lesson for all a day on which a large, global retail company, expecting its cash registers to ring, and ring loud, was in for a shock. Instead of cash registers ringing, their servers, unable to handle the sudden surge in traffic, went crashing. Investigations attributed the crash to compromised performance testing. To prevent recurrence, the company provisioned adequate performance testing in its development arsenal. But damage control went far beyond process fixes carefully crafted apologies on print and social media, combined with series of communiqus to regain customer confidence and brand value. Not all companies can succeed with such reactive, post-facto damage control. Proactive performance testing is clearly, the way to go.
Assuring mobile app performance appears complex because of the variety and multiplicity of device, operating system, browser and network, bandwidth and latency combinations. The app needs to offer consistent performance and experience across this diverse technology spectrum, and should also be scalable to handle exponential increase in load. And then, there is the challenge of shrinking budgets, packed schedules and the need for rapid roll-out, to stay ahead of competition. The mobile development project manager needs to be a master juggler balancing management, workforce, market, and customer objectives.
Heres a practical, actionable approach that helps maintain balance from start to finish without losing control.
- At the outset, in addition to functional requirements, test plans must also identify important performance parameters such as response time, backend throughput, and network bandwidth. Testing must be performed on real devices, spread across varied device-operating system combinations. A comprehensive simulation model can be deployed to ensure all possible network and high latency conditions. Test devices must be physically located at the test location, or accessible through a remote cloud service. Peak user and device load can be simulated and managed with load generators and controllers. WAN emulators must be provisioned to measure and improve bandwidth, network latency loss and jitter, and calibrate network characteristics.
- To ensure maximum test coverage, end-to-end performance testing must comprise test execution across three layers. First, Content Delivery testing involves sending requests to the server, assuring response management at the server end, and validating the response back to the mobile device. The test measures loads on application and database servers, as well as external components. For content heavy applications, a content distribution network (CDN) such as Akamai or Amazon Cloudfront can be used to serve content from nearest local zones of the CDN, reduce network latency, and accelerate content delivery. Next, a network dependency test measures application performance across network types (3G, 4G, WiFi), protocols (SOAP, REST, HTTPS, WAP), and bandwidth. Finally, the content rendering test checks for usability of the rendered content its display and user interaction. It checks for responsiveness of the content, across device display and operating system combinations.
- An effective test metrics portfolio, comprising test results, network constraints, usage data and other measures at the application, network, device and user levels, helps analyze problems, discover issues, and fine-tune application performance accordingly. Specific measures include Throughput or the volume of data transactions, which depends on the number of concurrent user connections and the input parameters. Here, concurrency reflects real time application usage as expected in production, latency refers to end user response time, and system utilization CPU, memory, disk and other resource levels.
In this end-to-end performance testing process, automation and cloud play important roles. Besides eliminating the need for upfront capital investment and saving on equipment maintenance, the cloud also eliminates deployment and administration overheads, resulting in reduced cost of quality and ownership. Another important, not to be missed, automation aspect is the use of an Application Performance Management (APM) tool, to identify performance bottlenecks. Its important to select the right APM tool one which supports diverse application types (native, hybrid, browser-based), and varied network, operation system, device and screen combinations. At a bare minimum, APM tools must also enable transaction recordings and activity logs, be easy to use, with low maintenance and scripting overheads.
Armed with such an all-encompassing, smart performance testing approach, businesses can ensure superior app performance, stability, security and data privacy. So before beginning your next app development project, remember functionality and speed, beyond doubt, are important. But customer delight is paramount.