手游软件安全性测试是什么怎么测的?

手游安全测试SR客户案例
为什么做手游安全测试
提前挖掘漏洞,并提供修复方案,让外挂无机可乘。
与加固类产品的区别
一般安全加固产品都是提高外挂制作门槛,不会从根本上消除漏洞和外挂。该产品是直接找到漏洞并修复,消除外挂风险。
与APP安全扫描产品的区别
手游安全测试,不仅通过智能自动化工具进行漏洞检测,还会紧密结合游戏具体玩法和功能,完全模拟外挂工作室分析游戏作弊点的过程,找到通过非正常途径的获益点。
支持Unity3D、UE4、Cocos2D等主流引擎的游戏,从游戏通信协议、客户端函数安全、脚本逻辑、内存安全、静态资源安全等多个维度挖掘业务安全漏洞。
工程师来自腾讯IEG手游漏洞测试团队,具有极为丰富的实战经验, 曾服务过腾讯自研、代理游戏超过150款,累积服务产品版本700+,使用行业独创渗透测试方案提供专业级服务。
腾讯游戏6星级质量标准,获得与《王者荣耀》、《穿越火线-枪战王者》、《龙之谷》等腾讯顶级手游同等测试服务品质。
按效果付费,无漏洞,不收费。
无需接入SDK,对游戏本身无影响。
产品功能风险分析熟悉游戏,进行风险分析,设计测试风险点。
漏洞挖掘安全测试专家分组进行安全渗透测试,提交漏洞。
漏洞类型:包含服务器宕机、盗刷钻石、无敌秒杀、全屏攻击、游戏加速等40多种漏洞,不同游戏类型有所区别。
测试维度:游戏通信协议、服务器健壮性、客户端函数安全、脚本逻辑安全、内存安全、静态资源安全、变速测试等。
报告汇总汇总游戏风险评估结果和漏洞,发送测试报告。
应用场景在开发阶段,或者不删档测试前1-2个月,此时测试出游戏的漏洞,减少漏洞的修复成本,在上线后游戏更加安全无忧。
预约(1个工作日)
填写表单企业填写测试需求。
商务沟通确定测试意向,确认《漏洞定级标准》,签订合作合同。
提交(1个工作日)
提交材料游戏API包、稳定的测试环境、GM命令。
执行(5-8个工作日)
风险分析熟悉游戏,进行风险分析,设计测试风险点。
漏洞挖掘安全测试专家分组进行安全渗透测试,提交漏洞。
报告汇总汇总游戏风险评估结果和漏洞,发送测试报告。
完成(1个工作日)
漏洞审核企业按照《漏洞定级标准》审核漏洞。
测试结算双方依据合同结算测试费用,企业支付费用。
文档常见问题使用手册新手指南TestBird-APP和手游测试专家
TestBird获政府补贴政策支持
最高可享20%补贴
凡在成都市高新区注册的企业,均可享受政府补贴政策
产品与服务
超过9,379,241次测试任务,为他们提供质量管控
在手游领域,我们已经被全行业70%以上客户视为测试的第一选择,几乎每款爆款手游背后都有我们的专业质量解决方案支持
我们深知金融证券行业对风险防控和安全保障的高度重视,致力于为您提供最适合的定制化解决方案,一站式解决您的质量问题
智能硬件及其它
为智能硬件开发者提供精细化的测试设计和高效的测试服务,完美解决目前智能硬件面临的三大类质量问题,让智能硬件更加稳健
我们把实验室建在最贴近您的地方
香港测试中心
TestBird测试中心
电信测试中心
服务开发者
1,000,000+
服务移动应用
热门手机机型数量
覆盖主流机型
众测专业测试人员
超过9,379,241次测试任务,为他们提供质量管控
在手游领域,我们已经被全行业70%以上客户视为测试的第一选择,几乎每款爆款手游背后都有我们的专业质量解决方案支持
手游行业解决方案 >
我们深知金融证券行业对风险防控和安全保障的高度重视,致力于为您提供最适合的定制化解决方案,一站式解决您的质量问题
智能硬件及其他
为智能硬件开发者提供精细化的测试设计和高效的测试服务,完美解决目前智能硬件面临的三大类质量问题,让智能硬件更加稳健
今天开始提交项目
使用TestBird测试项目提升产品质量,通过云终端调试产品
并追踪您的线上产品数据
电话:028-
成都中云天下科技有限公司蜀ICP备号-1
刘&&&&箫:153
李荪硕:139
郭祚鹏:139
张云峰:135
成都中云天下科技有限公司蜀ICP备号-1从B级到S级,我们应当如何看待手游测试数据?
​  龙虎豹最近在接触开发者时,常听到这样一句话:“最近产品的测试数据不好,在调。”一次两次还好,听到的次数多了,我们也不自觉地关注起这个话题来。
  作为从业者,大家对于游戏测试并不陌生。端游时代的游戏测试多为人工测试,分为黑盒与白盒两种。白盒测试指的是对游戏内部逻辑以及路径进行测试;黑盒测试则是仅从玩家角度来体验游戏,进行游戏的安装、启动、操作体验。
  而上文开发者口中的测试数据绝非白盒测试,而是从玩家的角度体验游戏之后以数据的形式反馈给CP的结果。这一过程中涉及的玩家多了,直观体现在数据上的就是产品的次日留存率、七日留存率等信息指标。而龙虎豹今天要说的就是如何正确利用手游“黑盒”测试数据。
  有一位在游戏行业有着多年运营经验的从业者这样告诉我们:从目前的量级和情况来看,手游测试远没有到达可以“透过现象看本质”的阶段。因为这类测试并非AB测试,它是没有对照组可言的。
  的确,在现有的人力物力下,谁会仅仅为了测试就专门用两个版本甚至两款产品来做数据比对呢?所以大家也就没有办法通过数据,细致了解到每一环节存在的具体问题。也正是这一点使得在手游测试这条分水岭之下体现出了大公司和小公司在技术与团队经验上的差别。
  比如腾讯在游戏测试期间可以依托庞大的用户储备作为样本,数据平台足够强大就可以较为细致地追踪数据,看看用户到底在哪一步流失了,再问问用户的心流体验如何。没错,很多公司已经引入“心流体验”理论了(游戏情景内,玩家虽在体验中,但是并没有全身心投入,着重考察游戏中挑战和技能的对应关系),而普通CP甚至渠道主要还是以“次日留存”“7日留存”“活跃用户数”等数据作为主要依据。
  在这里需要澄清的是,以上这段话并不是在说“你看,大公司就是会玩”“小公司都没有生存空间了”云云,而是在说随着时间的推移,行业的发展,玩家向的手游测试内容以及衡量标准也在不断细化,大家完全可以借助各方的资源与积累测出想要的数据,同时做到不仅仅“以数据论英雄”。而且事实证明,如果一款MMO游戏测试期间次日留存率不高,制作人也很可能凭借自己经验暂时忽视这点,转而选择看付费情况以及LTV。
