当前位置: 首页 > 科技观察

移动应用APP性能测试白皮书

时间:2023-03-22 16:32:31 科技观察

点击进入专项规划:优秀的移动应用性能监控工具一、前言下面所说的手机测试范围不包括短信和电话功能,是指通讯功能以外的应用。如今,手机已成为大多数人的日常必需品。手机的使用量逐年增加,手机上运行的应用程序也层出不穷。除了处理平时的电话和短信,人们也开始使用手机来拓展业务、联络亲友、拓展职业圈子、玩游戏、做广告、买卖商品。手机等移动平台的重要性不容小觑,各大商家纷纷开始研发手机版产品,抢占这一重要细分市场。在当今时代,移动应用程序和网站已成为人们开展业务、提高员工绩效和进入目标市场的主要方式。以下统计数据显示了手机应用在这个智能时代的重要性:截至2011年底,全球87%的人口(60亿)拥有手机,其中10亿人拥有智能手机,22%的手机用户使用手机手机至少每个月上网一次34%的美国用户和28%的欧洲用户在他们的手机上使用一个以上的移动应用程序Apps2011年,全球移动应用程序下载量约为300亿91%美国智能手机用户平均每天访问社交应用的时间为2.7小时,是平均吃饭时间的两倍,睡眠时间的三分之一在6亿Facebook用户中,三分之一的用户通过手机访问,一半的每天有1.65亿Twitter用户通过移动设备登录,约2亿Youtube用户通过移动设备登录。移动应用的使用率和重要性与日俱增,对用户体验的要求也越来越高。与桌面程序相比,移动应用程序耗电更少、速度更慢,但手机用户希望享受与桌面程序相同的加载速度。下面我们将讨论移动应用的重要性、移动应用性能测试的难点、移动应用与桌面应用的异同、移动应用的类型以及移动应用压力测试和性能调优的基本方法。2.移动应用的类型移动应用根据其架构可分为三类。要想做好性能测试,就需要了解各种应用的类型和内部架构。下面分别介绍一下每一类APP的基本情况。需要从在线商店下载并安装在特定移动设备上的本机应用程序属于此类。此类应用程序使用特定的编程语言(例如用于Android的Java和用于iOS的Object-C)编写,并结合用于特定移动设备的开放API。一旦用户在他们的移动设备上安装了该应用程序,他们就不需要连接到互联网就可以使用它。从在线商店下载的游戏应用程序和应用程序就是很好的例子。Web应用程序通过移动设备上的浏览器访问的应用程序称为Web应用程序。此类应用程序是使用HTML、JQuery和JavaScript等Web技术开发的。流行的社交网站,如Facebook(http://m.facebook.com)和Gmail(http://m.gmail.com),专门开发了基于移动设备的网络应用,受到移动用户的青睐。混合应用程序网络应用程序和本机应用程序的组合称为混合应用程序。在这种类型的应用程序中,连接的应用程序嵌入在本地移动应用程序中。用户界面就像一个本地应用程序,但内容需要在线加载。安装在移动设备上的Facebook、Linkedin和Twitter应用程序是此类“本地界面、网络内容”的很好示例。3.提高移动应用性能的重要性随着手机使用量的增加,手机性能的重要性也越来越显着。手机用户对性能的期望非常高,希望移动应用程序的运行速度与在计算机上一样快。据统计:71%的用户希望在手机上打开网页的速度与在电脑上一样快。5秒被认为是用户可以容忍的最长响应时间。如果响应时间超过5秒,74%的互联网用户和50%的移动应用程序用户将三分之一的失望用户转而使用竞争对手的应用程序与桌面应用程序相比,移动应用程序具有更复杂的架构和相对较少的可用资源。改进和保持快速响应时间比桌面应用程序更困难。四、移动应用测试的挑战做好性能测试从来都不是一件容易的事。搭建与生产环境相同的性能测试环境,一直是性能测试的第一步,也是非常重要的一步。然而,由于其复杂的架构,测试移动应用程序和网站更加困难。覆盖不同类型(联网、原生和混合应用)、不同平台(iOS、Android等)和不同网络环境(Wifi、2G、3G、3G+、4GLTE)也是手机测试的一大挑战。下面介绍手机性能测试相关的几个主要问题。模拟移动网络的互联网连接与桌面程序的高带宽、大多数手机用户使用的较慢的3G、3G+和4GLTE网络以及较差的无线连接进行比较。性能测试需要模拟不同手机网络的接入情况,这对于性能测试人员来说并不是一件容易的事情。市场上有成千上万的手机制造商,每个手机制造商往往使用不同的操作系统和手机配置。而且,即使是同一个品牌的手机,影响因素也是数不胜数,而且每个手机型号都有特定的配置,比如操作系统、处理器、内存和屏幕尺寸等,在测试移动应用程序时,这些因素都应该考虑在内或多或少,这绝对不是一件容易的事。面对这种情况,选择一款功能性能测试工具变得越来越重要。庞大的用户数量随着时间的推移,使用智能手机商务应用的用户数量将急剧增加,越来越多的用户将使用手机来处理重要的业务。随着用户数量的增加,相应的网络应用也需要增加。您不仅要满足现有用户的需求,还要及时添加新功能,这对于任何移动应用程序都极为重要。5、桌面Web应用和移动应用的区别无论是桌面Web应用还是移动应用,性能测试的基本原理都是相似的,尤其是移动Web应用。两者使用相同的技术,你不需要为移动应用选择专门的性能测试工具。测试工具只需要具备基本的性能测试能力,测试人员基本可以使用。尽管如此,移动应用程序和桌面应用程序仍然存在以下本质区别:客户端模式传统的Web应用程序运行在胖客户端上,而移动应用程序使用瘦客户端。胖客户端直接从服务器访问应用程序,而不是像瘦客户端那样通过信号塔传输数据,因此比瘦客户端具有更高的吞吐量和更快的速度。网络带宽网络带宽在性能方面起着重要作用,今天的桌面应用程序极大地受益于高速网络。移动网络在带宽方面也在改进,但仍无法与前者相提并论。大多数用户在低于3G或4G的网络上使用手机,应用程序的会话时间延长,用户的响应时间也增加,同时消耗更多电量。与桌面应用程序相比,带宽是导致移动应用程序性能不佳的最大单一原因。数据传输不同于桌面应用强大的CS架构,手机数据必须通过信号塔传输到用户设备。手机信号塔之间的数据传输历来很慢,导致移动应用程序的性能下降。DevicePowerWeb应用程序可以利用台式计算机的高速处理器和内存最大限度地提高性能,但移动设备的资源非常有限。移动设备只能依赖有限的电池和内存资源。操作方式不像桌面应用通过点击鼠标来操作,移动设备使用手指操作以获得更好的用户体验。手指操作不如鼠标快。更重要的是,设备实际上需要将触摸动作转化为点击。移动网络中的数据使用,流量是收费的。数据缓存技术是桌面应用提升用户体验的常用手段,但由于流量限制,该技术无法在移动应用中实现。性能指标由于架构的不同,Web和移动应用程序的性能指标也略有不同。除了响应时间和资源利用率等常规指标外,您还需要监控电池消耗、二进制大小等。6.手机性能测试基础知识和最佳实践本地移动应用脚本的录制您需要一个移动设备或模拟器来记录用户对本地移动应用的操作。记录用户操作以测试您的应用程序的性能需要暂时关闭移动设备或模拟器上的其他网络流量。你需要一个额外的设备来记录手机或模拟器上的流量,这个设备可以连接到互联网而不是移动设备或模拟器。如果用于记录的设备在防火墙后面运行,则无法从3G或4G网络获取流量记录。此问题的解决方案是将移动设备设置为代理记录器。通过强制数据通过记录代理,可以直接从移动设备记录用户操作。Web移动应用程序脚本的记录从移动Web应用程序捕获用户操作类似于桌面Web应用程序,因为它们都遵循相似的体系结构。为简单起见,可以使用桌面Web浏览器来记录移动Web应用程序的用户操作。但是,您需要修改用户请求以假装它来自移动设备而不是台式计算机。浏览器插件可以修改用户代理,使请求看起来像是来自移动设备。此外,最新的桌面网络浏览器需要支持最新的移动应用技术,如HTML5等。混合移动应用程序的脚本录制就像移动网络应用程序一样,桌面网络浏览器也可以用来录制各种混合移动应用程序。可以直接浏览到移动应用的URL地址,然后进行性能测试,就像测试一个纯Web应用一样。要准确评估应用程序的性能,必须识别和模拟最接近真实世界条件的设置。合理的负载模型是达到预期效果的关键。不同的用户有不同的上网条件(例如Wifi、3G和4G),成功的性能测试必须涵盖所有情况。所有流行的移动应用程序性能测试工具都可以模拟现实世界中的各种网络连接。此外,根据具体功能,重要的是对不同地理区域的大用户的责任进行建模。一个好的性能测试工具可以借助基于云的性能测试来模拟不同地理位置的大量用户负载。测试的执行受到监控,在测试所有应用程序对不同用户负载的响应后,将根据预定义的服务水平协议对结果进行全面分析。性能测试工具可以提供问题诊断能力,帮助您找到根源并快速解决问题。7.移动应用性能优化技术移动应用性能优化技术取决于具体的应用及其瓶颈特征。在这里我们分享一些优化移动应用程序性能的一般技巧:减少从客户端到服务器的HTTP请求数量可以缩短页面加载时间将JavaScript和CSS捆绑到文件中并在多个页面之间共享它们也是优化性能的好方法方式虽然浏览器缓存在移动应用中不是那么有效,但是可以使用HTML5网页存储技术,而不是使用嵌入式脚本资源。链接引用会大大延长加载时间。压缩或最小化接口资源,占用更少的带宽,也可以提高速度。根据屏幕尺寸裁剪图像,不仅可以减小图像尺寸,还可以提高处理速度。优秀的用户体验会是用户驻足的原因之一。移动应用程序性能测试的原则与传统桌面应用程序相同。然而,要全面测试移动应用程序的性能参数,测试人员需要了解各种移动应用程序的架构及其与桌面应用程序的根本区别,例如带宽、处理器、屏幕尺寸等。