测试工作安排
测试工具选择和运用
函数逻辑测试:Unity Editor自带的单元测试模块Editor Tests Runner,测试计分逻辑,排名逻辑。
对于ui,动画显示等问题:采用手动观察测试
测试用例文档
https://docs.qq.com/doc/DWnRvbUx1eXJjY3ZO
开始界面模块
测试功能 |
测试项 |
输入/操作 |
检测点 |
预期结果 |
验收情况 |
开始界面模块 |
Play按钮组件的正常运行 |
Play按钮组件的正常运行 |
跳转功能 |
短暂的loadscreen场景后进入第一个场景 |
成功 |
开始界面模块 |
Play按钮组件的正常运行 |
点击play按钮(声音) |
结果显示 |
会有对应的响声 |
成功 |
开始界面模块 |
设置按钮模块组件的正常运行 |
点击设置按钮 |
跳转界面 |
显示设置界面 |
成功 |
开始界面模块 |
设置按钮模块组件的正常运行 |
点击叉按钮 |
跳转界面 |
退出设置界面 |
成功 |
开始界面模块 |
设置按钮模块组件的正常运行 |
点击音乐按钮 |
结果显示 |
关闭背景音乐 |
成功 |
开始界面模块 |
设置按钮模块组件的正常运行 |
点击声音按钮 |
结果显示 |
关闭游戏音效 |
成功 |
开始界面模块 |
设置按钮模块组件的正常运行 |
点击save按钮 |
结果显示 |
保存游戏进度包括(achievements,inventories,progress) |
成功 |
开始界面模块 |
设置按钮模块组件的正常运行 |
点击reset save files按钮 |
结果显示 |
重置save files |
成功 |
开始界面模块 |
设置按钮模块组件的正常运行 |
点击对应按钮 |
结果显示 |
发出对应音效 |
成功 |
单局游戏结束结算
测试功能 |
测试项 |
输入/操作 |
检测点 |
预期结果 |
验收情况 |
单局游戏结束结算 |
结束时的计分机制 |
玩家1获胜/ |
GameManager的PlayerScore在正确的索引(玩家1是0)加1分 |
为单场最终获胜的玩家1加分 |
成功 |
单局游戏结束结算 |
结束时的场景切换机制 |
单场游戏结束 |
单场游戏的结束游戏结束后点击屏幕会跳转到loading场景 |
单场游戏结束时鼠标点击进入loadind界面 |
成功 |
单局游戏结束结算 |
结束时的场景切换机制 |
单场游戏结束/ |
Loading后会按GameManager的Next Game Scene设置的加载关卡顺序加载正确关卡 |
按顺序加载相对应关卡 |
成功 |
单局游戏结束结算 |
结束时的场景切换机制 |
完成10次关卡游戏 |
完成10场关卡后按GameManager的Game End Scene进入结算界面 |
完成10场关卡后进入结算界面 |
成功 |
游戏场景中测试(操作以PLAYER1为准)
测试功能 |
测试项 |
输入/操作 |
检测点 |
预期结果 |
验收情况 |
游戏场景中测试 |
水平移动 |
A,D |
是否能顺利移动 |
按A向左移动,按D向右移动 |
成功 |
游戏场景中测试 |
蹲 |
S |
是否能顺利蹲下 |
按S顺利蹲下 |
成功 |
游戏场景中测试 |
冲刺 |
F |
是否能顺利冲刺 |
按F能成功冲刺 |
成功 |
游戏场景中测试 |
跳 |
Space |
是否能成功跳起 |
按Space成功跳起 |
成功 |
游戏场景中测试 |
爬梯子 |
在梯子旁边按W |
是否能顺利爬上梯子 |
爬上梯子 |
成功 |
游戏场景中测试 |
抬头 |
不在梯子旁边是按W |
是否成功抬头 |
抬头 |
成功 |
游戏场景中测试 |
奔跑 |
按A或D进行水平移动的同时按Shift |
是否成功进入奔跑状态 |
进入奔跑状态 |
成功 |
游戏场景中测试 |
墙边跳 |
在墙边按空格 |
是否成功在墙边跳起 |
在墙边跳起 |
成功 |
游戏场景中测试 |
爬墙 |
在空中接触墙并按向着墙的方向按方向键 |
是否可以成功完成爬墙 |
进行了爬墙 |
成功 |
游戏场景中测试 |
射击 |
E |
是否成功射击 |
进行了射击 |
成功 |
结算界面模块
测试功能 |
测试项 |
输入/操作 |
检测点 |
预期结果 |
验收情况 |
游戏结算界面 |
对计分数组进行排序 |
计分数组 |
从大到小排序功能 |
分数高的名次高 |
成功 |
游戏结算界面 |
显示最终排名 |
所有关卡完成,游戏结束 |
总分排行榜展示功能 |
游戏结束后进入切换至排行榜场景,正确显示各玩家成绩,并排名 |
成功 |
游戏键伤害判定
测试功能 |
测试项 |
输入/操作 |
检测点 |
预期结果 |
验收情况 |
游戏间的伤害 |
射击伤害 |
玩家1射击击中玩家2 |
是否完成伤害判定并扣玩家2的血量,Ui界面玩家2血条扣减 |
Ui界面玩家2血条扣减,并在相应血量数据中扣减相应伤害设置 |
成功 |
游戏间的伤害 |
决出胜者 |
除玩家1以外其余玩家死亡 |
是否能进入显示结果界面,并完成结算逻辑 |
进入显示结果界面 |
成功 |
游戏间的伤害 |
玩家死亡 |
玩家二受到足够伤害使血条清零 |
Ui界面玩家2血条是否没有,之后是否进入游戏结果界面 |
玩家2血条清零并进入结果界面 |
成功 |
测试体会
1、我不是在写程序,我是在写bug。测试非常的重要。测试过程中经常可以发现一些平时不容易发现的bug,可以极大的避免程序出现崩溃的情况。
2、要保证写后边测。刚开始学习如何去做软件测试,很多人会有等到写完了再测试的误解,软件测试应该是在软件的编写过程当中,对模块进行同步测试。
3、要有计划。测试很耗时间要提前爱拍,但是,如果为了追求测试的速度,毫无计划地开始测试,那结果就是一团糟,而且速度不能如愿,吸取教训,一定要做到有计划。
项目测试评述
团队在阿尔法冲刺阶段较后期才接触unity的新测试工具,时间比较紧张,学习以及测试不够充分,望在贝塔冲刺阶段能好好改进。