手游测试:测试人群引导测试环境
  测试环境和测试人群永远是一项实验中的先决条件。对于手游测试而言,测试环境的选择主要基于人群定位。来自全球最大手游测试平台Testin的相关负责人告诉我们,手游测试的类型可以按照接触人群划分为平台、网吧和专业团队等。第一种是与有平台的公司进行合作(比如腾讯),与对应的运营事业部进行对接,对具有相关特权的玩家进行开放测试;第二种是与相应的线下网吧进行现场地推式合作;第三种是专业团队,找到具体的专业产品测试团队,针对产品的具体功能、实际需求导入用户进行针对性测试。
  而从CP的角度来说,根据不同的游戏类型和市场策略,各大游戏公司都会根据自己以往的测试流程制定测试计划,目的就是了解游戏各系统的用户反馈以及上线前期预热的效果。选择的人群一般都是从游戏品类或者题材的核心用户到泛游戏用户,数量上从少量封测到大范围测试。
  一般来说,休闲游戏前期测试可以直接利用渠道或者广告平台导量;MMO等重度手游可以在测试期从核心玩家入手。但是其中的利弊需要大家仔细衡量。通常来说,通过贴吧、官网限号等方式可以找到目标玩家进行测试,但是有时由于项目周期短,测试人员会选择特定团队进行测试,其中不得不提到的就是公会。
  由于现在很多公会的会长和游戏公司之间会存在利益关系,很可能为了产品提高留存率,以获得渠道的高评级争取内部资源来寻求更高收益,所以很难获得比较客观公正的结果。而且公会会员并非小白玩家,对于新手引导以及一些游戏的设计完全可以应对,如果游戏公司是为了内部产品调优,这个群体是不可取的。同时我们也建议各渠道在拿到前期测试数据时可以针对测试人群进行大致分析。
