手游和APP测试的关键问题是差异点在哪?

怎样玩儿转App&手游自动化测试?了解两者区别是关键!
我的图书馆
怎样玩儿转App&手游自动化测试?了解两者区别是关键!
文档类型:上传人:下载许可:是下载次数:大小:15.5K所需贡献值:2
发表评论:
TA的最新馆藏原创 | 手游推英文版本在测试期间需注意的三个关键点 | 手游那点事
原创 | 手游推英文版本在测试期间需注意的三个关键点
译/手游那点事Sawyer 整理/小龙女
手游测试对于正规的发行商来说是确认bug、提高体验和掌握用户意见的关键步骤。
加拿大和澳大利亚传统上对于英语用户来说都是最为重要的试发布市场,但目前这些国家的发布试发布成本却变得越来越高。那么,对于预算有所限制的手游开发者应该怎么进行测试?对于国家和用户市场的选择又要注意什么?以下是手游那点事关于测试国家的一些建议。
一、确定的时间周期
在进行手游产品测试和新产品发布之前,首先要设置最长时间范围。
对于独立开发者来说,模仿大型工作室的做法并不是完全正确的。大型工作室分工明确,预算足以让其执行多个月的测试。对于小型工作室来说,合理的测试时间应为3到4周。同时,你所选择的测试国家的重要程度要低于你的目标国家。
“如果在开发类似《部落战争》的手游,他们并不需要一堆《糖果粉碎传奇》的用户,因为他们对游戏的偏好会影响手游的数据,导致研发者会误认为需要对游戏进行修复,”手游业务顾问公司ROC创始人Rob Carroll表示。
二、适合测试用户行为的国家
加拿大或许是在文化和地理位置上是与美国最为相似的国家,与美国有着共同的文化底蕴,但文化是美国的输出强项,许多国家与加拿大相同,受到类似的影响。
爱尔兰和荷兰等较小的市场近期成为了非常适合游戏测试的国家,因为这些国家的用户能用英语沟通,并且其用户行为与美国的非常相似,以美国为主的用户。
爱尔兰和荷兰的平均CPI
那些资金不足但仍希望了解西方用户行为的发行商可以将产品尝试以色列国家测试,或者菲律宾国家。(但是,这些国家的用户行为较上文提及的加拿大、澳大利亚的用户行为出入较大)。游戏的类型也会影响诸如此类解密类手游或卡牌游戏的测试结果。
开发者可以对自己游戏产品的直接竞争对手在其他国家的表现进行研究。北欧国家、土耳其和马来西亚是值得你扩大和研究范围的对象。此外,开发者还可以研究应用商店上的排名来发掘其他测试国家。
在亚洲市场,手游的测试的国家则较为复杂。
香港和新加坡的平均CPI
韩国和日本拥有独特的市场条件,所以进行测试时可借助本地的发行商进行更好的管理。
然而,新加坡和香港可能是那些希望进入中国和美国市场的开发者的研究对象,因为新加坡和香港的用户英文水平较高,而且在文化上也与中国大陆有所类似。
三、用户规模较大的测试国家
手游的竞争较以往更为激烈,而不少手游也选择了扩展其多玩家游戏的可能。
随着用户规模的扩大,服务器出现故障的可能亦随之而增大,所以试发布能够对服务器进行压力测试。就此而言,开发者应更加关注成本而不是文化。
Carroll表示,测试时,人同时游戏可以让你知悉游戏存在的问题。
而在这一方面,菲律宾和印度是不错的选择,其用户群体庞大,而且能说英语。因此,在测试发布后,你可能会看到用户数量的激增。
印度和菲律宾的平均CPI
因此,在手游测试阶段,找到适合自己手游产品推广的国家和用户群体是至关重要的。
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
线上专访,线下活动合作请联系:手机APP测试思路及测试要点
&手机APP测试基本思路:
  测试计划--测试方案--测试用例--执行:
  很多小公司都没有具体的需求,项目时间也比较紧,而且流程也不是很严谨,在这样的情况之下,作为测试的我们,该怎样去对项目进行用例的设计?个人觉得,项目到手,不是马上就进入测试,而是,先熟悉下整个项目的流程,把大致的框架过一遍,不懂的地方记录下来,再问开发,把流程都掌握了,再对照已有的文档给予项目立项(测试计划、测试方案),用例不必写的太过于详细(app模块变动较大,过于详细维护成本太高,而且项目经理给你的时间短,会浪费项目执行时间),把每个功能模块罗列出来,大致的功能点,用什么方法去测试,都给标注,然后再根据测试需求执行测试(目前我用例都只是罗列大概的执行方法,不具体详写,改起来方便);
