- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《坦克大战》游戏
单元测试报告
编写目的
通过对有游戏程序中的最小的单元进行系统的测试,使游戏程序中的潜藏的BUG,明显的功能上的语义性错误尽早暴露出来,方便以后的开发。
测试时间和人员
测试时间:2014-5-13
测试者:王浩菲
测试环境
硬件环境:Windows 7 操作系统、java虚拟机。
软件环境:eclipse集成开发环境及自带Junit单元测试工具。
程序单元描述
游戏程序目前主要分为一下几个单元:
游戏主面板类:包括所有游戏元素在窗口的绘制显示,实现双缓冲,事件监听处理等,面板重绘,各个对象的实例化操作。
坦克类:游戏中所有坦克对象
属性
坦克的好坏
生命值
移动速度
坦克高度和宽度
坦克起始坐标
坦克的起始方向
以及一些方法
坦克的初始化
绘制坦克
控制坦克移动
确定坦克的方向
坦克开火
碰撞检测
坦克撞墙检测
坦克发射超级炮弹
还包括一个内部类
(1)血条类
子弹类:描述坦克打出的子弹的属性等
属性
子弹的速度
子弹宽高
子弹生存情况
子弹的“好坏”
子弹起始坐标及方向
一些方法
子弹的初始化方法
子弹的绘制
子弹的移动
击中坦克的检测
击中墙的检测
爆炸类:描述子弹击中坦克产生的爆炸
属性
爆炸产生的坐标
爆炸的存在情况
一些方法
初始化
绘制爆炸
墙类:描述游戏场景中阻挡坦克的墙
属性
墙的坐标
主面板的引用
一些方法
初始化
绘制墙
检测碰撞
测试过程
坦克类
利用junit对目标类Tank.java生成TankTest.java测试类
自动生成测试代码,修改部分代码进行测试,如下图:
测试结果
用例 输入 预期结果 1 进入游戏 显示游戏界面,绘制出坦克 2 按下任意方向键 朝指定方向,以一定速度移动,并不停地重绘坦克对象 3 按下并释放开火键 朝当前朝向打一发子弹 4 移动坦克至碰撞到其他坦克 会停止不前 5 移动坦克碰撞到墙 会停止不前 6 移动坦克到游戏边界 会停止不前 7 子弹打中坦克 血条减少
子弹类
测试结果:
用例 输入 预期结果 1 按下并释放发射键 新绘制一颗子弹,包括方向,颜色,形状,大小等,并加入子弹集合,最后打出一发子弹 2 子弹打出后 子弹自动飞行,在碰撞前或飞出边界前生命为true 3 子弹碰撞到物体(坦克或墙或边界) 子弹消亡,线程结束
爆炸类
结果:
用例 输入 预期结果 1 子弹击中坦克对象 产生一个爆炸效果,同时坦克的血条减少 2 子弹击中墙 子弹直接消失,在内存中删除 3 子弹击中边界 子弹直接消失,在内存中删除 4.墙类
结果:
用例 输入 预期结果 1 进入游戏 绘制出所有的墙对象 2 坦克撞墙 墙不动,坦克无法前进 3 子弹撞墙 墙不动,子弹消失,在内存中删除 测试总结
本次测试针对程序中每个类进行一定的单元测试,存在一下问题
程序存在某些数据的错误。
重绘坦克等对象会出现不稳定的现象。
坦克移动会出现卡顿现象。
原创力文档


文档评论(0)