不同人群,不同目的,不同测试
  游戏的测试环境和步骤并没有很严格的模型之说,而是看是否适合某一款产品的测试节奏。比如风贼互娱最近推出的《新莽荒纪》前后进行了四轮测试,每次测试的目的与选择的用户群体都有不同。
  通常来说,一款产品之前初期测试关注的是适配等技术问题,同样是连接网络,端游测试看显卡适配;页游要关注Flash、浏览器版本的兼容性;手游则是不同型号的收集、iOS平台以及不同Android平台之间的兼容程度。此外就是客户端性能测试、安全测试、网络、耗电量等调试,手游压测选择的人群也是小到1千,大到几万。由于本文主要以运营用户向数据为主,也就不在此多做描述了。
  之后的测试就是围绕核心用户与泛游戏用户的游戏体验和数据展开了。现在很多IP游戏测试期在寻找核心玩家时多数会通过微博、贴吧、官网限号等方式进行定向。当然,如果条件允许,项目组也可以将核心粉丝群拉到公司来“坐坐”,在现场体验游戏,即时反馈。
  像昆仑推出《艾尔战记》就曾把二次元用户邀到公司来看游戏的设计,畅游也曾在端游时期请玩家现场体验,观察玩家现场反应与行为得到反馈调整产品。也就是说,数据不仅限于后台与纸面,还有个体真实反应。而且美术、音效等因素一般是不能通过数据直观得出的,这就需要调查问卷或者现场采访进行补充。
  不过有趣的是,有时候因为玩家知道自己在接受测试,所以总会给出非常符合三观的回答,比如“公交车上应该主动给老人小孩儿让座”神马的,然而现实情境中还会具体问题具体分析。
  之后就是单一渠道到多个渠道的横向对比。通常一款游戏的次日留存率如果达到50%-60%,可以在渠道获得A级或者S级的评价,可分配的资源也就更多。这也就解释了为什么有些公司会让公会介入测试了。到了多渠道介入时,次日留存率可能会下降10%左右。
为什么两次测试的数据差异那么大?
  通常来说一款手游从用户安装到付费,进行不同阶段的测试时,上图中列出的数据都具有普遍参考价值。行业中次日留存率、7日留存率、30日留存率、付费率、APPU以及LTV都是常用数据。然而还有一些数据其实可以进一步关注。比如游戏处于封测删档,封测不删档等不同的开放版本时,可以关注流失率来观测模块中的用户参与度以及黏性,以便后续开新服时进行参考。
  此外,登录注册数量可以在一定程度上衡量广告素材与前期推广的效果,进入游戏大厅的人数、玩家等级、在线市场以及用户峰值在线时间段都可以作为统计要素。因为如休闲游戏者,它的付费程度普遍低于重度游戏,但是根据在线时长以及用户在线的时间段可以进行广告添加。而且这些数值可以作为渠道参考的依据。
  当然,目前行业中大多数参考的数据还是留存率,可是前期测试留存率高,后期公测留存率暴跌也是最为常见的情况之一。
  Testin的负责人向我们介绍,通常会有几点造成前期测试数据与渠道大范围测试时数据差异较大:
  首先就是没有抓住自己想关注的点或者关注点不够深入,比如登录注册人数。大家都希望用户进入率不低于70%,但是测试阶段导入的量不够,以至于测试数据高于70%,但是大批量用户进入后,流失率激增,甚至会减至50%。
  除了用户数量以外,还有用户质量。测试时的核心玩家忠诚度、对同类游戏的了解情况都比较好,一旦范围扩大用户质量就会下降。而且值得注意的是,全部为核心玩家在游戏内构成的“社会结构和社会形态”(原谅我找不到更恰当的词了)在大量普通玩家进入游戏后会被破坏、重塑。这就和“《阴阳师》爆火之后,大家会纠结、吐槽抽不到SSR,而日本玩家对这一点只是‘微笑不语’”是一个道理。
  其次就是测试时添加了假数据。通过相关数据库,GM命令等方式达到验证功能的结果,而实际玩家(包含R玩家跟非R玩家),都是通过真实的时间积累成长的数据,而且使用的时间段,成长方式都是不同的。
  此外,开服停服,更新升级,跨服等等也都会对结果产生影响。
