版权声明:本文为原创文章,转载请先联系并标明出处

APP性能测试分为客户端性能测试服务端性能测试,客户端的性能测试主要是针对启动快慢耗电量耗流量内存使用等指标进行评估,目前主流的APP客户端性能测试工具有腾讯GT、testin、听云、AppsTest等等。而针对APP服务端的性能测试,主要关注点在于服务端的压力,与传统软件的服务端性能测试没太大区别,都是根据客户端与服务端通信使用的不同协议来构建对应协议的请求,目前使用最多的还是http协议。

性能测试中的脚本录制对传统的PC端-服务器端模式支持的已经非常好了,我们在浏览器上操作一遍业务,脚本就已经录制好了,这些例子网上也随处可见。但是对于手机APP脚本录制,就没那么容易了。LoadRunner为例,loadrunner12也支持了手机APP脚本录制,但是因LoadRunner购买价格昂贵,使用成本直线上升,所以土豪公司可以考虑,接地气的公司建议使用HyperPacer

本文中,我们使用HyperPacer为例,进行APP服务器端的压力测试

那么在HyperPacer中,如何实现APP的脚本录制呢,下面来简单介绍一下。

我们以红极一时的新浪微博手机客户端为例,来看一下HyperPacer中手机APP程序的脚本录制。

1、打开HYPERPACER,建立测试工程,选择压力测试场景

2、点击【录制】图标,进行脚本录制设置,默认浏览器选择“MOBILE APP”,监听端口选择固定端口并设置为5151,如下图:

注意:首页地址空着,不需要填写。

3、在录制配置界面点击确定后,会给出提示如何设置手机客户端,注意,此步骤先不录制,不要点提示信息中的【确定】!我们只是明确一下主机名和端口号。

4、在手机中打开无线网设置,设置HTTP代理(IOS系统为设置-无线局域网,选择所连接的无线网进行设置),代理选择手动,服务器和端口为提示信息中的地址和端口,即IP地址10.2.9.21、5151端口

5、在HYPERPACER的提示信息界面,点击【确定】按钮开始录制脚本。

6、录制开始后,需要操作新浪微博手机APP,完成脚本录制,我们录制以下几个业务:登录微博—查看我的账号—发布一条微博—退出微博,录制完成后见下图:

7、脚本录制完成后,需要准备用户数据等数据,对脚本进行参数化,直至脚本调试通过。

基于上面的实例,我们来讲解压力的起点和加压策略。压力的起点是通过负载测试得来的,也就是系统正常运行的最大负载量,对于微博这种应用广泛的web应用,我们假定它的正常运行的负载量是200用户(当然实际肯定远不止如此),最大用户数是500(实际也远不止如此),基准用户每秒加载10个,过载用户每秒加载15个,配置如下:

根据设定,前20秒每秒加载10个用户,直到200个基准用户加载完毕,接下来20秒每秒加载15个用户,直到300个过载用户加载完毕;所有500个用户加载完毕后,运行3分钟,运行完后,所有的500用户在30秒内退出系统。这里的数值要根据实际情况进行设定了。

HyperPacer中,可以通过压力阀配置系统过载的依据,压力阀包括资源使用情况、响应时间以及吞吐量等。

本例中我们度量平均每秒2个交易。执行压力测试后可以检查每秒是否低于2个交易,低于2个交易则终止执行。

参考文章:

LoadRunner对移动互联网后端服务器压力测试

原文出处