&手机APP测试测试要点:
  (流程测试、功能点测试)、兼容性测试、交叉测试、安装卸载测试(包括应用的升级)、压力测试(接口压力测试);
  功能测试:对具体功能点一一测试,确保每个点都能正确实现相应功能;
  兼容性测试:对市场上主流的设备安装应用执行测试,确保都能正常运行;
  交叉测试:对于正在运行的应用,若进入短信、电话等其他软件响应的情况,不会影响所测试应用,且会保证应用都能正确运行;
  安装卸载测试:确保应用都能正确安装、卸载,且能正确运行(注意应用的升级测试:升级前后的状态);
  压力测试:用户量大,交互性高的应用需对接口执行压力测试,确保不会应用在大用户量的情况下能正常运行。
&注意事项:
  闪退(内存不足等情况),在上,该类问题出现的几率很大,应着重测试,比如,返回访问某个模块(数据时时获取的模块),切换应用,重复提交、来电交互等都是闪退几率大的原因。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。随着智能设备的普及和移动互联网的兴起,各家互联网巨头纷纷在往移动端布局和转型,同时初创的移动互联网公司也都盯着这个市场希望分一杯羹。在这个大环境下,互联网的重心已经慢慢从Web端转向了移动端,而移动端的软件测试也变得越来越重要了。