测试也细分:结合自身,具化测试点
  为此,Testin给出的建议是:“各个产品的特性不同,各游戏公司基本都有自己的测试人员,很多时候我们是应游戏公司的需求对于某一特定功能进行测试。大家可以根据自身产品的情况以及特征不断细化测试点,找到符合自己定位的测试方法和参照数据。”
  龙虎豹也在此前的文章《》中提到过腾讯用“三日留存除以次日留存”的方式看产品情况。
  再比如,现在很多公司会以“热力图”的方式进行测试,说白了,就是依据玩家手指或者鼠标在屏幕上的点击行为的集中程度来分析用户的行为轨迹。《英雄联萌》就曾用这个方式测试过英雄的技能数值是否符合设计初衷。比如说英雄龙女是偏“上单”的角色,如果热力图显示龙女在上路、中路死亡次数较多,就可以判断人物设计符合整体预期;如果龙女在野区和下路死亡次数较多,则说明玩家通常启用龙女“打野”或者辅助战斗,和设计初衷不符,这就需要设计者调整数值,让角色更“肉”一点。
  目前,“热力图”测试已经在被某些大公司应用于手游测试了,一些第三方公司也推出了相应功能,只不过对接之前CP需要更多的时间成本和技术成本来适应。
  总体来说,真实的测试数据在产品推行之前具备一定的参考意义,但是也只是“一定”。龙虎豹以为《新莽荒纪》团队负责人的一句话倒是可以作为这篇文章的结尾:“测试数据一方面是验证优化方向的正确性,另一方面则是补充更多遗漏的优化点。而测试数据之外永远不能忽视人的操作与体验。”
