2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  《白盒測(cè)試(JUnit測(cè)試框架)實(shí)訓(xùn)》課程設(shè)計(jì)</p><p>  題目: 貪吃蛇程序的白盒測(cè)試 </p><p>  姓名: </p><p>  學(xué)號(hào): </p

2、><p>  班級(jí): 測(cè)試0901 </p><p>  時(shí)間: 2010 年 9 月 10 日 </p><p>  白盒測(cè)試課程設(shè)計(jì) — 貪吃蛇程序(Ver: 0.91 Alpha)的白盒測(cè)試</p><p><b>  程序功能簡(jiǎn)介

3、:</b></p><p>  1. 游戲開(kāi)始的時(shí)候,成績(jī)?yōu)?,等級(jí)為“初出茅廬!”,蛇的速度(線程掛起時(shí)間)為300。</p><p>  2. 蛇的行走方向通過(guò)鍵盤(pán)方向鍵上、下、左、右來(lái)操作。</p><p>  3. 蛇(藍(lán)色長(zhǎng)條)吞吃一個(gè)食物(紅點(diǎn)方格)后,身體長(zhǎng)度增加一格,吃掉的食物消失并隨機(jī)出現(xiàn)新食物(紅點(diǎn)方格),游戲者的分?jǐn)?shù)增加10分。&l

4、t;/p><p>  4. 當(dāng)分?jǐn)?shù)超過(guò)40,速度為250;分?jǐn)?shù)超過(guò)80,速度為200;分?jǐn)?shù)超過(guò)120,速度為160;分?jǐn)?shù)超過(guò)160,速度為120;分?jǐn)?shù)超過(guò)200,速度為100。</p><p>  5. 當(dāng)速度達(dá)到300時(shí),顯示等級(jí)為“初出茅廬!”;速度達(dá)到250時(shí),顯示“小試牛刀!”;速度達(dá)到200時(shí),顯示“表現(xiàn)優(yōu)異!”;速度達(dá)到150時(shí),顯示“疾風(fēng)之蛇!”;速度達(dá)到120時(shí),顯示“已經(jīng)瘋子

5、!”;速度達(dá)到100時(shí),顯示“超越神了!”。</p><p>  6. 當(dāng)蛇吃到上下邊界(頂部和底部黑色長(zhǎng)方格)以及自己的身體后游戲結(jié)束。</p><p>  7. 游戲結(jié)束后,按enter回車鍵重新開(kāi)始。</p><p><b>  白盒測(cè)試過(guò)程:</b></p><p><b>  一、代碼檢查:</

6、b></p><p><b>  1. 變量的檢查</b></p><p><b>  正常</b></p><p>  2. 命名和類型的檢查</p><p><b>  正常</b></p><p><b>  3. 程序邏輯審查&l

7、t;/b></p><p><b>  符合邏輯</b></p><p><b>  4. 程序語(yǔ)法檢查</b></p><p><b>  語(yǔ)法通過(guò)</b></p><p><b>  5. 程序結(jié)構(gòu)檢查</b></p><p&

8、gt;<b>  合理</b></p><p>  二、 靜態(tài)結(jié)構(gòu)分析:</p><p>  程序靜態(tài)結(jié)構(gòu)如下類圖所示</p><p>  Snake類圖關(guān)聯(lián):</p><p>  Controller類圖關(guān)聯(lián):</p><p>  GamePanel類圖關(guān)聯(lián):</p><p&

9、gt;  1. 根據(jù)類圖及關(guān)聯(lián)簡(jiǎn)述貪吃蛇程序的類功能及結(jié)構(gòu)。</p><p> ?。?)Food 繼承于Point,其實(shí)就是個(gè)坐標(biāo)對(duì)象所包含的方法 1、記錄新食物的位置 2、比較Food對(duì)應(yīng)的坐標(biāo)是否與蛇頭相等</p><p> ?。?)Ground對(duì)地板的封裝,它擁有成員變量二維rocks 記錄墻的位置,初始狀態(tài)墻在第1行和第15行 蛇是否撞墻的判斷方法isSnakeatGround&l

10、t;/p><p> ?。?)Snake繼承于Thread,通過(guò)蛇行為判斷相應(yīng)的動(dòng)作:是否吃到自己的判斷,通過(guò)分?jǐn)?shù)值來(lái)獲得速度的判斷,通過(guò)方向的移動(dòng)來(lái)判斷蛇頭的移動(dòng),蛇的運(yùn)行狀態(tài)、運(yùn)行方向、是否存活的判斷(吃自己),以及初始化蛇對(duì)象。</p><p> ?。?)Controller控制游戲,她創(chuàng)建snake、food、ground對(duì)象,并獲取計(jì)分面板和游戲面板對(duì)象能通過(guò)newGame()方法啟動(dòng)

