游戏开发论坛

 找回密码
 立即注册
搜索
查看: 6360|回复: 1

使用Loadrunner测试安卓网游的服务端与客服端性能

[复制链接]

10

主题

15

帖子

37

积分

注册会员

Rank: 2

积分
37
发表于 2014-9-19 11:30:06 | 显示全部楼层 |阅读模式
本帖最后由 a3501200 于 2014-9-19 16:32 编辑

之前是做页游的,在软件测试中经常用lR做性能,后面在页游中LR也能起到客服端和服务端性能测试;目前在一手游项目,就想着如何用lr做服务端和客服端性能测试。

在测试群里交流了一番,有人推荐Android monkey,但是Android monkey这工具主要用于强度测试和随机测试,对于做并发用处不大;程序又没写工具出来,于是自己网上找了些资料,然后算是折腾出来了些,所以分享下有些问题大家还可以讨论下。


如果是单独想做APP某个按钮点击多少次之类的,Android monkey完全可以胜任,对Android monkey了解不多,暂时还没深入去弄过。


转回正题,因为LR缘故,所以都是在模拟器上进行测试的,虽然实际终端和模拟器会有些差别,例如配置、网络环境等因素,但这当个抽样。


1、首先我们得安装安卓SDK,然后运行 SDK Manager.exe,配置和下载需要使用的android操作系统版本;(有的SDK集成在eclipse中,像LZ下载的就是这个,所以得进入X:\eclipse\eclipse.exe中,其中这个程序,在这里面建立模拟终端。) 具体如图:
1.jpg

进入后,点击NEW新建一个终端,当然可以编辑和删除掉,如图:

2.jpg
在这里要提别提醒以下是,因为windows下限制,终端的RAM(运行内存)最大不能超过768M,否则会无法启动模拟器;LZ就是被这个卡了很久,因为目前手机网游ARPG类型基本最低要求配置都会是1G运行内存。

配置好后,启动模拟器,给模拟器装上需要测试的APP,然后在模拟器中先运行下,确保应用工作正常。

2、之后关闭模拟器,打开LR,在Virtual User Generator中新建一个脚本,之后是选择协议,协议去问程序,看游戏使用的是什么通讯协议。

之后是调用模拟器程序,在应用程序类型中,我们选择Win32应用程序;
将要录制的程序,选择安卓sdk程序emulator的本机路径;
程序参数填写自己之前建好的模拟器名称,不过前面需要加上个@符号;像我的@SR 具体如图:
3.jpg

之后,点击确定,LR会调用启动安卓模拟器,并显示出记录条;进入自己要测试的应用,然后点击开始记录,就可以看到LR捕获的事件了,具体要捕获的事件就看自己的测试需求。

把自己想要的事件捕获后,完成生成脚本,去掉一些冗余;然后先调试下单一角色进行回放,当该角色可以登录游戏并跑动后,再在Vuser中参数列表中新建参数,之后表格中填写你需要批量登入的账号(此处支持文本操作,可以批量写入。)之后保存,返回。
之后保存脚本,打开场景,在场景中按照自己的设定去跑场景回放就好了。

开始后,客服端,我们可以观察界面问题,多人在线会不会造成某些预期结果,如多人站在一点造成贴图问题,响应时间,FPS帧数,脚本中定义的事务响应时间等,这里都是测试可以去自己去定义的。
服务端同理,可以看服务器响应时间,处理等等。

当然如果程序那边支持的话,我们可以直接跨过模拟器,比如测试登入上限,可以通过LR直接调用程序接口,这样就完全脱离了模拟器,我们只需要在LR脚本运行后,从手机登入账号去观察就好了,而测试数据会记录在LR中。

不管是那种方法,都需要询问程序,游戏是使用什么协议;像我上个公司的页游是使用Socket通信,所以在录制时选择的时双协议HTTP+Socket; 在测试时可以和程序协商下,跳过账号密码验证,然后用lr中创建批量账号进行登入。
并发时需要项目经理或制作人、程序给个预估值,服务器承载预估,这个值不是测试去预估的。



10

主题

15

帖子

37

积分

注册会员

Rank: 2

积分
37
 楼主| 发表于 2014-9-19 11:30:55 | 显示全部楼层
本帖最后由 a3501200 于 2014-9-19 16:33 编辑

帖子加入了公司等几个敏感词汇,自动被拉到回收站了。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2024-11-21 20:39

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表