




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、精選優(yōu)質文檔-傾情為你奉上實驗報告實驗序號:02實驗項目名稱:基本路徑測試法和單元測試工具JUnit的使用學號姓名曹鋒專業(yè)、班09軟件工程一班實驗地點1#316指導教師崔建峰實驗時間2012/3/5一、實驗目的l 掌握基本路徑測試方法;l 了解在Eclipse環(huán)境下JUnit單元測試工具的安裝和使用方法;l 針對一個實際問題,在JUnit環(huán)境下設計并執(zhí)行測試用例。二、實驗要求l 開發(fā)環(huán)境:Eclipse v3.7及以上版本;JUnit v4.10及以上版本;文本編輯軟件。 l 硬件要求:CPU PIV 以上,256M 內(nèi)存,1G 硬盤空間。l 系統(tǒng)要求:Windows98/Me/XP/NT/2
2、000,IE 5 以上。三、實驗內(nèi)容與步驟1. 下載并安裝JDK+Eclipse,學習Eclipse安裝與使用方法。2. 下載并安裝JUnit,學習JUnit安裝與使用方法。3. 通讀自動售貨機程序,并將其在Eclipse環(huán)境下運行。問題描述,程序流程圖和程序源代碼見附錄。4. 按照如下格式,采用基本路徑測試法編寫測試用例(要有程序流程控制圖,基本路徑)。編號輸入值Type輸入值money狀態(tài)預輸出實際情況1Beer5C各資源剩余Input Information Type: Beer; Money: 5 Cents; Change: 0Current StateBeer: 5Orange J
3、uice: 65 Cents: 71 Dollar: 6與預期相同2OrangeJuice5C各資源剩余Input Information Type: OrangeJuice; Money: 5 Cents; Change: 0Current StateBeer: 6Orange Juice: 55 Cents: 71 Dollar: 6與預期相同3Beer5C沒有啤酒Filure InformationBeer Shortage與預期相同4OrangeJuice5C沒有橙汁Failure InformationOrangeJuice Shortage與預期不同5Cola5C各資源剩余Fail
4、ure InformationType Error與預期相同6Beer1D沒啤酒Failure InformationBeer Shortage與預期不同7Beer1D各資源剩余Input Information Type: Beer; Money: 1 Dollar; Change:5 CentsCurrent StateBeer: 5Orange Juice: 65 Cents: 51 Dollar: 7與預期不同8OrangeJuice1D各資源剩余Input Information Type: OrangeJuice; Money: 1 Dollar; Change: 5 CentsC
5、urrent StateBeer: 6Orange Juice: 55 Cents:51 Dollar: 7與預期不同9OrangeJuice1D沒有橙汁Failure InformationOrangeJuice Shortage與預期不同10Cola1D各資源剩余Failure InformationType Error與預期相同11Beer1D沒有5角Failure InformationChange Shortage與預期不同12OrangeJuice4C各資源剩余Failure InformationMoney Error與預期相同5. 編寫并執(zhí)行基于JUnit的測試用例。6. 提交
6、測試用例程序和該程序運行結果最終畫面。7. 總結本次試驗,并撰寫實驗報告。程序流程圖如圖一所示:(流程圖可復制粘貼到畫圖查看大圖。)圖一實驗截圖:編寫完測試用例,運行程序,源程序有六個錯誤,如圖二所示:圖二根據(jù)相應錯誤修改代碼后測試通過,如圖三所示:圖三四、分析與討論 通過此次實驗,我初步學會了測試工具Junit的使用方法,發(fā)現(xiàn)使用測試工具可以給程序測試帶來很大的方便,使我們更容易找到程序的錯誤。五、教師評語簽名:日期:成績程序源代碼:修改后的代碼:package first;public class SaleMachine private int countOfBeer, countOfOr
7、angeJuice, countOfFiveCents, countOfOneDollar;private String typeOfGoods = Beer, OrangeJuice;private String resultOfDeal;public SaleMachine()initial();public void initial()countOfBeer = 6;countOfOrangeJuice = 6;countOfFiveCents = 6;countOfOneDollar = 6;public SaleMachine(int fiveCents, int oneDollar
8、, int numOfBeer, int numOfOrange)/便于測試的初始化函數(shù)countOfFiveCents = fiveCents;countOfOneDollar = oneDollar;countOfBeer = numOfBeer;countOfOrangeJuice = numOfOrange;public String currentState()String state = Current Staten + Beer: + countOfBeer + n + Orange Juice: + countOfOrangeJuice + n + 5 Cents: + cou
9、ntOfFiveCents + n + 1 Dollar: + countOfOneDollar;return state;public String operation(String type, String money)/type是用戶選擇的產(chǎn)品,money是用戶投幣種類if(money.equalsIgnoreCase(5C) /如果用戶投入5角錢if(type.equals(typeOfGoods0) /如果用戶選擇啤酒if(countOfBeer0) /如果還有啤酒countOfBeer-;countOfFiveCents+;resultOfDeal = Input Informat
10、ion n + Type: Beer; Money: 5 Cents; Change: 0nn + currentState();return resultOfDeal;elseresultOfDeal = Failure Information n + Beer Shortage;return resultOfDeal;else if (type.equals(typeOfGoods1) /用戶選擇橙汁if(countOfOrangeJuice 0)countOfOrangeJuice-;countOfFiveCents+;resultOfDeal = Input Information n
11、 + Type: OrangeJuice; Money: 5 Cents; Change: 0nn + currentState();return resultOfDeal;elseresultOfDeal = Failure Information n + OrangeJuice Shortage;return resultOfDeal;elseresultOfDeal = Failure Information n + Type Error;return resultOfDeal;else if(money.equalsIgnoreCase(1D) /如果用戶投入一元錢/if(countO
12、fFiveCents0) /如果用戶投入一元錢/if(countOfFiveCents 0) /如果用戶有零錢if(type.equals(typeOfGoods0)&countOfBeer0)/如果用戶選擇啤酒而且還有啤酒countOfBeer-;countOfFiveCents-;countOfOneDollar+;resultOfDeal = Input Information n + Type: Beer; Money: 1 Dollar; Change: 5 Centsnn + currentState();return resultOfDeal;else if (type.equa
13、ls(typeOfGoods1)&countOfOrangeJuice0)/如果用戶選擇橙汁而且還有橙汁countOfOrangeJuice -;countOfFiveCents -;countOfOneDollar +;resultOfDeal = Input Information n + Type: OrangeJuice; Money: 1 Dollar; Change: 5 Centsnn + currentState();return resultOfDeal;elseif(type.equals(typeOfGoods0)&countOfBeer=0)resultOfDeal =
14、 Failure Information n + Beer Shortage;return resultOfDeal;else if(type.equals(typeOfGoods1)&countOfOrangeJuice=0)resultOfDeal = Failure Information n + OrangeJuice Shortage;return resultOfDeal;elseresultOfDeal = Failure Information n + Type Error;return resultOfDeal;elseresultOfDeal = Failure Infor
15、mation n + Change Shortage;return resultOfDeal;/else/resultOfDeal = Failure Information n + Money Error;/return resultOfDeal;/resultOfDeal = Failure Information n + Money Error;return resultOfDeal;測試用例代碼:package first;import junit.framework.TestCase;public class TestSaleMachine extends TestCase publ
16、ic void testOperation1() /售貨機各資源均有剩余,用戶投幣5角,選擇啤酒SaleMachine saleMachine1 = new SaleMachine();String expectedResult = Input Information n +Type: Beer; Money: 5 Cents; Change: 0nn +Current Staten +Beer: 5n +Orange Juice: 6n +5 Cents: 7n +1 Dollar: 6;assertEquals(expectedResult, saleMachine1.operation(
17、Beer, 5C);public void testOperation2()/售貨機沒有啤酒剩余,用戶投幣5角,選擇啤酒SaleMachine saleMachine2 = new SaleMachine(6,6,0,6);String expectedResult = Failure Information n + Beer Shortage;assertEquals(expectedResult,saleMachine2.operation(Beer, 5C);public void testOperation3() /售貨機各資源均有剩余,用戶投幣5角,選擇橙汁SaleMachine s
18、aleMachine3 = new SaleMachine();String expectedResult = Input Information n +Type: OrangeJuice; Money: 5 Cents; Change: 0nn +Current Staten +Beer: 6n +Orange Juice: 5n +5 Cents: 7n +1 Dollar: 6;assertEquals(expectedResult, saleMachine3.operation(OrangeJuice, 5C);public void testOperation4()/售貨機沒有橙汁,
19、用戶投幣5角,選擇橙汁SaleMachine saleMachine4 = new SaleMachine(6,6,6,0);String expectedResult = Failure Information n + OrangeJuice Shortage;assertEquals(expectedResult,saleMachine4.operation(OrangeJuice, 5C);public void testOperation5()/用戶投入5角,選擇非啤酒非橙汁SaleMachine saleMachine5 = new SaleMachine(6,6,6,6);Stri
20、ng expectedResult = Failure Information n + Type Error;assertEquals(expectedResult,saleMachine5.operation(Cola, 5C);public void testOperation6()/售貨機有啤酒且有5角幣,用戶投幣1元,選擇啤酒SaleMachine saleMachine6 = new SaleMachine(6,6,6,6);String expectedResult = Input Information n +Type: Beer; Money: 1 Dollar; Change
21、: 5 Centsnn +Current Staten +Beer: 5n +Orange Juice: 6n +5 Cents: 5n +1 Dollar: 7;assertEquals(expectedResult,saleMachine6.operation(Beer, 1D);public void testOperation7() /售貨機沒有啤酒有5角,用戶投幣1元,選擇啤酒SaleMachine saleMachine7 = new SaleMachine(6,6,0,6);String expectedResult = Failure Information n + Beer
22、Shortage;assertEquals(expectedResult, saleMachine7.operation(Beer, 1D);public void testOperation8()/售貨機有橙汁且有5角幣,用戶投幣1元,選擇橙汁SaleMachine saleMachine8 = new SaleMachine(6,6,6,6);String expectedResult = Input Information n +Type: OrangeJuice; Money: 1 Dollar; Change: 5 Centsnn +Current Staten +Beer: 6n +Orange Juice: 5n +5 Cents: 5n +1 Dollar: 7;assertEquals(expectedResult,saleMachine8.operation(OrangeJuice, 1D);public void testOperation9()/售貨機有5角沒有橙汁,用戶投幣1元,選擇橙汁SaleMachine saleMachine9 = new SaleMachine(6,6,6,0);String expectedResult = Failure Information n + OrangeJu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 創(chuàng)新管理與組織變革-洞察闡釋
- 樂理卷子試題及答案
- 胎盤黃疸與新生兒黃疸的遺傳易感性研究-洞察闡釋
- 業(yè)務合同執(zhí)行狀態(tài)跟蹤統(tǒng)計表
- 線上線下游戲融合-洞察闡釋
- 2025大學食堂餐飲承包合同
- 煙草種植現(xiàn)場調研與質量控制合同范本
- 保密項目參觀保密協(xié)議書模板
- 車輛抵押貸款風險分析合同模板
- 柴油儲備庫建設與購銷合作協(xié)議
- 危大工程管理辦法課件
- 2025屆上海市嘉定區(qū)八下數(shù)學期末考試試題含解析
- 四川省眉山市東坡區(qū)東坡區(qū)東坡中學2025年數(shù)學七下期末調研模擬試題含解析
- 2025年4月自考00158資產(chǎn)評估試題及答案含評分標準
- 車間原輔材料消耗管理
- 2025國家開放大學《員工勞動關系管理》形考任務1234答案
- 2025年湖北省新高考信息卷(一)物理試題及答案
- 2025年廣西文化和旅游廳所屬事業(yè)單位招聘考試備考題庫
- 物聯(lián)網(wǎng)環(huán)境下精準作物生長監(jiān)測與預警系統(tǒng)-全面剖析
- 2025-2030深水采油樹行業(yè)市場現(xiàn)狀供需分析及重點企業(yè)投資評估規(guī)劃分析研究報告
- 高鐵動車組運維成本分析-全面剖析
評論
0/150
提交評論