11、游戲利用 keyPressed()方法接收按鍵行為利用snakeMoved()處理蛇移動(dòng)后的行為</p><p>  SnakeListener蛇移動(dòng)的監(jiān)聽(tīng)器</p><p> ?。?)Global全局變量定義,包含單元格大小以及長(zhǎng)寬各占多少單元格</p><p> ?。?)GamePanel游戲面板,繼承于JPanel,主要功能利用display()是獲得snak

12、e、food和ground對(duì)象 </p><p><b>  并畫(huà)蛇、食物和石頭</b></p><p> ?。?)GameUI組合貪吃蛇面板,觸發(fā)應(yīng)用程序運(yùn)行</p><p> ?。?)ScorePanel計(jì)分面板,繼承于JPanel, 擁有5個(gè)標(biāo)簽對(duì)象, 最開(kāi)始的成績(jī)?cè)O(shè)置為0,等級(jí)為初出茅廬</p><p>  其中

13、label2用來(lái)顯示成績(jī)值, label4用來(lái)顯示等級(jí)名稱</p><p><b>  結(jié)構(gòu)描述</b></p><p>  首先Gobal定義好場(chǎng)景的大小,在場(chǎng)景中加入計(jì)分面板ScorePanel和游戲面板GamePanel,再用GameUI組合貪吃蛇面板,觸發(fā)應(yīng)用程序運(yùn)行。Food中設(shè)置新食物的坐標(biāo)位置,Gronud中二維rocks記錄墻的位置,并定義蛇撞墻的判斷

14、方法,Snake定義蛇的行為來(lái)判斷是否吃到自己獲得速度以及通過(guò)方向判斷蛇頭的移動(dòng),在Controller中創(chuàng)建snake,food,ground對(duì)象,結(jié)合它們中所有的蛇行為并關(guān)聯(lián)到游戲和計(jì)分面板。SnakeListener添加蛇移動(dòng)的監(jiān)聽(tīng)器。</p><p>  2. 判斷哪些是主要方法。</p><p>  1) boolean common.Ground.isSnakeEatGrou

15、nd(Snake snake):</p><p>  蛇是否撞墻的判斷方法</p><p>  @param Snake snake蛇</p><p>  @return true 蛇頭的坐標(biāo)等于在第一行和15行</p><p>  2) boolean common.Snake.isEatBody():</p><p&

16、gt;<b>  判斷蛇是否吃到自己</b></p><p>  @return true:蛇身體的坐標(biāo)等于蛇頭的坐標(biāo)</p><p>  3) int common.Snake.getSpeed():</p><p><b>  通過(guò)分?jǐn)?shù)來(lái)獲得速度</b></p><p>  4) void

17、 view.ScorePanel.setGrade(int speed):</p><p>  根據(jù)參數(shù)判斷所處的等級(jí),并更新計(jì)分板上的等級(jí)值 </p><p>  @param speed 速度值</p><p>  5) void controller.Controller.keyPressed(KeyEvent e):</p><p>

18、;  通過(guò)keyPressed方法接收按鍵行為</p><p>  6) void controller.Controller.snakeMoved(Snake snake):</p><p><b>  蛇移動(dòng)后的行為</b></p><p>  1是否吃到食物,true構(gòu)建新的食物坐標(biāo)</p><p>  2是否撞

19、到墻,true蛇死</p><p>  3重新畫(huà)蛇,食物,地板4跟新計(jì)分板上的分?jǐn)?shù)和等級(jí)</p><p>  7) void view.GameUI.main(String[] args):</p><p>  GameUI的主函數(shù)</p><p>  8 void common.Snake.eatFood()</p>

20、<p>  蛇吃到食物后給蛇加尾巴,給游戲者加分</p><p>  3. 檢查方法調(diào)用是否符合要求。</p><p><b>  正常</b></p><p>  4. 方法調(diào)用層次是否過(guò)深。</p><p><b>  否</b></p><p>  5. 是

21、否存在孤立未被調(diào)用的成員及方法。</p><p>  private GamePanel Snake .gamePanel</p><p>  private JLabel label4;</p><p><b>  三、 動(dòng)態(tài)測(cè)試</b></p><p>  根據(jù)結(jié)構(gòu)分析,貪吃蛇程序的產(chǎn)生BUG的主要模塊為snake、

22、controller、GameUI、ScorePanel,以下進(jìn)行主要功能模塊的單元測(cè)試</p><p>  setGrade單元測(cè)試</p><p><b>  A. 測(cè)試用例設(shè)計(jì)</b></p><p>  B. 測(cè)試類腳本(測(cè)試文件名及結(jié)構(gòu))</p><p>  void view.ScorePanelTest.t

