版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、實(shí)驗(yàn)題目二測試工具應(yīng)用班級_軟件赴日1101 組號(hào)_ 時(shí)間_2014.4.15_學(xué)號(hào)姓名學(xué)號(hào)姓名賈志遠(yuǎn)寧純志1. 實(shí)驗(yàn)?zāi)康模?)學(xué)習(xí)使用自動(dòng)化測試工具Junit。(2)掌握邏輯覆蓋測試。2. 實(shí)驗(yàn)內(nèi)容一個(gè)假想的保險(xiǎn)金計(jì)算程序,根據(jù)兩個(gè)因素計(jì)算半年保險(xiǎn)金:投保人的年齡和駕駛歷史記錄。保險(xiǎn)金的計(jì)算公式如下:保險(xiǎn)金 = 基本保險(xiǎn)費(fèi)率年齡系數(shù) 安全駕駛折扣 其中,年齡系數(shù)是投保人年齡的函數(shù),如果投保人駕駛執(zhí)照上的當(dāng)前點(diǎn)數(shù)(根據(jù)交通違規(guī)次數(shù)確定)低于與年齡有關(guān)的門限,則給予安全駕駛折扣。書面保險(xiǎn)政策的駕駛?cè)四挲g范圍為從16-100歲,如果投保人有12點(diǎn),則駕駛?cè)说膱?zhí)照就會(huì)被吊銷(因此不需要保險(xiǎn))。基本保
2、險(xiǎn)費(fèi)率隨時(shí)間變化,對于這個(gè)例子,是每半年500美元。年齡范圍年齡系數(shù)門限點(diǎn)數(shù)安全駕駛折扣16年齡252.815025年齡351.835035年齡451.0510045年齡600.8715060年齡1001.552003. 實(shí)驗(yàn)基本步驟開始C0a bC7C1 c dC8nS0C2 e fC9 m p S7S1C3 o g hC10 q rS8C4S2 i jC11 tS9S3 sS10 u v S4S11 C5 k lC6S5S6 x wC0: age=16&age=25&age=35&age=45&age=60&age100C5: limi12|age=100|agelimite0C8: li
3、milimite1C9: limilimite2C10: limilimite3C11: limilimite4L1: age=16L3: age=25L5: age=35L7: age=45L9: age=60L11: age=100L13: limilimite0L16: limilimite1L17: limilimite2L18: limilimite3L19:limilimite4L20: limi12測試用例編號(hào)輸入預(yù)計(jì)結(jié)果覆蓋條件覆蓋判斷覆蓋語句覆蓋路徑agelimi11512-1L(1,15-19) !L(其他) C(5,7-11) !C(其他)S6Bdfhjlx210112-
4、1L(12,15-19) !L(其他) C(5,7-11) !C(其他)S6Bdfhjlx32013-1L(2,3,20) !L(其他) C(0,5,7-11) !C(其他)S0,S6anlx42012500*2.8L(2,3,15-19) !L(其他) C(0,7-11) !C(其他)S0anlw5201500*2.8-50L(2,3) !L(其他) C(0) !C(其他)S7amlw63012500*1.8L(4,5,15-19) !L(其他) C(1,7-11) !C(其他)S1bcplw7303500*1.8-50L(4,5,15) !L(其他) C(1,7) !C(其他)S8bcol
5、w84012500*1.0L(6,7,15-19) !L(其他) C(2,7-11) !C(其他)S2bderlw9405500*1.0-100L(6,7,15,16) !L(其他) C(2,7,8) !C(其他)S9bdeqlw105012500*0.8L(8,9,15-19) !L(其他) C(3,7-11) !C(其他)S3bdfgtlw11507500*0.8-150L(8,9,15-17) !L(其他) C(3,7-9) !C(其他)S10bdfgslw127012500*1.5L(10,11,15-19) !L(其他) C(4,7-11) !C(其他)S4bdfhivlw13705
6、500*1.5-200L(10,11,15-18) !L(其他) C(4,7-10) !C(其他)S11bdfhiulw1420-1-1L(2,3,13) !L(其他) C(0,5) !C(其他)S0,S6anlx152000L(2,3,14) !L(其他) C(0,6) !C(其他)S0,S5ank程序代碼Calculator.java(源代碼)package xw;public class Calculator private int Cost=500;private double agelink= 2.8,1.8,1.0,0.8,1.5 ;private int limite= 1,3,
7、5,7,5 ;private int discount= 50,50,100,150,200 ;private int age=0;private int limi=0;private double allcount=0;public void Set(int age,int limi)this.age=age;this.limi=limi;public double getcost()if(age=16&agelimite0)allcount = agelink0*Cost; elseallcount = agelink0*Cost-discount0; else if(age=25&age
8、limite1)allcount = agelink1*Cost; elseallcount = agelink1*Cost-discount1; else if(age=35&agelimite2)allcount = agelink2*Cost; elseallcount = agelink2*Cost-discount2; else if(age=45&agelimite3)allcount = agelink3*Cost; elseallcount = agelink3*Cost-discount3; else if(age=60&agelimite4)allcount = ageli
9、nk4*Cost; elseallcount = agelink4*Cost-discount4; if(limi=0)allcount = 0;else if(limi12|age=100|age16)allcount = -1;return allcount;CalculatorTest.java (Junit 代碼)package xw;import static org.junit.Assert.*;import org.junit.Test;import xw.Calculator;public class CalculatorTest private static Calculat
10、or calculator=new Calculator(); Test public void testAgeSmallFail() calculator.Set(15, 12); assertEquals(double)-1, calculator.getcost(),0.01); Test public void testAgeBigFail() calculator.Set(101, 12); assertEquals(double)-1, calculator.getcost(),0.01); Test public void testLimiBigFail() calculator
11、.Set(18, 13); assertEquals(double)-1, calculator.getcost(),0.01); Test public void testLimiSmallFail() calculator.Set(18, -1); assertEquals(double)-1, calculator.getcost(),0.01); Test public void testLimiZero() calculator.Set(18, 0); assertEquals(double)0, calculator.getcost(),0.01); Test public voi
12、d testAgeOneUnlimi() calculator.Set(20, 12); assertEquals(double)500*2.8, calculator.getcost(),0.01); Test public void testAgeOnelimi() calculator.Set(20, 1); assertEquals(double)500*2.8-50, calculator.getcost(),0.01); Test public void testAgeTwoUnlimi() calculator.Set(30, 12); assertEquals(double)5
13、00*1.8, calculator.getcost(),0.01); Test public void testAgeTwolimi() calculator.Set(30, 3); assertEquals(double)500*1.8-50, calculator.getcost(),0.01); Test public void testAgeThreeUnlimi() calculator.Set(40, 12); assertEquals(double)500*1.0, calculator.getcost(),0.01); Test public void testAgeThre
14、elimi() calculator.Set(40, 5); assertEquals(double)500*1.0-100, calculator.getcost(),0.01); Test public void testAgeFourUnlimi() calculator.Set(50, 12); assertEquals(double)500*0.8, calculator.getcost(),0.01); Test public void testAgeFourlimi() calculator.Set(50, 7); assertEquals(double)500*0.8-150,
15、 calculator.getcost(),0.01); Test public void testAgeFiveUnlimi() calculator.Set(70, 12); assertEquals(double)500*1.5, calculator.getcost(),0.01); Test public void testAgeFivelimi() calculator.Set(70, 5); assertEquals(double)500*1.5-200, calculator.getcost(),0.01); 實(shí)驗(yàn)結(jié)果圖4. 思考題(1) 什么是判定邏輯覆蓋?語句覆蓋SC(St
16、atement Coverage),就是設(shè)計(jì)若干個(gè)測試用例,運(yùn)行被測程序,使得程序中每一可執(zhí)行語句至少執(zhí)行一次。這里的“若干個(gè)”,意味著使用測試用例越少越好。判定覆蓋DC(Decision coverage),有時(shí)也稱分支覆蓋,就是指設(shè)計(jì)若干測試用例,運(yùn)行被測程序,使得每個(gè)判定的取真分支和取假分支至少評價(jià)一次。條件覆蓋CC(Condition Coverage),設(shè)計(jì)足夠多的測試用例,運(yùn)行被測程序,使得每一判定語句中每個(gè)邏輯條件的可能取值至少滿足一次。判定/條件覆蓋CDC(Condition/ Decision Coverage),設(shè)計(jì)足夠多的測試用例,使得判定中的每個(gè)條件的所有可能(真/假)
17、至少出現(xiàn)一次,并且每個(gè)判定本身的判定結(jié)果也至少出現(xiàn)一次。條件組合覆蓋,也稱多條件覆蓋MCC(Multiple Condition Coverage),設(shè)計(jì)足夠多的測試用例,使得每個(gè)判定中條件的各種可能組合都至少出現(xiàn)一次(以數(shù)軸形式劃分區(qū)域,提取交集,建立最少的測試用例)。這種方法包含了“分支覆蓋”和“條件覆蓋”的各種要求。滿足條件覆蓋一定滿足判定覆蓋、條件覆蓋、條件判定組合覆蓋。路徑覆蓋,設(shè)計(jì)足夠多的測試用例,執(zhí)行程序所有可能的路徑。(2)使用JUnit進(jìn)行測試的基本步驟是什么?1、引入JUnit框架包。import junit.framework.*。 2、定義測試類名稱,一般是將要測試的類名后附加Test。 3、測試類繼承JUnit的TestCase類。 4、實(shí)現(xiàn)類的構(gòu)造方法,可以在構(gòu)造方法中簡單的調(diào)用super(name)即可。 5、實(shí)現(xiàn)類的main()方法,在main()方法中簡單調(diào)用junit.textui.TestRunner.run(SimpleTest.class)來指定執(zhí)行測試類。 6、重載setUp()和tearDown()
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年洗胃過程觀察與病情監(jiān)測試題含答案
- 2026年港股通標(biāo)的ESG投資考量試題含答案
- 集團(tuán)設(shè)備管理制度范本
- 蓋州事故警示教育講解
- 迎大慶樹形象比貢獻(xiàn)活動(dòng)實(shí)施方案
- 2026年劇本殺運(yùn)營公司新服務(wù)項(xiàng)目研發(fā)管理制度
- 四川省遂寧市2026屆高三一診考試英語試題(含答案無聽力音頻無聽力原文)
- 2026年智能家電行業(yè)創(chuàng)新報(bào)告及物聯(lián)網(wǎng)技術(shù)應(yīng)用分析報(bào)告
- 2025年智能養(yǎng)老社區(qū)綜合服務(wù)技術(shù)創(chuàng)新與養(yǎng)老社區(qū)社區(qū)共建體系可行性研究
- 2026年虛擬現(xiàn)實(shí)內(nèi)容生態(tài)報(bào)告及未來五至十年用戶體驗(yàn)報(bào)告
- 2026年孝昌縣供水有限公司公開招聘正式員工備考題庫及答案詳解參考
- 2025年文化產(chǎn)業(yè)版權(quán)保護(hù)與運(yùn)營手冊
- 《創(chuàng)新創(chuàng)業(yè)基礎(chǔ)》課件-項(xiàng)目1:創(chuàng)新創(chuàng)業(yè)基礎(chǔ)認(rèn)知
- 2026年初一寒假體育作業(yè)安排
- 物流行業(yè)運(yùn)輸司機(jī)安全駕駛與效率績效評定表
- 刑法學(xué)(上冊)馬工程課件 第1章 刑法概說
- GB/T 5657-2013離心泵技術(shù)條件(Ⅲ類)
- GB/T 40923.1-2021滑雪單板固定器安裝區(qū)第1部分:無嵌件滑雪單板的要求和試驗(yàn)方法
- 《紅樓夢中的禮儀習(xí)俗研究報(bào)告》
- CB/T 3046-1992船用充放電板
- 教師心理健康輔導(dǎo)講座二
評論
0/150
提交評論