解决unity,cocos2D-x,html5等游戏开发相关技术疑问

2015年03月14日 10:11 0 点赞 0 评论 更新于 2025-11-21 17:00

TestBird高级测试工程师刘承杨和TestBird测试架构设计师陈雪松,为用户解决了Unity、Cocos2D-X、HTML5等游戏开发相关的技术疑问。同时,在活动过程中,创业者提出了商业化问题,TestBird的工程师也针对这些问题进行了解答。

前面发布了第一波内容,让大家久等了,现在第二波来袭!

问答环节

Q1:项目前期,测试要做什么工作呢?

A:测试人员一定要参与到游戏的设计与开发工作中,并形成前期测试计划和用例框架。具体原因如下:

  1. 只有参与到游戏设计中,才能深入体会游戏的逻辑构成。
  2. 只有参与到开发过程,特别是游戏架构设计中,才能深入了解游戏的内在联系。
  3. 基于开发的架构设计和功能模块间的内在联系,测试人员在前期需要形成测试计划和用例框架,为后续测试工作的正常开展奠定基础。

Q2:如何保持游戏玩家的活力?游戏测试我们应该主要注意哪些问题呢?

A:保持游戏玩家的活力需要游戏具备优良的品质、较高的可玩性和丰富的玩法,这依赖于游戏的策划和设计。从测试角度来看,需要保证游戏程序运行的稳定性。一款频繁闪退、黑屏、网络中断或贴图错乱的游戏,很容易导致玩家流失。

在游戏测试方面,可以注意以下问题:

  1. 游戏的兼容性问题是否突出。
  2. 游戏中新功能是否引发其他问题。
  3. 注意搜集玩家反馈的问题和需求,及时汇总处理和跟踪。

Q3:请问怎么进行自动化,为了自动化,代码结构上有什么要求?

A:不建议手游CP自己进行自动化测试,原因主要有以下几点:

  1. 资金和人力投入大。
  2. 技术难度非常高。
  3. 使用面窄,仅适用于自己公司的游戏。
  4. 维护成本高,需要不断购入新机。

在我们的测试平台进行测试,大家只需提交游戏APK发起一个任务,然后填写测试需求即可。我们会在极短时间内输出测试报告。在TestBird进行测试,游戏代码无需做任何改动,即使是非常深度的合作,游戏代码的改动也非常微小。

Q4:测试工作有哪些难点?

A:我认为最大的两个难点是:

  1. 兼容性问题测试工作量大,机型不全,无法充分测试。
  2. 概率性问题的发现和重现。

另外,测试人员的工作量过于巨大,且疲于重复低效的操作,很多精力都放在了低端事务上,没有精力进行测试用例的设计和探索性测试等深入工作,导致后期游戏上线后问题频发。这需要我们测试人员共同思考:测试人员的精力应该放在哪里?怎样才能解放测试人员的双手?

最后需要提醒的是,我们需要区分测试工作中的重点和难点。很多测试工程师无法区分两者,导致在测试难点上花费大量时间攻坚,甚至没有认真思考自己负责产品决定成败的测试重点。

Q5:怎么让游戏项目更好地融入自动化测试(需要开发过程注意些什么吗?)?能简单说下自动化测试针对Unity是如何进行的?

A:

  1. 开发过程中建议增加可测试性,如接口的设计、日志的吐出,便于在定位问题时获取更多的分析信息。日志中如果能突出引擎日志则更好。
  2. 对于Unity引擎,我们的自动化测试和其他引擎类似。不过针对Unity引擎特点,安卓兼容性问题较突出,针对于此我们提供了如不适配机型的日志、截图、步骤、性能数据(内存消耗、CPU占用、帧速率等指标)的联动分析。

Q6:TB - chengyang,你好,能不能推荐几款Unity前端开发常用的框架,如果开源的那更好啊,谢谢,一直苦于前端开发没有规范的框架开发。主要针对MMO这种。

A:你好,在国外的Unity3D论坛上提到过有关MMO的框架,不过我们没有使用过,可以提供几个供你调研:

  1. Atavism
  2. Photon Framework
  3. Alk MMORPG Framework(这个应该是免费的)

Q7:我刚到公司的时候,为了熟悉代码,经理给的任务便是做测试。请问

  1. 公司代码中不少函数是私有的,或者是void函数如何测试?
  2. 我用的Unity Test Tool插件,把仅有的一份文档都看遍了,还是不得精髓,请问,大神用什么软件或插件做Unity3D的测试?
  3. 当我测内存、CPU、帧测试时,用Unity中Profiler,感觉数据一直在跳跃,如何保证精确测试,即本游戏开始执行某一动作的即时测试信息(内存、CPU或帧)?

刚学Unity,也是刚做测试的实习生,问题有些肤浅,跪请大神赐教,指点迷津~ A:大兄弟,你想要的可能是调试。既然你有代码,且目的是熟悉代码,可以进行debug,打打断点,动手调试,这样学习更快。

Q8:我想问下,安卓平台下,为什么有的游戏那么容易闪退,这个是什么原因呢?

A:这个问题要从两方面来看:

  1. 引擎差异。从我们公司测试N款游戏的数据来看,U3D很吃内存。如果代码里存在内存泄露,一般在中低端机型上很容易崩溃。
  2. Android low memory killer机制。Android系统里有一个内存回收机制,它按照优先级回收内存。如果内存很紧张,会回收掉前台进程,有可能把游戏进程杀掉。

建议在项目后期,进行性能优化,主要针对内存方面。

Q9:请问你们的测试是通过游戏装在终端,一遍一遍地通过玩游戏来测试,还是通过什么软件工具来测试(毕竟不想错过这次大牛在线的机会)?

A:我们采用的是全自动化测试,整套平台是我们自主开发的,目前没有现成的技术方案。

简单来说,我们会先人工录制一套脚本,然后该脚本会在几百部终端上自动回放,无需人工干预。我们的测试内容包括:

  1. 600 + 部中国主流终端的手游兼容性测试。
  2. 手游性能测试,包括帧速率、流量、温度、启动时延、安装时间、CPU、内存等指标。
  3. 手游功能测试,包括新手引导、任务、活动、充值、商城、好友、团战等。

Q10:对了,SDK接入的包大吗?会不会影响游戏本身的运行效率?

A:我们的接入SDK短小精干,非常高效,不会影响游戏运行效率。目前暂不开放脚本录制,后续会考虑逐步开放。

Q11:想问问一般正常游戏流程,是不是应该策划先行,然后配合美术,最后程序干活。我们现在做游戏都是程序先去“炮灰”,无策划无美术先研究各种技术点,然后策划介入仍然无美术,研究技术点,最后美术才参与,然后导致模型动作或者动画很多问题,正规的流程或者说快速开发的流程是怎样的?

A:这属于方法论的范畴。从开发过程来看,没有一种适用于所有开发活动的通用流程,只有适合自己团队的流程。

站在开发者的立场,我们经常会抱怨需求变更,但移动互联网是一个拼速度的行业,起码要做到快速响应需求。可以理解你所说的程序先做“炮灰”,其实就是做一个demo或者技术预研,在这个过程中不必投入太多,最好有一个良好的设计以应对需求变更。

团队内部要多沟通,确保大家对项目的理解达成一致,就像打仗一样,要确定大方向和战术方针。这不算技术问题,只是分享一下我的理解,希望能对你有所帮助。

作者信息

boke

boke

共发布了 3994 篇文章