西山居揭秘NO.3:剑网3是如何进行测试的(组图)

来源:互联网 发布:端口地址 编辑:程序博客网 时间:2024/03/29 19:49

 作者:西山居工作室/剑网3/质量经理 WilsonWei

  编者按:西山居作为国内知名的游戏工作室,十余年来积累和沉淀了很多东西,无论是美术还是策划或程序或测试,无论是早期的《中关村启示录》、还是现在的《剑侠情缘》系列。金山官方博客将会邀请西山居美术、策划等同事为我们分享游戏制作过程中的点点滴滴。希望通过这些,能够让大家更多地了解到游戏是如何“炼”成的,也希望通过此,为有志于游戏行业的朋友们提供一些指导和建议。

  本期我们有幸邀到了剑3的质量经理WilsonWei来为我们讲述剑3是如何进行测试、剑3测试团队是如何完成测试的。

  “西山居出品,必属精品!”

  “剑网3真稳定!剑网3真好玩!”

  “不卡号、服务端程序连续运行144小时不崩溃!”

  上述是剑网3项目组全体成员要实现的伟大目标!


软件开发周期性测试

  也许你会问,为什么我们这么重视产品的“稳定”?因为这是结合了西山居人多年研发和运营网络游戏的丰富经验总结出来的,游戏功能可以逐个版本进行完善,游戏流畅度可以一步一步去改善,但是如果在游戏运营过程中,经常出现服务器宕机,客户端程序崩溃,这对于我们广大玩家来说,无疑是当头一棒!极大的影响游戏乐趣。

  我们是如何来实现“稳定”这个目标的?剑网3的测试人员平时都在做些什么呢?通过本文,你将对剑网3的质量团队有初步的了解。也希望大家以后能够给予剑网3这个产品更多的支持!

  剑网3是西山居目前研发时间最长的项目,差不多研发了5年了!“质量第一”是西山居工作室实现精品游戏的第一步,如果质量关没有通过的话,宁可将产品发布时间表推迟,也不能发布一个不稳定的产品出去。

  总体来讲,剑网3的质量人员主要分为“游戏测试工程师”和“测试开发工程师”。当然还有SQA(质量保证组),SCM(配置管理组),这两个组主要工作是项目管理方面。质量人员平时的主要工作是与策划或程序员讨论功能需求设计,进行测试设计(如编写测试方案和测试用例),编写测试报告。


日常代码测试

  游戏测试工程师主要的任务目标是确保剑网3的各个游戏功能按照策划案被完整地、正确地实现,实际制作出来的游戏场景与任务要与策划设计的一致,发现的问题或BUG多数为策划设计类和功能类的BUG。例如,游戏场景的风格是否与策划内容一致(如策划设计的是雪地场景,实际实现的也应该是雪地场景,不能在这个场景中出现不协调的场景元素。),功能NPC的功能是否正确实现(如命名为“饰品店老板”的NPC不能同时卖武器),音效是否正确实现(如刀击与棍击的音效是不同的),等等。

  游戏测试工程师的基本要求是对我们的游戏功能和需求非常熟悉。如果你深入玩过多款不同类型的游戏并能够很好的理解游戏系统,并且有一定的编程基础(编译语言不限),就能够更好的帮助发现BUG和提升游戏的可玩性等游戏质量。
游戏测试工程师平时的主要工作有:按版本进行系统测试或功能测试,跑场景(检查障碍、物件、任务、怪物分布等等)、测试怪物AI、检查和测试物品掉落机率、检查NPC对话、测试武功技能等等。同时还会做兼容性测试(如:显卡、CPU、操作系统等等)、易用性测试(如界面操作顺畅度、界面友好度等)。


