Mobile speed – for the performance engineer, you must account for the network.
The end-user experience is greatly impacted by the network. No kidding right? This is occurring because consumers are transitioning from the home-based browser, with a high speed and stable network, to the wireless mobile network with varying bandwidth and varying stability. The home network connection on the latest Comcast cable service, consistently delivers 22 Mbps for downloads and 10 Mbps for uploads. Then when is use my iPhone 5 with Verizonwireless 4G/3G, the upload and download change significantly. Using some nice tools on my iPhone I can measure latency, upload and download speeds, Ookla Speedtest.net, Network Analyzer, Shunra, among others.
The end-user experience is paramount today’s for applications and that experience is greatly impacted by the variability of the wireless network. The user’s preferred device is a mobile device, divided between smartphones and tablets. What is the performance engineers preferred device? It must be a smartphone and a tablet. You must be able to measure the response time (end user experience) on these devices. Smartphone adoption is occurring so fast that, according to Branding Brand, by 2014 more than half the 49 Billion visits to the Internet Top 500 e-retailers will be from the smartphone. Think of how many more mobile phone contracts will hit the two year upgrade cycle in 2013. The mobile phone plans are changing as well, encouraging people to add tables to the plan. The upgrade cycle will switch many people from 3G to 4G, as the 4G wireless networks continue to be built out.
The content that is coming over the wireless network is changing. As the bandwidth increase, so does the size of the web page, or app. Video, pictures, voice, more connection to social site, Facebook and Google+.
The performance engineer must be able to measure the latency of the network, how many milliseconds to reach the destination. Measure the bandwidth of the connection, and be able to measure packet loss as well.
Architects, developers and performance engineers
They really should be one in the same, well certainly the Architects and the Performance Engineers, but that career path discussion is for another day. Mobile impacts every aspect of the Software Performance Engineering Body of Knowledge; SA: SDLC, PVT: Performance testing and validation, CP: Capacity planning, APM: Application performance management and of course PDR: Problem detection and resolution. Mobile is added to the underlying competencies and techniques.
The network impacts the architects and developers, and it impacts the software performance engineer. The architect must consider the challenges the wireless varying bandwidth will present. In a low bandwidth connection, what will happen when the connections are held open longer, from 50 milliseconds to 200 milliseconds? How will this change the time-out settings within each tier of the application? Applications must be designed with unreliable bandwidth and varying latency as part of the non-functional requirements. You now have to consider designing more resilient clients, or possibly a fatter client. Web pages has more and more third party sites and partner connection than ever before. The web page still must be rendered even when those are not available.
PVT: Performance testing and validation
The activities, tasks, and tools of the performance engineer must be modified to deal with the mobile application and the variable network. This test design and test cases must include the modified workload that includes many mobile cases, covering different devices, different network bandwidth and network latency, and importantly different test cases for degraded response times of third party components.
The test monitoring tools must include the network measurement, and network bandwidth simulators. The load generating tool must be able to launch large scale tests from the cloud. For instance a tool from Shunra will be very helpful in simulating the various network bandwidths.
The workload profile of a mobile site will be different from the PC-Browser based workload. The usage and access patterns will differ. The user profiles to simulate may change. These will require more complex test scenarios and test cases.
Test results analysis changes. The report must include the measure response time under different network bandwidth and latency.
More to come…