手游和app测试有什么区别?
WEB测试和App测试从流程上来说,没有区别。都需要经历测试计划方案,用例设计、测试执行、缺陷管理、测试报告等相关活动。从技术上来说,WEB测试和APP测试其测试类型也基本相似,都需要进行功能测试、性能测试、安全性测试、GUI测试等测试类型。
他们的主要区别在于具体测试的细节和方法有区别。比如:性能测试:在WEB测试只需要测试响应时间这个要素,在App测试中还需要考虑流量测试和耗电量测试。
兼容性测试:在WEB端是兼容浏览器,在App端兼容的是手机设备。而且相对应的兼容性测试工具也不相同,WEB因为是测试兼容浏览器,所以需要使用不同的浏览器进行兼容性测试(常见的是兼容IE6、IE8、Chrome、Firefox),如果是手机端,那么就需要兼容不同品牌、不同分辨率、不同Android版本甚至不同操作系统的兼容。(常见的兼容方式是兼容市场占用率前N位的手机即可),有时候也可以使用到兼容性测试工具,但WEB兼容性工具多用IETester等工具,而App兼容性测试会使用一些网站推出的商业工具进行测试,据我所知你注册的这个Test+测试家就有相关工具。
安装测试:WEB测试基本上没有客户端层面的安装测试,但是App测试是存在客户端层面的安装测试,那么就具备相关的测试点。
还有,App测试基于手机设备,还有一些手机设备的专项测试。如交叉事件测试、操作类型测试、网络测试(弱网测试、网络切换)
交叉事件测试:就是在操作某个软件的时候,来电话、来短信,电量不足提示等外部事件。
操作类型测试:如横屏测试,手势测试
网络测试:包含弱网和网络切换测试。需要测试弱网所造成的用户体验,重点要考虑回退和刷新是否会造成二次提交。弱网络的模拟,据说可以用360wifi实现设置。
从系统架构的层面,WEB测试只要更新了服务器端,客户端就会同步会更新。而且客户端是可以保证每一个用户的客户端完全一致的。但是APP端是不能够保证完全一致的,除非用户更新客户端。如果是APP下修改了服务器端,意味着客户端用户所使用的核心版本都需要进行回归测试一遍。
还有升级测试:升级测试的提醒机制,升级取消是否会影响原有功能的使用,升级后用户数据是否被清除了。
Monkey是一个命令行工具,可以运行在模拟器里或实际设备中,它是一种轻量级的性能测试工具。它向系统发送伪随机的事件流,实现对正在运行的应用程序进行压力测试。Monkey包括许多选项,包括:基本配置选项,;运行约束选项;事件类型和频率;调试选项。运行的时候,它生成事件,并把它们发给系统。同时,Monkey还对测试中的系统进行监测。如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止。如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错。如果应用程序产生了应用程序不响应的错误,Monkey将会停止并报错。按照选定的不同级别的反馈信息,在Monkey中还可以看到其执行过程报告和生成的事件。相对于Monkey工具直接运行在设备或模拟器的adbshell中,生成用户或系统的伪随机事件流。而MonkeyRunner工具则是在工作站上通过API定义的特定命令和事件控制设备或模拟器。提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器。通过MonkeyRunner,可以写出一个Python程序去安装一个Android应用程序或测试包,运行它,向它发送模拟击键,截取它的用户界面图片,并将截图存储于工作站上。MonkeyRunner工具的主要设计目的是用于测试功能/框架水平上的应用程序和设备,或用于运行单元测试套件。TestBird-手游和App自动化测试平台
以拉德之怒游戏为例:
1. 不同的更新时间
1) arad愤怒经验套装比官方套装更新速度快。未来所有主要的更新,如新版本、新地图和新游戏玩法,都将首先在体验套装中进行测试。
2)官方的阿拉德之怒套装比经验套装更新的慢。
2. 不同的充电
1)服务经验,不能预付电话,但让玩家体验资格提供一定的福利,不规则的经验将每个接收一定数量的点,道具和金币(具体金额根据不同的测试内容)调整,让玩家体验各种道具和功能测试的版本。
2)玩家可以穿着正装充电。
3.数据没有交流
1)体验服装的数据和正式服装的数据是不可互换的。在体验服装中使用券、道具和金币不会影响正式服装。
2)正式服装的任何操作都不会对体验服装产生任何影响。
4.投诉受理上有所不同
1)体验服务器主要查找游戏版本中的bug,官方不接受相关质量投诉。
2)官方制服是所有玩家所玩的游戏,如果有质量投诉,官方会接受。
5.服务器不同
1)体验服为删档测试服务器,会不定期对游戏进行删档,清除用户数据,点券和金币,同时也会不定期停机维护更新。
2)正式服为官方运行服务器,不会清除玩家的数据,点券,金币和道具等。
一、APP自动化测试完全不同于手游自动化测试
以安卓开发举例,手机App一般使用Android SDK开发,使用Java编写。通过Android提供的服务,我们可以获取App当前窗口的视图信息,进而查找和操作按钮等控件,以完成自动化测试,如Uiautomator。这个过程是标准化的,从技术上来说没有任何难度,因此各个公司各个App自动化测试的方法都大同小异。
但手游的开发却不是这样。手游一般使用引擎开发,现在著名的有cocos2d和unity3d。两者都是使用引擎自带的语言进行开发,主流的分别是c++和c#,虽然在开发过程中也有按钮等控件的概念,但当运行时由引擎渲染后就变成了一副简单的图片:
因此,我们就无法通过Android自带的服务来找出游戏中的按钮了,也就没法进行常规的自动化测试。
二、玩法不同导致功能测试更复杂
2.1 随机性
游戏的场景和过程是动态并且伴有随机要素的,这体现在两点。
1. 你重复玩一个游戏关卡,很可能两次出现敌人以及游戏过程是不同的。
2. 你玩一个手游的时候不进行操作,敌人和周围的场景也在时刻发生改变。
这两点对自动化测试带来了极大的挑战,如果测试脚本写的不够灵活,很容易导致上一次运行成功的脚本这一次就无法运行了。我们需要在测试脚本里适当的加入探索和自适应的功能。
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.1 支付测试
现在的手机App基本上以广告收入为主,并不会直接向用户收取费用。而手游的直接消费群体就是玩家,在游戏过程中伴随着玩家大量的支付操作。由于这类操作和玩家的金钱密切相关,因此支付类的测试在任何游戏中都要做最高优先级的保证。
我们需要在各种严格的环境下保证玩家的支付操作被正确执行或者得到了正确的失败提醒。例如当网络状况很差的时候,用户在支付界面的多次确认操作必须只能被执行一次。当用户在支付过程中断网,未收到货物时,游戏需要在玩家的网络恢复后第一时间补发货物,并作出明显的提示。另外支付操作需要在大量不同系统、不同型号的手机上进行适配操作,以降低出错的可能性。
3.2 安全测试
对于大多数非支付类App来说,安全并不是一个特别大的问题,只需要保证登录鉴权的安全性即可。App是一个方便用户的工具,没有人会在用自己的计算器App时候锁定内存,或者把加法操作变为乘法操作。
手游在这点上很不一样,手游与玩家在某种程度上具有“对抗”要素,玩家要战胜游戏关卡获得奖励,而游戏关卡要设置一定的难度阻止玩家。如果游戏的外挂横行,玩家不需要任何对抗就能获得胜利,一方面会对游戏的平衡性造成影响,使得某些玩家的资源大大超过别的玩家;另一方面从长远看会使得这个游戏变得无趣,从而造成玩家的离开。
对游戏进行安全测试的普遍方法为通过锁定/修改内存来锁定和修改游戏资源、通过修改游戏内存来改变游戏逻辑简化游戏流程等。
3.3 收益测试
一般的手游App没有付费用户的概念,所有的用户都是使用同一个功能。即便有付费用户,他们和普通用户的区别也非常明显:付费用户可以使用一些额外功能。手游的付费用户和非付费用户的界线并没有这么明显。手游里根据用户付费的多少分为非R用户,小R用户,大R用户等。我们需要在策划的时候就计算好这些付费用户的投入和回报,并在测试的过程中验证这些。举两个例子,如果一个大R用户获得的回报,非R用户只用很少的时间就能获得,那大R用户一定不满意,这个收费项目的设置就是不合理的;如果两个购买项的金额相同,而收益明显不同,那也会造成玩家的不满。
四、后台性能不同
虽然我们这里讨论App和手游主要是前端客户端,但其实两者的后台性能也有区别。相比一般的App,手游的在线人数明显更有规律性且更集中,一般在中午12点和晚上8点是两个明显的高峰。因此手游的性能测试就要贴合这种用户模型,能够处理极值情况下的服务器性能负载。当然,两者都会受到节假日较大的影响,这个对于App和手游来说是一致的。
五、测试工具
关于测试工具,这里着重推荐下WeTest质量开放平台。WeTest提供一站式的游戏测试服务,包括碎片化的兼容性测试(尤其是安卓),客户端运行在手机上的性能测试,网络较差或者网络频繁切换的弱网络测试,以及用户体验和UI测试等,在游戏的全生命周期都能照顾到。
游戏测试员主要做什么?
2、编写测试计划,测试用例。3、对游戏整体功能进行合理性评测。4、撰写并提交测试报告。游戏测试员的要求和发展方向 对于游戏测试员来说,既需要对游戏产品了如指掌,还需要懂得从玩家、程序、策划、客服、运营等多角度去感受游戏的逻辑性、流畅性、可玩性、平衡性。一般来说,游戏测试员最后一般都有几...
app在线和游戏在线有什么区别
区别就是app在线,可用的操作比较少。
什么是测试游戏?和正常的线上游戏有什么不同?
你好!!没有测试游戏这个概念,应该是处于测试阶段的游戏.一般指网络游戏的测试.严格来讲,网游测试分三个步骤既封测,内测和公测.封测的意思就是游戏制作刚刚完成,需要在技术上对游戏进行测试,这个阶段的测试是纯技术的,和游戏的故事,情节,人设一点都没有关系,整个游戏基本处于雏形阶段,所以除了有关技术人员...
游乐场APP开发有什么功能
如今手机生活无处不在,有了智能手机,当你去游乐园度假时,不再担心能不能买到票,也不用再提前跑去现场排队买票;同时你也不用拿张导航地图在那里苦苦寻找自己的位置,智能手机里面的GPS就能告诉你所处的位置,然后跟你说要怎么到达你想要去的地方。那游乐场APP开发有什么功能?第一、欢乐时光分享 ...
请教~~~游戏测试工程师和游戏版本测试工程师 有什么区别?
按我的理解,游戏测试一般会黑盒法来进行,需要测试员 而版本测试,一般是壳子上的测试,简单来说框架,整体游戏的框架,这样的不能用黑盒测试,一般测试员不会,测试员主要是功能测试
软件测试要学些什么条件?
优就业软件测试课程内容刚刚迭代升级,新增移动端测试,包括App兼容性测试,7*24小时稳定性测试,功耗性能测试,UI测试,交互测试等,课程主要学习的内容有: 1、功能测试 主要包括计算机基础、软件测试核心理论、Linux、数据库,学习目标是掌握软件测试核心理论,结合Linux、数据库等可实现移动端、web端的功能测试。学完可胜任...
体验服和测试服有什么区别
内测服和体验服有区别。有三个区别,版本区别,玩家数量区别,游戏体验区别!第一个区别,那就是版本区别!一款游戏,尤其是网游在开始运行之前,都需要发售几个版本。比如内测服,体验服以及正式服等。而内测服跟体验服最大的一个区别就是版本!体验服是最基础的一个版本,里面的一切东西都不是很完善...
面试游戏测试工程师,一般HR都会问一个问题:谈谈你对游戏测试的了解,大 ...
简而言之,如果说策划是游戏质量的上限,那么游戏测试就是游戏质量的下限。在很多游戏论坛里,尤其一些有些年代的游戏,玩家往往对那些不断出新的鸡肋功能褒贬不一,但是,修改那些恼人的bug和不良的体验确是广大玩家最大的呼声。在很多时候,游戏策划也负责测试的工作,但是正如让程序员自查代码一样,策划...
软件测试人员都有什么职业发展方向?
对于技术人员而言,职业发展一般分两个方向:做技术、当管理。刚进入软件测试行业的新人都会从最基础的技术执行开始做,然后是用例设计,相当于基本的功能测试。随后,大家会根据个人职业发展来进一步细化,有的选择管理路线,成为了主管,项目负责人,经理;有的深入测试用例设计,继续高级的功能测试;有的...
游戏测试员好不好做 工资待遇怎么样 要求什么学历
职业要求 教育培训: 计算机相关专业或熟悉计算机基本操作即可。工作经验: 热爱游戏,有吃苦耐劳的精神,能够接受重复的劳动。合格的游戏测试员要具备企划游戏或者编写程序的能力,而且必须有相当的耐心与细心进行测试。薪资行情 游戏测试员的薪水根据企业规模、城市等因素的不同有较大起伏。最低月薪仅2000元,...
父迫天君: Monkey是一个命令行工具,可以运行在模拟器里或实际设备中,它是一种轻量级的性能测试工具.它向系统发送伪随机的事件流,实现对正在运行的应用程序进行压力测试.Monkey包括许多选项,包括:基本配置选项,;运行约束选项;事件...
古丈县17725548009: 游戏测试和软件测试有什么不同 - ?
父迫天君: 概念上的不同咯 游戏测试仅针对游戏的可玩性,BUG,帧参数等进行测试,二软件测试就范围广咯,游戏也是软件,因为它公开销售,但它作为不销售的,它准确来说是程序,所以,市面上可以见到的在电...
古丈县17725548009: 手游自动化测试的可行性,前景怎么样? - ?
父迫天君: WeTest主要是负责质量工具这块,最近推出了一个Unity手游的在动画测试框架,帮助非常多重量级的手游(王者荣耀、火影忍者、CF手游等)做自动化测试方案 个人认为自动化测试不可能去代替人工测试,自动化测试时为了解决特定场景下的...
古丈县17725548009: Web测试和App测试有什么区别? - ?
父迫天君: 他们的主要区别在于具体测试的细节和方法有区别.1.WEB测试和App测试从流程上来说,没有区别,都需要经历测试计划方案,用例设计、测试执行、缺陷管理、测试报告等相关活动.2.从技术上来说,WEB测试和APP测试其测试类型也基本...
古丈县17725548009: android应用测试 和android手机测试有什么区别 - ?
父迫天君: 基本上带Android字样的测试,都是属于软件测试: 区别:Android应用测试:这是测试安卓应用程序的,就是属于Android应用开发类的公司专门对他们开发的应用来进行测试.如:某款游戏,或者某个聊天软件,或者系统软件. android手机测试:是手机软件测试,比如说某款手机正在开发中,手机软件测试人员就要对该款手机的软件进行一个系统的测试,包括OS,内置应用,易用性等等.
古丈县17725548009: 什么是测试游戏?和正常的线上游戏有什么不同? - ?
父迫天君: 你好!!没有测试游戏这个概念,应该是处于测试阶段的游戏.一般指网络游戏的测试.严格来讲,网游测试分三个步骤既封测,内测和公测. 封测的意思就是游戏制作刚刚完成,需要在技术上对游戏进行测试,这个阶段的测试是纯技术的,和游戏...
古丈县17725548009: 手机软件测试和电脑软件测试有什么不同? - ?
父迫天君: 手机测试是一个很大的题目,涉及到硬件测试和软件测试,还有结构的测试,比如抗压,抗摔,抗疲劳,抗低温高温等,结构上的设计不合理,会造成应力集中,使得本身外壳变形,对于翻盖手机,盖子失效,还有其他严重问题.硬件...
古丈县17725548009: 手机游戏兼容性测试用什么工具测试的呢?有谁知道的吗? - ?
父迫天君: 1、你说的是游戏app软件测试是吧.网上有平台、工具可以测试软件的兼容性问题的.2、爱内测平台针对测试App在指定终端是否可正常安装、卸载,定位错误原因3、无需编写脚本/自动遍历/页面截图/记录操作路径4、随机性压力测试测试App运行期的稳定性
古丈县17725548009: 关于游戏测试 软件测试的困惑 - ?
父迫天君: 有区别的,游戏测试基本就是试玩,找一下用户体验等,没有什么技术含量. 软件测试的话,你可以先学习一下QTP,LoadRunner等自动化测试工具,及IBM Rational ClearQuest,TD等缺陷管理工具,以及一下配置管理等方面的东西.
古丈县17725548009: 手机软件测试是做什么的 - ?
父迫天君: 测试手机的运行状况,硬件测速,CPU运行速度,温度等…