更多精彩文章请关注手游龙虎豹微信公众账号longhuboom。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。摘要:本文为腾讯WeTest原创,授权游戏葡萄发布。
在最新的手游市场占有率统计中,腾讯游戏稳稳占据一半江山,目前仍以每月一到两款的速度推出新品,在如此复杂多变、响应要求极高的市场环境下,能持续推出高质量产品并保持高效迭代更新,不得不让人感慨腾讯游戏研发及运营能力的强大。
我们都知道,任何一个产品出厂前都应该有个合格的标签,用来证明产品质量要求达标,那么作为游戏上线前的质检员,腾讯游戏质量管理部门是如何快速、有效地完成游戏产品质量检测的呢?
通过本文你将会了解到,腾讯游戏上线前需要做一系列的测试,涵盖前后台性能、安全防护、网络适配、机型兼容、功能完整性等,这些工作往往都是提前三个月就开始介入,多线并行,最大程度的将游戏质量风险降到最低。相传,在腾讯游戏测试工程师中间流传着这么一句话,“不把主程逼疯的测试不是一个好产品”,玩笑归玩笑,但也反应出腾讯游戏测试对于质量要求的苛刻程度。今天我们就来爆爆他们把主程逼疯的那些事儿。
一、服务器性能测试
之所以将这个测试放在第一位,是因为腾讯游戏的用户数量一般都是远远超过其它公司的,有微信和手机QQ两大平台的导量,游戏刚开服用户是像潮水一样涌入,这个时候非常考验游戏服务器的数据处理、容错及稳定运行的能力。而这几个关键问题的保障,便是通过这项专门的测试工作来完成的。
游戏玩家虽然看不到服务器的处理能力,吞吐量等,但他们能真实地感受到各种服务器性能问题,例如:“游戏怎么进不去了”, “通关结算为啥一直转菊花”,& “竞技场为啥一直匹配不到对手”等等。这些问题会大大降低玩家游戏的热情,加剧用户流失率。
除此之外,如果线上大部分机器都在低负荷的运行,玩家感受没问题了,但是机器资源却严重被浪费。服务器性能测试就是为了保障玩家流畅游戏的同时,又能够最大化地利用服务器资源,是游戏上线前必不可少一个环节。
那么,如何做服务器性能测试呢?
简单来说,服务器性能测试就是利用创建虚拟机器人玩家,模拟多用户的并发场景,对服务器产生压力,暴露服务器性能瓶颈和风险。
具体测试流程可划分为 7 个方面
1. 需求分析:明确需要测试的性能场景及性能基线
2. 分析服务架构,找出架构薄弱点
服务器架构图
3. 构建测试模型:分析服务器架构,协议交互,及收集的测试数据,构建测试模型
构建游戏业务模型
4. 分析数据及协议交互,使用特定算法构建压力模型,利用tcpdump等工具捕获数据包,并进行分析
服务器协议交互数据
5. 编码实现:分析协议包,在腾讯自研性能框架下,灵活实现业务逻辑
利用腾讯自研性能工具,只需实现数据包的组装及解析及游戏业务逻辑
6. 执行压测,观察数据:设置好性能基线后,执行对应游戏场景进行测试,观察机器人性能数据、服务器CPU、内存、磁盘IO、网卡负载等核心指数。
服务器性能测试数据
7. 回归调优: 分析性能瓶颈, 待开发修复后,重新回归测试,直到满足性能基线。
举两个案例来说明腾讯游戏的测试方法。
案例一: 服务器容量太低,无法承载设计目标在线人数
某游戏容量测试时,5000机器人在线游戏,服务器性能不足,优化前业务逻辑服务器CPU最大达到100%,事务响应缓慢,客户端操作延时高
服务器CPU性能测试图(优化前)
通过数据分析,性能瓶颈定位,系协议解析的反序列函数效率极低,因此对此函数的算法进行了优化,优化后服务器性能提升200%+。
服务器CPU性能测试图(优化后)
案例二:游戏功能事务成功率符合要求对应优化
某游戏在性能测试过程中发现, 10000人同时游戏,部分机器出现战斗结算失败的问题。&
游戏战斗结算失败
玩家在通过登入校验后,服务器会下发一个Session,后续所有协议都会带上Session,高并发下,服务器处理Cache置换逻辑异常,导致用户Session记录失败,于是出现部分机器结算时,由于Session校验失败导致结算失败。
二、游戏客户端(APK & IPA)性能测试
客户端性能在游戏中是影响游戏表现的决定性因素,是玩家可以直接感知到的。一款好的游戏是否能在大众的设备上流畅运行,是否能给不同的玩家相同的畅快体验,都是决定游戏成败的关键。
一般情况下,一款游戏都会在Android和iOS平台上同时发布,有些游戏在iOS系统上运行时流畅度非常高,用户体验和操作都很好,但换到Android设备时候表现却是非常不好,卡顿,机器发热,耗电快等,尤其是在不同用户的手机硬件不一样的情况下,需要尽可能多的满足在低端机器上的游戏体验。因此,在打造一个精品游戏的过程中,游戏的客户端性能测试不容小觑。
那么再来说说如何做客户端性能测试。
游戏启动后会占用手机系统的CPU和内存,在玩的过程中会消耗一定的流量和耗电量,客户端性能测试就是在游戏发布前,对游戏的这些性能数据进行采集,并分析以上各个检测项是否存在性能瓶颈。
要定位客户端的性能瓶颈,需在游戏的过程中对游戏的CPU、内存、流量、耗电量和FPS等信息进行采集。Android平台详细采集指标主要由以下几部分组成:
FPS帧率:应用程序每秒钟显示的帧数
CPU占用率:应用程序占用的CPU资源情况
内存:应用程序存放到系统内存中占用情况,目前主要采集PSS
显存:应用程序存放到显卡存储区域的资源数据占用情况,目前主要采集VBO
GPU占用率:应用程序占用GPU资源情况
其中,手游特有指标还包含:
流量:单位时间内通过网络端口传输的数据总量
电量:单位时间内应用程序消耗的电荷数量
目前针对游戏的客户端进行性能测试,很多移动测试云平台为开发者提供了便利条件。拿腾讯自己的WeTest云平台来说,用户只需要上传一个apk包,在云端的手机上进行正常游戏操作就可以采集到游戏的CPU、内存、流量、耗电量和FPS这些信息,极大地简化了手游的客户端性能数据的采集,在开发精品手游的过程中助开发者一臂之力。
测试方法:
在WeTest云平台上,用户可以选择性能测试,提交一个APK后,正常进行游戏并标记各个游戏场景,在远程性能测试结束后,会生成类似如下的测试报告,分分钟帮助开发定位性能瓶颈。
客户端性能测试报告图
实际案例:
用WeTest云端性能测试的高配手机对某动作类手游核心玩法的客户端性能测试发现了如下问题:
内存使用情况:
客户端性能测试内存图
游戏所占内存峰值达到500M左右,而根据当时腾讯游戏用户机型分布情况而确定的客户端性能标准,高配机型是不能超过450M。多这50M意味着将会有大量的玩家不能有很好的游戏体验,因此这个指标必须经过优化才可以上线。为此项目团队花费一周多时间裁减非核心资源精度,保证这个数值在安全范围内,以牺牲可控范围内的画质来达到游戏流畅的目的,以便获得更好的游戏操作体验。
另外再看一款项目,通过获取游戏FPS情况,如下图:
客户端性能测试FPS图
大多数情况下的这款游戏的FPS都集中在27fps左右,个别情况甚至只有10以内的帧数,而按实际情况,游戏最低需要达到平均30fps左右的数值,且上下浮动不超过5fps,即需要保证在25-35fps之间才能获得比较好的流畅度。通过定位关键节点数据和场景的对应关系,发现在某个特殊时间会加载一个无效的空白动画资源并且反复重绘,导致游戏fps上不去,删除掉这个资源及调用的代码,fps稳稳上到了32帧。
三、移动设备兼容适配测试
恐怕很难说清楚市场上到底有多少款手机,Android系统自由而野蛮的生长带来了无穷的生命力,同时也给开发者带来了无尽的痛苦,几乎每一个开发者都会被Android手机的兼容适配深深的烦扰着,腾讯游戏自然也不会例外。
那么腾讯游戏又是如何解决这个问题的呢?
总结起来一句话,在尽可能多的机型上进行游戏的安装、运行和数据监控,听起来并没有什么大的不同,但真正不同的,是怎么做这个事情。
腾讯游戏一方面通过WeTest云测平台进行发布前的适配兼容测试,另一方面发布后还要时刻关注用户机器的Crash上报情况。在WeTest平台,我们会选择游戏用户的Top机型进行测试,只需要上传APK,然后等着收报告即可,在整个平台数百部手机上的安装包分发,测试都是自动完成的,绝大多数的场景并不需要人参与其中,非常高效便捷。
在WeTest平台提供两种兼容适配服务,Android标准兼容测试,以及Android深度兼容测试,下面说说这两者的区别:
1. Android标准兼容测试
标准兼容测试提供游戏的安装,拉起,模拟登录(集成了腾讯的MSDK),随机Monkey点击,卸载,并自动定时截图,自动检测黑屏、自动记录崩溃、ANR,并且在出现这种情况后自动上报当时的日志记录,这个测试不光游戏可以使用,常规的应用类APP也可以使用。
2. Android深度兼容测试
深度兼容测试是针对游戏做的一个更深层次的兼容适配测试,可以从引擎层面获取到游戏元素,真正深入到游戏内部的场景中进行测试,除了记录标准测试测试里面的各项数据外,还能够支持脚本定制逻辑、引擎层面数值统计、函数热点记录等各种深层次的信息,并且还有专门的人力来整理数据,提供最专业最有用的报告给开发团队。
两者中深度兼容测试是笔者极力推崇的兼容测试模式,我们从中可以得到非常多的信息,随便跑一次深度兼容测试,选了37部机器,结果如下图所示:
深度兼容测试的总体结果图
在华为P9上出现了什么问题,是什么错误信息,性能指标如何,深度兼容测试一共测试了一个小时多,深入到了游戏里面,有上百张截图,可以一键通过图片去重来过滤掉干扰信息,快速的定位到有问题的场景,非常方便。
我们可以看到在所选择的37台机器中,都分别出现了什么问题,问题分类是什么,原因及堆栈信息都会有上报,基本上就可以直接拿来查问题修复。而点击进入具体的某一部机器,再查看,会有更多的详细数据,如下图:
除了专业而丰富的信息,腾讯游戏测试对于兼容适配测试的机型选择同样是慎之又慎,用数据说话。在腾讯游戏测试质量部门有专门的团队每天针对腾讯游戏用户的机型做数据挖掘,每天在近2亿条记录中提取出来用户使用的手机的型号并做各种汇总,为腾讯游戏应该运行在什么样的设备上提供数据依据,也最终用于指导兼容适配的设备选择,下图为最新腾讯游戏设备排名前20名的数据:
游戏用户热门机型排名(来自腾讯大数据系统)
以及更详细的显卡芯片的分布统计:
显卡芯片的市场排名图
通过以上多张数据表我们能够明确感觉到腾讯游戏测试在手机兼容适配测试这一问题上的严谨和专业度,不管是设备选择,还是性能数据获取,以及针对游戏引擎而做的深度兼容技术,都表现出了极强的可靠性。而生于游戏,精于游戏的WeTest测试平台将这一强力的质量保证解决方案共享给业界,是每个游戏开发者的福音。
四、腾讯游戏的安全测试
在鼓励玩家交易的PC时代,重大的安全漏洞可以毁掉一个游戏。到了手游时代,玩家的数量呈几何数增长,交易系统也在逐步开放,但受限于网络状况和流量考虑,与服务器的交互较少,导致安全问题尤为突出,安全漏洞一旦被某些"玩家"利用很容易会导致游戏内数值系统的平衡性很快消失,造成重大影响。因此游戏上线前必须经过严格的客户端安全测试,确保放到外网去以后,出现外挂需要尽量高的门槛。
腾讯游戏在上线前,先进行一整套内部的漏洞搜索和外挂攻击模拟,在一定时间内尽可能多地挖掘出游戏中的安全漏洞,对漏洞的原因进行深度分析,然后提供修改方法建议。配合腾讯安全中心提供的各类组件和接口,为游戏穿上一层牢固的护甲,使其难以被攻破。如果线上还是出现了外挂,也可以做到准确定位并分析原因,第一时间提出解决方案。
常用的作弊手段有内存修改,配置表修改,hook游戏动态修改等。针对这些作弊方法,我们做手游安全测试常用的工具及其主要作用如下:
手游安全测试常用工具
使用这些工具,我们设计了一整套的测试方案,有以下几个部分。
1. 游戏安装包检查
检查安装包内重要配置信息和代码是否加密,代码是否混淆,敏感信息有没有泄露的可能,修改后的安装包能否安装并正常游戏,主要使用开源工具apktool,dex2jar,baksmali等,这些工作也是Android平台上用于逆向分析的初步工具。
2. 游戏运行时内存修改
这个测试方案主要用各种主流修改器,如烧饼修改器,八门神器等在内存中搜索敏感数值,尝试修改以达到获益目的,如下某个游戏中的内存修改测试:
游戏内存修改测试
3. 代码逆向分析
针对游戏引擎的不同,使用Ollydbg、IDA、ILSpy等对客户端进行逆向破解,获取其逻辑代码进行分析、修改。这项工作要求测试工程师有相当好的逆向技术,用外挂作者的思维方式考虑问题,以彼之道,还施彼身,封堵可能被利用的程序漏洞。
游戏代码逆向分析
4. hook游戏进程
hook的目的是为了进行动态修改以达到获益目的,可以用 IDA先调试分析、然后使用Vulminner、SR安全雷达等自研安全测试工具或者自己编写的注入代码进行hook,这些优秀的内部工具也将逐步在WeTest平台上发布对外。下图是自研的一款hook测试工具。
腾讯自研的手游hook测试工具
5. 网络协议包构造攻击
手游的C/S交互都是通过网络数据包进行的,腾讯游戏安全测试工程师会模拟非法游戏逻辑包、异常逻辑数据包及重发核心数据逻辑包等方式进行网络协议的攻击,以检查服务器对于非法数据的处理能力,以及是否存在逻辑漏洞等。
网络协议包构造工具
下面举个实际项目发现的安全缺陷的例子,来说明基本的测试方法。
某塔防游戏安全漏洞示意图
上图是一个塔防游戏中发现的安全漏洞,敌方战斗单元沿着路线前进,游戏的目标是消灭所有敌方战斗单元。由于流量和网络考虑,游戏过程中客户端和服务器不会有交互,只有在一局游戏结束后,客户端把战斗结果以及某些相关数据上报给服务器,服务器进行结算。
而这些上报数据中没有AI行进路线,所以针对这一漏洞,对AI的前进函数进行hook并修改,使其止步不前,这就使得敌方只出现在出口且永远不会移动,极易消灭,大大降低了游戏的难度。所以,这个缺陷的修复方法就是在战斗结束时,增加敌方行进路线进行分析,发现速度或者地点异常则判定结算失败。
除此之外,还有一些增强安全防护以及防外挂的手段,比如:进行代码混淆,加壳保护,安装包进行签名校验,核心游戏逻辑的用户行为与核心数据在服务器校验,log文件中避免输出敏感信息等等。
五、腾讯游戏的网络适应性测试
手机移动时代,网络制式繁多,2g/3g/4g/wifi , 各种制式之间网速差异巨大,连接稳定性也不尽相同。在这样复杂的网络环境下,断线、卡死、闪退、数据不同步等都成为手游最常见的问题。为了让游戏拥有强大的网络环境适应能力,网络适应性测试成为了精品手游测试过程中不可或缺的一个环节,然而网络适应性测试却远没有我们想象的简单。
弱信号的网络适应性测试中最难的部分就是网络环境的模拟,我们不可能让我们的测试人员常年分布在地铁、商场、高铁等现实网络环境中,我们也不可能准备一堆电话卡,2g、3g、4g、wifi来回切换,我们只能在办公室尽量模拟最接近现实的弱信号网络环境。
在传统的网络测试中,大多采用模拟软件对传输的数据包进行处理,从而模拟不同的网络条件。对于移动互联网而言,将移动通信网络看作是黑盒模块,网络信号不强的影响仍然可以归结为网络中的丢包率、误码率、延迟等特性,只是在网络带宽,网络间切换等特性上会有所差异。
我们通过分析不同网络制式的特性、各运营商提供的数据,以及现场真实采集的数据,制定了各种弱网络的模型来模拟2g/3g/4g在各种现实环境下的特性,模型的参数包括:延迟、断线频率、丢包率、上下行带宽等。
而且我们将这套高仿真模拟的网络环境集成到了WeTest平台,从此,在不同的网络环境下切换,不再需要实地测试,也不再需要繁琐的配置,就只需要轻松地点一下鼠标。
如下图所示,WeTest网络适应性测试平台提供了5种常用的典型的网络环境:1. 正常wifi 、2. 3G高延迟网络、3. 3G请求回应超时、4. 2G E网高速移动、5. 2G E网低速移动。
典型弱网络环境
如果以上预设的网络环境还无法满足要求,没有关系,自定义网络场景可以自行设置网络参数,想要多弱就有多弱。
自定义网络场景
在这套网络测试环境下,就能快速发现定位网络适应性不佳的而导致的缺陷,以下是一些实际项目网络测试发现的缺陷:
游戏中的弱网络卡死
上图所示bug为一款游戏在战斗过程中进入弱网环境导致的界面卡死,缺陷原因是客户端在战斗过程中需要跟服务器同步关卡数据,但是在网络连接层面没有做断线重连机制,客户端发出请求后会一直等待服务器响应,如果服务器没有响应就会一直卡死在数据同步界面。
游戏中的弱网络无法结算
上图所示bug为一款游戏在结算过程中进入弱网状态,无法结算,虽然游戏做了断线重连机制,在连接超时后提示玩家需要重新连接,但是重新连接后的逻辑处理不正确,没有正确返回结算界面,而是出现了登录界面,造成的界面错乱。
以上内容是腾讯游戏除传统功能测试之外的所进行的各项专业而深入的灰白盒层面测试工作,部分环节的难度已经远超过了开发本身,真正的让产品在技术层面上保证最佳品质,为腾讯游戏高品质保驾护航。
随着这些专业的技术方案逐步通过WeTest平台对外开放,我们有极大的理由相信这会对行业内游戏品质的提升产生非常大的推动作用。
本文仅代表作者观点,不代表百度立场。本文系作者授权百度百家发表,未经许可,不得转载。
分享到微信朋友圈
打开微信,点击 “ 发现 ”
使用 “ 扫一扫 ” 即可将网页分享至朋友圈。
扫一扫在手机阅读、分享本文
百家号作者平台APP
扫码下载安卓客户端
便捷管理文章信息
随时查看文章收益

我要回帖

更多关于 安全性测试方法 的文章

 

随机推荐