我们为什么需要QA
游戏从广义来讲也是一个计算机软件。计算机软件在研发过程中,不可避免的会引入各种各样的bug,而这些bug交到用户手里,有可能会引起或大或小的问题,咱们玩游戏的时候,也可能碰到过闪退或者卡顿。
还有一个让人唏嘘的例子,80年代,加拿大的一家医疗器械公司做了一款X光刀,用聚焦X射线来切除人体器官。然而它的辐射计量控制软件里出了一个bug,导致了几千名病人都遭受了超量的X光射线的辐射,最终造成六人死亡。加拿大的医疗监管机构和美国的FBA对这件事情进行了调查,发现这个事故最终原因是由于写剂量控制软件的两个程序员造成的。
当然bug也有正面的作用。美剧里面有个机构叫疾病预防与控制中心,这个机构在美国是真实存在的,目的是预防疾病大规模传染。他们就曾经把暴雪的服务器数据copy过去,用来研究假如***,应该怎么处理。
Bug给游戏体验带来巨大影响
对游戏行业来说,bug一般不会造成玩家的直接伤害,而是摧残心理,导致游戏体验大打折扣。
网易游戏的研发历程中,也有被bug伤害的经历。早年的一款游戏出了一个收集书以获得稀有物品的新玩法,那时大家比较缺乏经验,没有设计物品掉落的上限,导致大量收集后,稀有的物品不再稀有。
发现这个问题之后,开发组就把掉落的概率改低了。网上指责开发组暗改概率,引起大范围讨论,使得当时游戏遭遇了重大危机,在线人数大幅跌落。这是游戏设计上的bug。
程序上会出现什么样的问题呢?
我们在游戏里做了一个新的副本,为了更有意思和新鲜感,副本里面的怪是随机出现的。刚开服的时候确实是随机的,但是玩了一会儿之后发现在进去之后,副本里只会出现一种怪。经过了很长时间调查,发现这是因为底层调用系统的错误导致的。由于我们的玩家数量多,这些隐藏很深的问题都必然会暴露出来。
千万DAU的手游,又会出现什么bug?
当时某产品有一个很火的主播,8万多个人邀请他加好友。这个主播一打开他的好友列表,我们服务器就直接死机了。其实我们的服务器配置都是不错的,但是为什么还是会死机呢?原因是太多人想加主播好友了,程序没办法响应这种级别的请求。后来为了避免这个问题,我们会把用户请求查询的数据限制一下。
之后我们建立了一个评价质量的体系,网易游戏已经达到了较高的品质要求。但即使这样的情况下,我们也出过很多问题。
因此,通过严格的测试来避免这些bug出现在玩家手里是十分有必要的。
网易游戏的QA如何开展工作?
我们是如何在游戏中去做这些测试,保证提供给玩家的游戏是高品质的呢?
最简单的东西叫做验证,看一看游戏开发者的想法和设计者的想法是不是一致,看跳转规则跟UI设计是否一样。现在市面上有各种各样的手机,游戏在不同的机子上运行会存在不同的问题,所以我们要去验证不同手机上的问题。
有时候我们手机游戏玩起来虽然没有什么bug,但是流畅性也是一个问题,在团战的时候会卡,或者完全在瞬移。我们把游戏的测试分成三个方面,第一方面最简单的验证就是流畅性。第二方面我们叫量化评估,看看它的量化指标有没有达到标准。第三点叫做建立标准。
我举一个例子,荒野行动市面上70%多的手机上都可以玩。这件事情是怎么样做到的?如果我们美术同学想表现一个非常炫酷的美术效果,我们游戏的画面会设计得非常精美。但如果玩家的手机性能不足,可能实际呈现出来的效果会变成幻灯片一样。所以我们在游戏研发初期就会去用假的模型测试一些场景,去看它的真实手机性能,根据这样的测试定下来美术制作的标准。
下面介绍一下我们做游戏测试用的一些工具。
手机测试有一个很大的问题:安卓手机市场碎片化非常严重。玩家的设备非常多,我们实验室里面采购了几千台手机,这么多的手机设备才能覆盖中国市场上一半多的玩家。
这是网易游戏的一个测试机架,在机架上放着不同的手机,我们可以在上面运行各种各样的测试,可以支持不同渠道的登录,同时也可以调动不同的游戏,包括同样一个游戏里面不同的玩法和各种各样的场景界面。这些测试都是靠自动化完成后生成结果,这样就可以花很少的人力去发现问题。
我们自己也研发了一套技术,实现自动化测试的功能。目前在和Google合作,用于全球安卓开发者使用的云测试环境中。
有玩家提过商场人多,手机信号比较差。为了验证,我们可以带一个设备去商场里面采集真实的网络情况,然后拿到我们实验室的树莓派设备上进行回放。就可以在实验室里面模拟弱网络环境,然后在弱网络环境下去测试我们游戏的体验。
这幅图是一个高速摄像机,就是大家平时看慢镜头就是用这样的高速摄像机拍出的。我们用这些慢镜头来干什么?游戏中有一个东西叫反应灵敏度,我们用他们来测试点开一个界面的时候,是秒开还是非常迟钝。这些都是游戏体验中一些很细节的问题。
全部评论
(0) 回帖