那么到底如何去做游戏测试呢?
这里我先列一个题目,大家分析一下,如何保证你做一个测试比别人做的好?
我们有一个职业是法师,到达100级的时候有基础属性,(基础属性参考属性走势曲线图),他能学会技能,例如火球术,(这是一个基于火系的攻击法术),提高该技能的方式有2种
1.装备有提升火系攻击属性的装备,获得相应的加成
2.装备又提升火球术等级的属性装备
而击中敌人的时候伤害受一下影响
1.敌人的等级,敌人每超过1级,那么命中降低3%,伤害降低2%
2.敌人装备的属性克制,遵守风-》火-》雷-》土-》水-》风 的关系,也就是火系对雷系攻击有10%的伤害加成,并且命中+5%,而雷系对火系伤害无效,有20%概率法术反弹
3.敌人装备的吸收属性,火吸收,雷50%减免,all属性10%反弹
4.暴击计算曲线
请大家思考一下如果需要你设计一组测试用例对以上这个攻击交互进行测试,你如何设计呢?
===============================================================================
接着继续说,其实想到继续写下去的一个重要原因是因为最近在打游戏的时候经常走神,在DOTA中经常被兄弟们BS,说的夸张点,当我在玩这个游戏的时候感觉和以前不一样了,我看到的不是一个Dota游戏,而是这个游戏在地图编辑器里面的各个模型和各种事件,技能设定,在那一瞬间我看到的只有01010101
在去年的时候写到需要对一个PK中的技能交互测试,在这里只需要对所有可能性进行覆盖即可,但游戏并不是只有PK还有很多别的东西,所以在编写测试用例的时候要经历以下几个阶段
1.GD部门的设计方案
2.测试和相关部门对该方案进行评审
3.如果评审通过开发负责进行对应的工具检查和开发(如果没这个功能加,有这个功能如果可以满足设计,则休息)
测试对该设计方案进行全面的测试计划,方案,用例准备工作
4.GD和美工将游戏部分实现
5.测试介入开始进行测试
6.测试满足,进入上线阶段,开始进行基线化,并且进入实际环境测试,当实际测试环境通过,分发升级包,停服更新(仅对网游有效)
例如举个例子,我们在游戏中需要加入"成就系统",那么首先GD部门需要提出这个概念,并且简单说明该功能的目的
相关部门觉得这个点子是可以实现的,那么我们就做吧
首先开发去研究一下当前系统能不能加入击杀Boss成就系统,可以,只需要记录每次击杀Boss的时间,但是当前系统是没这个功能的,所以要在数据库里面加表,来记录每个用户ID在击杀各个boss的时间
同时测试根据GD设计开始设计测试用例,测试那些Boss的击杀能够计算入成就系统
当带有该功能的测试版本提交后,测试开始进行测试,(这个测试可以简单进行,开一个无敌外挂直接冲进副本杀boss就行了,如果有调试平台可以直接输入命令,让boss死翘翘)
当所有测试结束后,开始将其加入测试服务器,进行外围测试,最终通过发布补丁
对于整个游戏测试来说最难的有两部分,一个是测试用例的设计,另外一个就是游戏测试的流程团队管理。