代码测试工作流程定义

  测试开发工程师主要的任务目标是保障程序代码的质量,同时开发和提供各种调试、测试需要用到的辅助工具,测试开发工程师还需要通过“代码走查”和“单元测试”来发现程序代码规范性问题和潜在的BUG。“让计算机做善长做的事情”---- 是测试开发工程师做事的一个重要理念,所以我们开发出了一些自动化的测试工具,如可以自动检查配置表错误的检查工具,可以帮助测试工程师自动跑任务的游戏机器人等。因为我们在每天的凌晨会自动构建版本(通常叫做Nightly Build),然后会进行自动化测试,所以测试开发工程师每天早上上班第一件事就是看自动化测试报告,这样可以及时地发现每个版本的问题,及时修复。

  测试开发工程师的基本要求掌握较好的编程能力和程序调试能力,有一定的软件系统设计能力,同时对所开发的产品的相关领域知识有一定的了解和掌握,如我们开发的是网络游戏,那么就要会Socket编程,图形编程(如2D或3D),数据库设计与操作等。

  为了更好的说明剑网3质量人员主要的工作任务,给出以下示意图:

  如上图所示,测试开发工程师主要是确保“系统设计—详细设计与编码”这个阶段的相关质量,如系统设计是否合理,算法是否是最优的,代码可读性如何、有没有BUG等等。要特别提出的是,测试开发工程师的工作可以在版本还没有完整编译出来之前就可以开展,也就是说,只要程序员把设计文档写好,或者代码提交到代码库,测试开发工程师就可以开始进行测试了。在游戏测试工程师的工作之前就可以发现一部分BUG。避免这些BUG遗留到系统测试阶段。而游戏测试工程师侧重于发现集成环境下出现的BUG和产品化方面的BUG。

  当然,除了上述说到的要有“专业”的能力外,还需要其它方面的能力,简单地说就是“工作能力”了。网络上有一篇文章,大意是“测试人员必备的十大素质”,有耐心,细心,良好的沟通能力,很好的抗打击能力,较好的总结能力,洞察力,对问题的敏感能力等等。说实话,如果你真的可以同时做到了这些,我可以称你为“神”了!不过作为一名优秀的软件测试工程师(不管是游戏测试或是测试开发),会编程、有耐心、对问题有较好的敏感性、良好的沟通能力确实是做好软件测试工程师的比较重要的前提条件。

  就拿耐心来说吧,大家都知道,在游戏研发过程中,会经历无数次的版本集成,也就是说会出无数个版本,对于游戏测试工程师来说,基本上每个版本提交测试后,都需要去将各个场景的任务跑一遍(任务个数成百上千噢。。。),同时还要检查每个NPC和怪物的位置和功能等等,这样做久了肯定会累的。自己想不清楚的话,可能会放弃,如果想清楚了,工作中也经常有一些比较有趣的事情发生。比如为了测试方便,我们的测试工程师们在游戏里一般都是“上帝”。呵呵,其实就是在游戏里可以使用各种各样的“GM指令”啦~~~有了GM指令,你可以随意设置你的角色的等级,获得所有高级装备,学会各种门派的顶级武功,去任何你想要去的地方,这样,各大怪物BOSS当然不在话下,你想怎样孽待这些怪物都可以。哇哈哈~~~不过,有时为了尽量模拟游戏发布后,玩家可能碰到的问题,还是会限制使用“GM指令”的。记得曾经发生过一件很有趣的事:某日测试工程师A创建了一个角色,要测试NPC的一些动作,把村子里面的一个教武功的NPC和周围几个其它NPC杀了,连地上走动的小鸡都不放过,这时在旁边做其它测试的同事发现不能从这个NPC接任务了,然后就开始把追杀他!


工具开发流程

  至此,各位应该对剑网3的测试有了初步的了解了吧?

  总之,我们的目标是做一款精品游戏,做一款好游戏!剑网3的质量保障人员是我经历过的项目中人数最多的,也是最有实力的一支队伍,有了这样一支队伍,再加上一批有做精品游戏理念的项目其它成员,我相信我们能够把剑网3的质量做得足够好,让大家顺畅地、开心地游戏。

  希望剑网3发布之时,广大剑侠3的玩家会说:“剑网3,很好,很强大!”

 

http://blog.kingsoft.com/article/607703.shtml

原创粉丝点击