ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:299.55KB ,
资源ID:16177111      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16177111.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(贪吃蛇白盒测试课程设计文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

贪吃蛇白盒测试课程设计文档格式.docx

1、速度达到150时,显示“疾风之蛇!速度达到120时,显示“已经疯子!速度达到100时,显示“超越神了!”。6 当蛇吃到上下边界(顶部和底部黑色长方格)以及自己的身体后游戏结束。7. 游戏结束后,按enter回车键重新开始。白盒测试过程:一、代码检查:1. 变量的检查正常2. 命名和类型的检查3. 程序逻辑审查符合逻辑4. 程序语法检查语法通过5. 程序结构检查合理二、 静态结构分析:程序静态结构如下类图所示Snake类图关联:Controller类图关联:GamePanel类图关联:1. 根据类图及关联简述贪吃蛇程序的类功能及结构。(1)Food 继承于Point,其实就是个坐标对象所包含的方

2、法 1、记录新食物的位置 2、比较Food对应的坐标是否与蛇头相等(2)Ground对地板的封装,它拥有成员变量二维rocks 记录墙的位置,初始状态墙在第1行和第15行 蛇是否撞墙的判断方法isSnakeatGround(3)Snake继承于Thread,通过蛇行为判断相应的动作:是否吃到自己的判断,通过分数值来获得速度的判断,通过方向的移动来判断蛇头的移动,蛇的运行状态、运行方向、是否存活的判断(吃自己),以及初始化蛇对象。(4)Controller控制游戏,她创建snake、food、ground对象,并获取计分面板和游戏面板对象能通过newGame()方法启动游戏利用 keyPress

3、ed()方法接收按键行为利用snakeMoved()处理蛇移动后的行为SnakeListener蛇移动的监听器(5)Global全局变量定义,包含单元格大小以及长宽各占多少单元格(6)GamePanel游戏面板,继承于JPanel,主要功能利用display()是获得snake、food和ground对象 并画蛇、食物和石头(7)GameUI组合贪吃蛇面板,触发应用程序运行(8)ScorePanel计分面板,继承于JPanel, 拥有5个标签对象, 最开始的成绩设置为0,等级为初出茅庐 其中label2用来显示成绩值, label4用来显示等级名称结构描述首先Gobal定义好场景的大小,在场景

4、中加入计分面板ScorePanel和游戏面板GamePanel,再用GameUI组合贪吃蛇面板,触发应用程序运行。Food中设置新食物的坐标位置,Gronud中二维rocks记录墙的位置,并定义蛇撞墙的判断方法,Snake定义蛇的行为来判断是否吃到自己获得速度以及通过方向判断蛇头的移动,在Controller中创建snake,food,ground对象,结合它们中所有的蛇行为并关联到游戏和计分面板。SnakeListener添加蛇移动的监听器。2. 判断哪些是主要方法。1) boolean common.Ground.isSnakeEatGround(Snake snake):蛇是否撞墙的判断

5、方法param Snake snake蛇return true 蛇头的坐标等于在第一行和15行2) boolean common.Snake.isEatBody():判断蛇是否吃到自己return true:蛇身体的坐标等于蛇头的坐标3) int common.Snake.getSpeed():通过分数来获得速度4) void view.ScorePanel.setGrade(int speed):根据参数判断所处的等级,并更新计分板上的等级值 param speed 速度值5) void controller.Controller.keyPressed(KeyEvent e):通过keyPr

6、essed方法接收按键行为6) void controller.Controller.snakeMoved(Snake snake):蛇移动后的行为1是否吃到食物,true构建新的食物坐标2是否撞到墙,true蛇死3重新画蛇,食物,地板4跟新计分板上的分数和等级7) void view.GameUI.main(String args):GameUI的主函数8 void common.Snake.eatFood()蛇吃到食物后给蛇加尾巴,给游戏者加分3. 检查方法调用是否符合要求。4. 方法调用层次是否过深。否5. 是否存在孤立未被调用的成员及方法。private GamePanel Snake

7、 .gamePanelprivate JLabel label4;三、 动态测试根据结构分析,贪吃蛇程序的产生BUG的主要模块为snake、controller、GameUI、ScorePanel,以下进行主要功能模块的单元测试setGrade单元测试A. 测试用例设计测试用例类型(正常或异常)输入条件期望结果输出结果TestsetGrade1300初出茅庐!TestsetGrade2异常250小试牛刀!超越神了!TestsetGrade3200表现优异!TestsetGrade4150疾风之蛇!TestsetGrade5120已经疯子!TestsetGrade6100B. 测试类脚本(测试文

8、件名及结构)void view.ScorePanelTest.testsetGrade ()testsetGrade()测试等级内容当速度达到300时,显示等级为 当速度达到250时,显示等级为 当速度达到200时,显示等级为 当速度达到150时,显示等级为 当速度达到120时,显示等级为 当速度达到100时,显示等级为Speed单元测试testGetSpeed190testGetSpeed2170testGetSpeed3130160testGetSpeed4testGetSpeed550testGetSpeedBound180testGetSpeedBound2testGetSpeedBo