(原创)如何对APP服务端进行压力测试的更多相关文章

  1. App服务端架构变迁

    随着移动互联网时代的到来,移动技术也随之飞速发展.如今,App已然成为绝大多数互联网企业用来获取用户的核心渠道.以往以PC为主要承载平台的各业务线,源源不断集成加入到移动项目中来,原本以产品为中心快速 ...

  2. 移动App服务端架构设计

      我从事手机app服务端开发现在已经是3个年头,自己也整理出了一套相对好用的服务架构,写出来,跟大家一起分享.如有不足,还请多指教. 一:基础流程图. 其实有一点还需要加上,就是对json的压缩和加 ...

  3. socket服务端开发之测试使用threading和gevent框架

    socket服务端开发之测试使用threading和gevent框架 话题是测试下多线程和gevent在socket服务端的小包表现能力,测试的方法不太严谨,也没有用event loop + pool ...

  4. 移动APP服务端设计开发注意要点

    2014年,移动APP的热度丝毫没有减退,怎么为您的移动端app设计良好的服务器端接口(API)呢? 下面谈谈我个人的一些想法. 2014年,移动APP的热度丝毫没有减退,并没有像桌面软件被WEB网站 ...

  5. 移动APP服务端API设计应该考虑到的问题

    2014年,移动APP的热度丝毫没有减退,并没有像桌面软件被WEB网站那样所取代, 不但如此,越来越多的传统应用.网站也都开始制作自己的移动APP,也就是我们常说的IOS客户端.android客户端. ...

  6. APP服务端开发遇到的问题总结(后续再整理解决方法)

    IOS  AES对称加密,加密结果不同,问题解决 IOS http post请求,使用AFNetworing 框架,默认请求content-type为application/json ,所以无法使用@ ...

  7. 如何排查APP服务端和客户端是否支持ATS

    服务端排查 取得客户端直接连接的服务端域名及端口,例如mob.com.cn,端口443,即HTTPS默认端口.针对公网可访问的生产环境地址,建议使用的在线监测工具.https://wosign.ssl ...

  8. Monkey (压力测试)-移动端手机压力测试工具 monkey以及monkeyrunner

    4. Monkey (压力测试) 这个是Android提供的系统工具.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行压力测试.Monkey测试是一种 ...

  9. 如何正确的做WEB端的压力测试

    1.对要测试的系统进行分析,明确需要对哪一块做压力测试.比如:淘宝网站双十一期间,秒杀跟支付,此模式用户操作中占比比较大 再比如:游戏,登录--开始战斗--结束战斗这种混合模式在用户操作中占比较大 那 ...

随机推荐

  1. 洛谷—— P2504 [HAOI2006]聪明的猴子

    P2504 [HAOI2006]聪明的猴子 题目描述 在一个热带雨林中生存着一群猴子,它们以树上的果子为生.昨天下了一场大雨,现在雨过天晴,但整个雨林的地表还是被大水淹没着,部分植物的树冠露在水面上. ...

  2. cogs——908. 校园网

    908. 校园网 ★★   输入文件:schlnet.in   输出文件:schlnet.out   简单对比 时间限制:1 s   内存限制:128 MB USACO/schlnet(译 by Fe ...

  3. 非常适合新手的jq/zepto源码分析03

    zepto.fragment = function(html, name, properties) { var dom, nodes, container // 如果是简单的标签<div> ...

  4. [Vue-rx] Share RxJS Streams to Avoid Multiple Requests in Vue.js

    Splitting a stream into multiple streams causes new subscriptions. You can think of new subscription ...

  5. ORACLE database console无法登陆

    登陆EM时给我报这个错 Code d'erreur : ssl_error_weak_server_cert_key 仅仅须要关闭EM的SSL就好了 [oracle@ace-PROD1 ~]$ emc ...

  6. iOS开发-植入广告(iAd, Admob实例)

    应用中植入广告是一种非常好的盈利手段. 以下介绍主流的两种方法.iAd, Admob 先mark一个非常具体的pdf.   http://pan.baidu.com/share/link?sharei ...

  7. VCL源码修改立即生效

    为了深刻学习Delphi的VCL源码,要使的它立刻修改生效.网上很多办法,这招最简单最管用: 把source\vcl路径添加进来,只要有修改vcl源程序,都会重新编译.但是对RTL源码不能这样做. - ...

  8. 关于EditText的android:maxLength属性的注意事项

    一直以为在xml布局文件中对EditText添加 android:maxLength="30";属性是控制EditText字符数的.想当然的以为一个中文占2个字符,一个英文占1个字 ...

  9. YTU 2720: 删出多余的空格

    2720: 删出多余的空格 时间限制: 1 Sec  内存限制: 128 MB 提交: 338  解决: 201 题目描述 小平在给弟弟检查英语作业时时,发现每个英语句子单词之间的空格个数不等,请你编 ...

  10. Dictionary<string, string>是一个泛型使用说明

    Dictionary<string, string>是一个泛型使用说明 Posted on 2010-08-05 15:03 moss_tan_jun 阅读(2273) 评论(0) 编辑  ...