23、estsetGrade ()</p><p>  testsetGrade()測(cè)試等級(jí)內(nèi)容當(dāng)速度達(dá)到300時(shí),顯示等級(jí)為"初出茅廬!" 當(dāng)速度達(dá)到250時(shí),顯示等級(jí)為"小試牛刀!" 當(dāng)速度達(dá)到200時(shí),顯示等級(jí)為"表現(xiàn)優(yōu)異!" 當(dāng)速度達(dá)到150時(shí),顯示等級(jí)為"疾風(fēng)之蛇!" 當(dāng)速度達(dá)到120時(shí),顯示等級(jí)為"已經(jīng)瘋子!"

24、; 當(dāng)速度達(dá)到100時(shí),顯示等級(jí)為"超越神了!"</p><p><b>  Speed單元測(cè)試</b></p><p><b>  A. 測(cè)試用例設(shè)計(jì)</b></p><p>  B. 測(cè)試類腳本(測(cè)試文件名及結(jié)構(gòu))</p><p>  1、void codetest.Snak

25、eTes.testGetSpeed1():testgetSpeedX()測(cè)試通過(guò)分?jǐn)?shù)來(lái)獲得速度</p><p>  2、void codetest.SnakeTes.testGetSpeed2()</p><p>  3、void codetest.SnakeTes.testGetSpeed3()</p><p>  4、void codetest.SnakeTes

26、.testGetSpeed4()</p><p>  5、void codetest.SnakeTes.testGetSpeed5()</p><p>  6、void codetest.SnakeTes.testGetSpeedBound1()</p><p>  7、void codetest.SnakeTes.testGetSpeedBound2()</

27、p><p>  8、void codetest.SnakeTes.testGetSpeedBound3()</p><p>  9、void codetest.SnakeTes.testGetSpeedBound4()</p><p>  10、void codetest.SnakeTes.testGetSpeedBound5()</p><p>

28、;  11、void codetest.SnakeTes.testGetSpeedBound6()</p><p>  isSnakeEatGround單元測(cè)試</p><p><b>  A. 測(cè)試用例設(shè)計(jì)</b></p><p>  B. 測(cè)試類腳本(測(cè)試文件名及結(jié)構(gòu))</p><p>  void codetest

29、.ControllerTest.testIsSnakeEatGround1()</p><p>  testIsSnakeEatGround()測(cè)試 當(dāng)蛇吃到上下邊界時(shí)后蛇處于死亡狀態(tài)</p><p>  IsEatBody單元測(cè)試</p><p><b>  A. 測(cè)試用例設(shè)計(jì)</b></p><p>  B. 測(cè)試類

30、腳本(測(cè)試文件名及結(jié)構(gòu))</p><p>  void codetest.ControllerTest.testIsEatBody()</p><p>  testIsEatBody()測(cè)試 當(dāng)蛇吃到自己后蛇處于死亡狀態(tài)</p><p>  GameUI單元測(cè)試</p><p><b>  A. 測(cè)試用例設(shè)計(jì)</b>&l

31、t;/p><p>  B. 測(cè)試類腳本(測(cè)試文件名及結(jié)構(gòu))</p><p>  void codetest.GameUITest.testGameStart()</p><p>  KeyPressed單元測(cè)試</p><p><b>  A. 測(cè)試用例設(shè)計(jì)</b></p><p>  B. 測(cè)試類腳

32、本(測(cè)試文件名及結(jié)構(gòu))</p><p>  void codetest.ControllerTest.testKeyPressed()</p><p>  testKeyPressed()方法測(cè)試 蛇的行走方向通過(guò)鍵盤(pán)方向鍵上下左右來(lái)操作</p><p>  AfterEatFood()單元測(cè)試</p><p><b>  A. 測(cè)

33、試用例設(shè)計(jì)</b></p><p>  B. 測(cè)試類腳本(測(cè)試文件名及結(jié)構(gòu))</p><p>  void codetest.ControllerTest.testAfterEatFood()</p><p>  testAfterEatFood()測(cè)試</p><p>  蛇(藍(lán)色長(zhǎng)條)吞吃一個(gè)食物(紅色方格)后</p&g

34、t;<p>  身體長(zhǎng)度增加一格,吃掉的食物消失并隨機(jī)出現(xiàn)新食物</p><p>  游戲者的分?jǐn)?shù)增加10分</p><p><b>  白盒測(cè)試缺陷報(bào)告:</b></p><p>  關(guān)于測(cè)試缺陷優(yōu)先級(jí)的說(shuō)明:</p><p>  1 – 非常嚴(yán)重的缺陷,例如,軟件的意外退出甚至操作系

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論