在移动端的软件里,手游又是其中非常大的一块。从下面的图可以看出,智能手机的普及和手游玩家的增长是密切相关的:
加入鹅厂前,笔者曾经长期从事手机App的测试开发工作。1年前加入鹅厂后转行做了手游测试工作,通过摸索实践,发现两者在相同的测试理论基础之上,其实有着非常不同的测试场景和测试需求。下面就为大家整理一下其中的基础部分,涵盖了两者在手工和自动化测试方面的不同,希望能帮到想从App测试转到手游测试的朋友们。
1 &&&&& APP自动化测试完全不同于手游自动化测试
手机App和手游的开发技术不同,这导致了两者的自动化测试技术是截然不同的。
以安卓开发举例,手机App一般使用Android SDK开发,使用Java编写。通过Android提供的服务,我们可以获取App当前窗口的视图信息,进而查找和操作按钮等控件,以完成自动化测试,如Uiautomator。这个过程是标准化的,从技术上来说没有任何难度,因此各个公司各个App自动化测试的方法都大同小异。
但手游的开发却不是这样。手游一般使用引擎开发,现在著名的有cocos2d和unity3d。两者都是使用引擎自带的语言进行开发,主流的分别是c++和c#,虽然在开发过程中也有按钮等控件的概念,但当运行时由引擎渲染后就变成了一副简单的图片:
图:游戏中看到的只是一副简单的图片,按钮已经不是控件了
因此,我们就无法通过Android自带的服务来找出游戏中的按钮了,也就没法进行常规的自动化测试。
如果有人说自己的技术是基于Android原生控件识别的,那就一定做不了手游自动化测试。这个问题大家都在探索解决方案,我们现在通过注入引擎SDK到安装包反射出引擎层控件的方法进行自动化测试,实践下来具有很好的效果。
2 & & & 玩法不同导致功能测试更复杂
2.1 & 随机性
游戏的场景和过程是动态并且伴有随机要素的,这体现在两点。
你重复玩一个游戏关卡,很可能两次出现敌人以及游戏过程是不同的。
你玩一个手游的时候不进行操作,敌人和周围的场景也在时刻发生改变。
这两点对自动化测试带来了极大的挑战,如果测试脚本写的不够灵活,很容易导致上一次运行成功的脚本这一次就无法运行了。我们需要在测试脚本里适当的加入探索和自适应的功能。
App测试就没有这个问题,大部分App的使用方式都是静态且可以重复的。因此自动化测试可以完全按照测试脚本进行编写并执行。
2.2 & 探索性
手游和App的第二个玩法不同在于探索性。App一般都是功能性的,好的App需要把它的功能简单明了地告诉用户。而游戏重在娱乐性,需要给玩家一定的探索要素。因此在做手游测试的时候,我们需要测试游戏的用户帮助说明是否清晰,同时后续的游玩和探索过程和前面给出的说明之间是否有合理联系,规则的指示是否有足够的提示性。
2.3 & 难度测试
App希望做的越简单,用户的使用成本越低越好。而手游是有难度设置的。我们在做手游功能测试的时候,会把资源和等级调到最大以方便后期功能的执行,但当所有的功能测试都做完后,我们需要把自己的资源初始化,以&回归&一个普通玩家的水平,通过普通玩家的视角来查看游戏的难度提升是否合理,资源分配是否均匀。
2.4 & 关卡测试
App的使用是功能性的,一个功能的重复使用总是一样的。而手游具有关卡的概念,即便是同一种玩法,关卡和关卡之间也有细微的差别,前面的关卡测试正确了,并不表示后面的关卡一定是正确的。作者曾经碰到过一个手游的Bug,当游戏进行到某个后期关卡时,游戏一定会崩溃。而导致这个Bug的原因也很简单:这个关卡的图片资源在打包客户端的时候没有加入。因此当我们玩前面的关卡时并不会触发这个Bug,但一到后面的关卡就出错了。
这类Bug虽然原因简单,但确实非常难测试到。因为各个关卡的玩法虽然都一致,但一个游戏的关卡数却是非常多。如果我们要遍历所有的关卡走一遍,那耗费的人力成本将是非常大的。对于这类重复性的关卡测试,建议使用自动化脚本进行遍历。
2.5 & PvP测试
App的使用普遍是单人的,而手游往往有玩家对战的PvP模式,好的手游更是具有实时的PvP模式。由于两个玩家实时进行游戏合作或者对战,因此网络延迟的测试就变得非常关键了。我们在测试中需要模拟不同的网络对游戏延迟的影响,观察两个玩家的状态和数据是否一致,同时体验网络延迟对游戏手感的影响,这在传统的App测试中是完全不需要的。
3 & & & 手游测试更看重商业类测试
3.1 & 支付测试
现在的手机App基本上以广告收入为主,并不会直接向用户收取费用。而手游的直接消费群体就是玩家,在游戏过程中伴随着玩家大量的支付操作。由于这类操作和玩家的金钱密切相关,因此支付类的测试在任何游戏中都要做最高优先级的保证。
我们需要在各种严格的环境下保证玩家的支付操作被正确执行或者得到了正确的失败提醒。例如当网络状况很差的时候,用户在支付界面的多次确认操作必须只能被执行一次。当用户在支付过程中断网,未收到货物时,游戏需要在玩家的网络恢复后第一时间补发货物,并作出明显的提示。另外支付操作需要在大量不同系统、不同型号的手机上进行适配操作,以降低出错的可能性。
3.2 & 安全测试
对于大多数非支付类App来说,安全并不是一个特别大的问题,只需要保证登录鉴权的安全性即可。App是一个方便用户的工具,没有人会在用自己的计算器App时候锁定内存,或者把加法操作变为乘法操作。
手游在这点上很不一样,手游与玩家在某种程度上具有&对抗&要素,玩家要战胜游戏关卡获得奖励,而游戏关卡要设置一定的难度阻止玩家。如果游戏的外挂横行,玩家不需要任何对抗就能获得胜利,一方面会对游戏的平衡性造成影响,使得某些玩家的资源大大超过别的玩家;另一方面从长远看会使得这个游戏变得无趣,从而造成玩家的离开。
对游戏进行安全测试的普遍方法为通过锁定/修改内存来锁定和修改游戏资源、通过修改游戏内存来改变游戏逻辑简化游戏流程等。
3.3 & 收益测试
一般的手游App没有付费用户的概念,所有的用户都是使用同一个功能。即便有付费用户,他们和普通用户的区别也非常明显:付费用户可以使用一些额外功能。手游的付费用户和非付费用户的界线并没有这么明显。手游里根据用户付费的多少分为非R用户,小R用户,大R用户等。我们需要在策划的时候就计算好这些付费用户的投入和回报,并在测试的过程中验证这些。举两个例子,如果一个大R用户获得的回报,非R用户只用很少的时间就能获得,那大R用户一定不满意,这个收费项目的设置就是不合理的;如果两个购买项的金额相同,而收益明显不同,那也会造成玩家的不满。
4 & & & 后台性能不同
虽然我们这里讨论App和手游主要是前端客户端,但其实两者的后台性能也有区别。相比一般的App,手游的在线人数明显更有规律性且更集中,一般在中午12点和晚上8点是两个明显的高峰。因此手游的性能测试就要贴合这种用户模型,能够处理极值情况下的服务器性能负载。当然,两者都会受到节假日较大的影响,这个对于App和手游来说是一致的。
也来谈下相似之处
除了上面提到的这么多手游测试和App测试的不同点,其实两者也有很多相似之处,在测试的时候都不能遗忘,例如手机来电、短信的中断测试,碎片化的兼容性测试(尤其是安卓),客户端运行在手机上的性能测试,网络较差或者网络频繁切换的弱网络测试,已经用户体验和UI测试等。
阅读(...) 评论()

我要回帖

更多关于 压力测试关键词qps 的文章

 

随机推荐