浅谈移动端性能测试的方法和应用

随着移动设备的普及和使用范围越来越广,APP的性能测试变的越来越重要。比起之前的APP测试,APP性能测试有着自己的特色和KPI,难度也随之增加。

APP的自动化测试工具发展跟不上设备的发展速度,虽然有不少工具提供了设备模拟器来运行程序,但是和真机测试有较大差异,基本只能作为功能性测试使用。好消息就是,有些厂商提供了在线的真机自动化测试方案。

和传统测试的差异

1.移动站点:和传统的只是一个普通的手机站不同(WAP站),随着HTML5的兴起和智能设备开放的传感器接口,移动站点很多时候很像一个APP,但依然使用的是HTTP或者HTTPS协议,从协议来说,很多测试和之前的WEB测试差异并不大。

2.本地化APP:APP的测试最为复杂,虽然开发环境如DDMSXCODE都自带有一定性能测试测试功能,但主要是单APP运行时的性能测试,是在并发、压力等方面薄弱,且因为移动测试远不如传统测试发展的时间长,因此很多专项工具很匮乏,需要自动开发或者借助传统性能测试工具实现。

3.混合型:APP加移动站的形式实现,很多移动端并不是单独的APP或者移动站点,而是混合使用,比如LINKEDIN的APP,本地化APP用来做UI,大量的内容是以移动站的形式放到云端,APP向网站请求网页数据,然后在APP端展现给客户。测试这类APP的时候,更为复杂,因为需要同时测试移动站和APP的。

移动端性能测试准备:

测试移动端性能之前,我们要先将要测试的内容进行抽象,抽象出两大类

1.设备相关测试:虽然IT行业很重视跨平台、跨浏览器,但有些功能是需要强设备相关的,比如指纹、支付等。设备品牌不同、型号不同、OS版本不同、浏览器不同,其结果就可能不同。这对于性能测试是个很大挑战。

2.API测试(设备无关,抽象成API测试):APP使用API相互之间、和服务器之间进行交互,性能测试时,对这些API提取出来,并根据测试场景,分析其使用方法和压力情况,设计出合理的性能测试方法。API的性能测试和传统的API性能测试较为雷同。

测试设计

依据是否关注在移动端在真机的性能表现分为:监测APP在真机性能和不监测APP在真机性能。

不监测APP在真机性能:一般来说是需要监测APP在真机性能,但并不是全部的,上面我们有说过,有些是网页形式的,这时主要是测试移动WEB网页的性能,而不是APP真机性能。

移动站点:测试移动站点的时候需要使用浏览器,但是浏览器和电脑的浏览器不同,需要使用移动浏览器来测试,中国市场的移动浏览器主要为:UCQQ百度360谷歌浏览器,海外市场的占有率请自行查资料。

测试移动站时,需要模拟移动浏览器,服务器是依靠HTTP请求头的”User-Agent”字段值来区分浏览器类型,不同的浏览器其User-Agent是不同的,有的测试工具可以自定义此字段值,可以通过自定义此字段值来模拟各个浏览器.

移动APP:APP的各项功能都是一个个函数组成的,将APP的功能抽象到API中,通过脚本调用API来实现性能测试.

监测真机性能:测试并发和负载的真机性能时,不可能使用大量的真机进行测试,我们可以使用少量真机并配合自动化脚本.用自动化测试脚本调用API或HTTP请求,形成大规模测试,再使用少量真机访问服务,记录KPI数据,并观测其反应.各IDE和OS都提供了基本的一些性能检测功能,能够满足一般的性能需求.

相关推荐