9、und3testGetSpeedBound4testGetSpeedBound5testGetSpeedBound6401、void codetest.SnakeTes.testGetSpeed1():testgetSpeedX()测试通过分数来获得速度2、void codetest.SnakeTes.testGetSpeed2()3、void codetest.SnakeTes.testGetSpeed3()4、void codetest.SnakeTes.testGetSpeed4()5、void codetest.SnakeTes.testGetSpeed5()6、void codete

10、st.SnakeTes.testGetSpeedBound1()7、void codetest.SnakeTes.testGetSpeedBound2()8、void codetest.SnakeTes.testGetSpeedBound3()9、void codetest.SnakeTes.testGetSpeedBound4()10、void codetest.SnakeTes.testGetSpeedBound5()11、void codetest.SnakeTes.testGetSpeedBound6()isSnakeEatGround单元测试testIsSnakeEatGround1

11、nake.getBody().set(0,new Point(5,0)falsetruetestIsSnakeEatGround2nake.getBody().set(0,new Point(5,14)testIsSnakeEatGround3nake.getBody().set(0,new Point(5,2)void codetest.ControllerTest.testIsSnakeEatGround1()testIsSnakeEatGround()测试 当蛇吃到上下边界时后蛇处于死亡状态IsEatBody单元测试testIsEatBodysnake.getBody().add(new

12、 Point(5,1);snake.getBody().add(new Point(4,1);snake.getBody().add(new Point(4,2);snake.getBody().add(new Point(5,2);void codetest.ControllerTest.testIsEatBody()testIsEatBody()测试 当蛇吃到自己后蛇处于死亡状态GameUI单元测试testGameStartnew Game()0,初出茅庐!void codetest.GameUITest.testGameStart()KeyPressed单元测试testKeyPresse

13、dkeyPress(KeyEvent.VK_UP)firstPoint.x,firstPoint.y-1keyPress(KeyEvent.VK_LEFT)firstPoint.x-1,firstPoint.y-1keyPress(KeyEvent.VK_DOWN)firstPoint.x-1,firstPoint.y-1+1keyPress(KeyEvent.VK_RIGHT)firstPoint.x-1+1,firstPoint.y-1+1void codetest.ControllerTest.testKeyPressed()testKeyPressed()方法测试 蛇的行走方向通过键盘

14、方向键上下左右来操作AfterEatFood()单元测试testAfterEatFood()New Point(5,1)4、New Point(5,1),10void codetest.ControllerTest.testAfterEatFood()testAfterEatFood()测试蛇(蓝色长条)吞吃一个食物(红色方格)后身体长度增加一格,吃掉的食物消失并随机出现新食物游戏者的分数增加10分白盒测试缺陷报告:关于测试缺陷优先级的说明:1非常严重的缺陷,例如,软件的意外退出甚至操作系统崩溃,造成数据丢失。 2较严重的缺陷,例如,软件的某个菜单不起作用或者产生错误的结果;3-软件一般缺陷,

15、例如,本地化软件的某些字符没有翻译或者翻译不准确;4软件界面的细微缺陷,例如,某个控件没有对齐,某个标点符号丢失等;项目名称:贪吃蛇 编号001002003004005006版本号Ver: 0.91 Alpha测试环境JunitEclipse测试阶段(单元/集成)单元正确功能描述当分数超过40,速度为250;当速度达到300时,显示等级为“初出茅庐!”当蛇吃到上下边界(顶部和底部黑色长方格)以ControllerTest. testIsSnakeEatGround () 及自己的身体后游戏结束 ControllerTest.testIsEatBody()蛇的行走方向通过键盘方向键上、下、左、右

16、来操作。ControllerTest.testkeyPressed()游戏开始的时候,成绩为0,等级为“初出茅庐!GameUITest. testGameStart()蛇(蓝色长条)吞吃一个食物(红点方格)后,身体长度增加一格,吃掉的食物消失并随机出现新食物(红点方格),游戏者的分数增加10分。缺陷描述1当分数超过200时,根据测试速度应该为100,而实际代码中为902当分数超过120时,根据测试速度应该为160,而实际代码为150当速度为250时,根据测试显示为小试牛刀!实际情况显示超越神了!1在controller. snakeMoved方法中没有调用到snake.isEatBody()2

17、在Ground类中当如果蛇撞到墙时候返回值为false无缺陷类型界面/算法/功能/自定义算法功能致命/严重/一般/轻微严重致命优先级1/2/3/421修改意见1当分数超过200时,根据测试修改速度为100,2当分数超过120时,根据测试修改速度为160在scorePanel类中改为case 250: label4.setText(); break;1.在Controller类中加上if(snake.isEatBody()snake.die();这个方法,则蛇吃到自己时结束游戏2.在Ground类中当如果蛇撞到墙时候返回值应该为return true;测试人员郭洋提交日期2011/6/82011/6/92011/6/10测试工具复审人复审时间复审结果描述

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1