




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、華中科技大學(xué)文華學(xué)院軟件質(zhì)量與測試課程設(shè)計軟件工程專業(yè)07級3班姓名:曹洪學(xué)號全稱:070107031101時間:2010年11月12日軟件質(zhì)量與測試課程設(shè)計1、實驗?zāi)康恼莆哲浖y試用例的設(shè)計掌握軟件缺陷報告的設(shè)計掌握軟件缺陷修正報告的設(shè)計2、實驗過程程序preday的基本功能:輸入有效的年、月、日,按計算按鈕,畫面輸出顯示前1天的年,月,日;能對日期非法輸入的合理提示等。2.1程序代碼的編寫 詳見preday文件2.2黑盒軟件測試用例的設(shè)計 等價類劃分法程序的有效輸入日期為1800年1月1日到2050年12月31日之間的有效日期。其中,有效等價類為1800年1月1日到2050年12月3日之間
2、的日期,其中年份為1800到2050之間的整數(shù);月份為1到12之間的整數(shù);當(dāng)月份為1、3、5、7、8、10、12時,日為1到31之間的整數(shù),當(dāng)月份為4、6、9、11時,日為1到30之間的整數(shù),當(dāng)年份為閏年元份為2時,日為1到29之間的數(shù)值,否則為1到28之間的數(shù)值。無效等價類:1800年1月1日之前的日期;2050年12月3日之后的日期;1800年1月1日到2050年12月31日之間的日期,但是月份不為1到12之間的整數(shù);或者當(dāng)月份為1、3、5、7、8、10、12時,日不為1到31之間的整數(shù),當(dāng)月份為4、6、9、11時,日不為1到30之間的整數(shù),當(dāng)年份為閏年元份為2時,日為1到29之間的數(shù)值,
3、否則為1到28之間的數(shù)值。最簡單的等價類劃分直接以輸入條件邊界來劃分,得到的等價類集合見下表,其中Y1-Y3,M1-M3,D1-D3分別是三個輸入條件的相應(yīng)的等價類的編號。表1:preday問題的等價類劃分等價類年份月份日期有效等價類Y1:1800年份2500M1:1月份12D1:1日期31無效等價類Y2:年份<1800M2:月份<1D2:日期<1Y3:年份>2050M3:月份>12D3:日期>31根據(jù)表1的等價類劃分,無效等價類測試可以得到如表2的測試用例,而較為合理的有效等價類的劃分如表3。三個輸入各自具有不同的有效等價類數(shù)目,若從每個等價類中選擇一個典
4、型值,則年份、月份和日期的取值個數(shù)分別為2、4、4,這時將年份的水平值加以擴展,即對于年份,可在Y1和Y2中各選兩個典型值。這樣得到所有輸入條件的取值如下:年份:1850、1900、2000、2004月份:1、3、5、11日期:1、29、30、31此時,構(gòu)成的有效等價類測試用例如表4所示:表2:Preday的無效等價類的測試用例ID輸入日期(年-月-日)操作步驟預(yù)期輸出實際輸出備注ND-0011700-6-15輸入年月日,點擊“計算”按鈕提示“請輸入一個在1800和2500之間的整數(shù)”請輸入一個在1800和2500之間的整數(shù)年份在Y2中ND-0023000-12-15輸入年月日,點擊“計算”按
5、鈕提示“請輸入一個在1800和2500之間的整數(shù)”請輸入一個在1800和2500之間的整數(shù)年份在Y3中ND-00319891-15輸入年月日,點擊“計算”按鈕提示“請輸入一個在1和12之間的整數(shù)”請輸入一個在1和12之間的整數(shù)月份在M2中ND-0041989-13-12輸入年月日,點擊“計算”按鈕提示“請輸入一個在1和12之間的整數(shù)”請輸入一個在1和12之間的整數(shù)月份在M3中ND-0051989-4-2輸入年月日,點擊“計算”按鈕提示“請?zhí)钊胍粋€在1和31之間的整數(shù)”請?zhí)钊胍粋€在1和31之間的整數(shù)日期在D2中ND-0061989-4-32輸入年月日,點擊“計算”按鈕提示“請?zhí)钊胍粋€在1和31之
6、間的整數(shù)”請?zhí)钊胍粋€在1和31之間的整數(shù)日期在D3中表3:較為合理的有效等價類的劃分等價類年份月份日期有效等價類Y1:1800年份2050,且為閏年M1: 5、7、10、12D1:1日期28Y2:1800年份2050,且為非閏年M2:2、4、6、8、9、11D2:29M3:1D3:30M4:3D4:31表4:有效等價類測試用例ID輸入日期(年-月-日)操作步驟預(yù)期輸出(年-月-日)實際輸出(年-月-日)ND-0071850-1-1輸入年月日,點擊“計算”按鈕1849-12-311849-12-31ND-0081850-3-29同上1850-3-28.1850-3-28.ND-0091850-5
7、-30同上1850-5-291850-5-29ND-0101850-11-31同上輸入日期不合法的合理提示The month 11 Can not have 31 days.ND-0111900-1-29同上1900-1-281900-1-28ND-0121900-3-30同上1900-3-291900-3-29ND-0131900-5-31同上1900-5-301900-5-30ND-0141900-11-1同上1900-10-311900-10-31ND-0152000-1-30同上2000-1-282000-1-28ND-0162000-3-31同上2000-3-302000-3-30N
8、D-0172000-5-1同上2000-4-302000-4-30ND-0182000-11-29同上2000-11-282000-11-28ND-0192004-1-31同上2004-1-302004-1-30ND-0202004-2-1同上2004-1-312004-1-31ND-0212004-5-29同上2004-5-282004-5-28ND-0222004-11-30同上2004-11-292004-11-292.2.2邊界值法根據(jù)preday的有效輸入日期可以設(shè)置邊界值法的測試用例取值如下,年份:1800、1801、2049、2050月份:1、2、11、12日期:1、2、30、3
9、1此時,構(gòu)成的邊界值法測試用例如表5所示。表5:邊界值法測試用例ID輸入日期(年-月-日)操作步驟預(yù)期輸出(年-月-日)實際輸出(年-月-日)ND-0231800-1-1輸入年月日,點擊“計算”按鈕輸入日期超出范圍的合理提示Reach the min date.ND-0241800-2-1同上1800-1-311800-1-31ND-0251800-11-30同上1800-11-291800-11-29ND-0261800-12-31同上1800-12-301800-12-30ND-0271801-1-2同上1801-1-11801-1-1ND-0281801-2-30同上輸入日期不合法的合理
10、提示The month 2 Can not have 30 days.ND-0291801-11-31同上輸入日期不合法的合理提示The month 11 Can not have 31 days.ND-0301801-12-1同上1801-11-301801-11-30ND-0312049-1-30同上2049-1-292049-1-29ND-0322049-2-31同上輸入日期不合法的合理提示The month 2 Can not have 31 days.ND-0332049-11-1同上2049-10-312049-10-31ND-0342049-12-2同上2049-12-12049
11、-12-1ND-0352050-1-31同上2050-1-302050-1-30ND-0362050-2-1同上2050-1-312050-1-31ND-0372050-11-2同上2050-11-12050-11-1ND-0382050-12-30同上2050-12-292050-12-292.2.2錯誤推測法錯誤推測法是基于測試人員的經(jīng)驗和直覺來推測系統(tǒng)中可能存在的各種缺陷,有針對地設(shè)計測試用例的方法。錯誤推法的基本思想是列舉出系統(tǒng)中所有可能的缺陷和容易發(fā)生缺陷的特殊情況,并根據(jù)他們選擇測試用例。程序preday錯誤推測法測試用例設(shè)計如表6所示。表6:錯誤推測法測試用例ID輸入日期(年-月
12、-日)操作步驟預(yù)期輸出(年-月-日)實際輸出(年-月-日)備注ND-039無無所有的接文本框都清零如圖1Ver1-Bug0001ND-0401800-12-0輸入年月日,點擊“計算”按鈕無1800-11-30Ver1-Bug0002ND-0411989-8-1同上1989-7-311989-7-30Ver1-Bug0003ND-0421800-1-1同上最小輸入日期的合理提示輸出“Reach the min date.”通過ND-0432050-12-31同上2050-12-302050-12-30通過ND-0442000-3-1同上2000-2-292000-2-29通過ND-0452000
13、-0-0同上無2000-1-29Ver1-Bug00042.3 黑盒軟件測試用例的執(zhí)行 Ver1-Bug0001運行程序后,界面上的年、月、日輸入框內(nèi)的數(shù)據(jù)沒有清空。如圖1所示: Ver1-Bug0002輸入日期1800-12-0后,會跳出輸入日期不合法提示的警告信息,如圖2所示,點擊確定后能得到前一天的日期并顯示在對話框內(nèi),如圖3所示: Ver1-Bug0003輸入1989年8月1日后點擊確定按鈕后顯示的日期是1989-7-30,實際上7月是有31天的,即程序顯示的日期不正確,程序運行如圖4所示: Ver1-Bug0004輸入日期2000-0-0后,會跳出“請?zhí)钊胍粋€在1和12之間的整數(shù)”的
14、警告信息,如圖5所示,點擊確定后能在對話框內(nèi)顯示20001-29,如圖6所示:圖1圖2圖3圖4圖5圖62.4 軟件缺陷報告的設(shè)計 缺陷報告缺陷名稱:顯示錯誤的日期 缺陷編號ID: Ver1-Bug0003報 告 人:曹 洪 報告時間: 2010-11-3部 門:營業(yè)部 客服B組發(fā) 現(xiàn) 人:曹 洪 發(fā)現(xiàn)時間: 2010-11-1部 門:泉海潮公司發(fā)現(xiàn)場所:泉海潮公司 軟件工具實驗室501 軟件系統(tǒng)名: preday 軟件版本: preday 1.0版發(fā)生階段: 用戶使用再現(xiàn)率: 100%嚴(yán)重級: 高優(yōu)先級: 高處理決定決定人:曹 洪2010-11-3,缺陷報告提交給軟件開發(fā)部門,限2010-11
15、-5 18:00前修復(fù)。2010-11-4上午,質(zhì)保部門修錯驗證測試;2010-11-4 下午,與其他修復(fù)軟件一起提交給版本發(fā)布部門2010-11-5,版本發(fā)布部門作為升級版Ver1.0SP1交付給用戶。缺陷現(xiàn)象輸入日期是1989-8-1,點擊確定按鈕后顯示的日期是1989-7-30,實際上7月是有31天的,即程序顯示的日期不正確,程序運行如圖4所示:缺陷再現(xiàn)步驟1、 在線數(shù)據(jù)d:predayBugVer1Ver1-Bug0003Ver1-Bug0003.txt2、 輸入數(shù)據(jù)3、 點擊【計算】按鈕2.5 軟件缺陷修正報告的設(shè)計修錯報告缺陷名稱:顯示錯誤的日期 缺陷編號ID: Ver1-Bug0
16、003報 告 人:曹 洪 報告時間: 2010-11-4部 門:軟件開發(fā)部 preday 項目組修 錯 人:宮畢克 修錯時間: 2010-11-4部 門:軟件開發(fā)部 preday 項目組1.缺陷原因表面原因:將7月的天數(shù)錯誤的設(shè)置為30天,實際應(yīng)是31天。實質(zhì)原因:在設(shè)置日期為1、月份為8時,選擇處理的邏輯錯誤。2.缺陷對策重新設(shè)置8月1日的邏輯處理。3.對策函數(shù)名predayDlg.cpp的void Preday1( const int& year, const int& month, const int& day, CString& strpreday )修
17、正記號:Ver1-Bug00034.缺陷產(chǎn)生階段編碼5.修正后結(jié)果2.6 白盒軟件測試用例的設(shè)計修正的代碼:if(month = 5 | month = 7 | month = 10 | month = 12)preday = 30;premonth = month - 1;else if (month = 3)premonth = month -1;if(isLeapYear(year)preday = 29;elsepreday = 28;else if(month = 1)if( year = 1800 )AfxMessageBox( "Reach the min date.n
18、" );bValid = false;elsepreday = 31;premonth = 12;preyear = year - 1;elsepreday = 31;premonth = month -1;語句覆蓋利用語句覆蓋設(shè)計測試用例時應(yīng)保證程序的每一條可執(zhí)行語句至少執(zhí)行一次。從程序圖上看,其實等同于節(jié)點覆蓋。語句覆蓋率的計算方式如下:語句覆蓋率 = 至少被執(zhí)行一次的語句數(shù)量/可執(zhí)行的語句總數(shù)進行白盒測試的程序段的流程圖如圖所示,開始此段程序的條件是日期為1,即在設(shè)計測試用例時所有的日期都必須為1時程序運行時才能運行選擇的這段程序。語句覆蓋的測試用例如表所示,表中通過的路徑為圖
19、2.6.1中所示的路徑。圖 邏輯覆蓋的流程圖表 語句覆蓋的測試用例設(shè)計ID輸入預(yù)期輸出通過路徑語句覆蓋年份月份日期年-月-日LC-0011989511989-4-30A16.67LC-0021980311980-2-29BCD16.67LC-0032002312002-2-28BCE16.67LC-004180011Reach the min date.BFGH16.67LC-0051801111800-12-31BFGI25LC-0061988611988-5-31BFJ16.67判定覆蓋判定覆蓋又稱分支覆蓋,其含義是:設(shè)計測試用例時應(yīng)保證程序中每個判定節(jié)點的取真和去假分支至少執(zhí)行一次。由于
20、判定節(jié)點并非只有二值情況,對于多分支的情況,判定覆蓋的含義為:測試用例的設(shè)計應(yīng)保證程序中每個判定節(jié)點取得每種可能的結(jié)果至少一個。從流程圖來看,判定覆蓋等同于邊覆蓋。判定覆蓋率的計算公式如下:判定覆蓋率 = 判定結(jié)果被評價的次數(shù) / 判定結(jié)果的總數(shù) 判定覆蓋的測試用例設(shè)計ID輸入預(yù)期輸出通過路徑判定覆蓋年份月份日期年-月-日LC-00719901211990-11-30A20LC-0081898311898-2-28BCE60LC-0092004312004-2-29BCD60LC-0102007112006-12-31BFGI80LC-011180011Reach the min date.B
21、FGH80LC-01220111112011-10-31BFJ60條件組合覆蓋條件組合覆蓋的含義是:測試用例的設(shè)計應(yīng)滿足每個判定節(jié)點中所有簡單判定條件的各種的組合應(yīng)至少執(zhí)行一次。條件組合覆蓋率的計算方法如下:條件組合覆蓋率 = 條件操作數(shù)值至少被評價一次的數(shù)量 / 條件操作數(shù)值的所有組合總數(shù)條件組合覆蓋的測試用例設(shè)計表,其相應(yīng)測試用例的簡單判定條件的判定如簡單判定條件表。表: 條件組合覆蓋的測試用例ID輸入預(yù)期輸出條件組合覆蓋率年份月份日期年-月-日LC-0132011512011-4-3012.5LC-0142012712012-6-3025LC-01520331012033-9-3037.
22、5LC-01620001212000-11-3050LC-0171866311866-2-2862.5LC-0181804311804-2-2962.5LC-0191800111800-4-3087.5LC-0201999111999-4-3087.5簡單判定條件判定表ID簡單判定條件Month=5Month=7Month=10Month= 12Month=3Month=1Year=1800isLeapYear(year)LC-013TLC-014FTLC-015FFTLC-016FFFTLC-017FFFFTFLC-018FFFFTTLC-019FFFFFTTLC-020FFFFFTF2.7 黑盒回歸測試用例的設(shè)計 驗證軟件缺陷的修正驗證人:曹洪驗證版本:Ver1.0SP11、 使用發(fā)生軟件缺陷的測試用例(1989-8-1)輸出結(jié)果:preday is: 1989-7-31.判定:OK輸入日期1989-8-1。點擊計算按鈕,得到結(jié)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度購車合同針對新能源汽車?yán)m(xù)航里程及充電時間約定
- 二零二五年度【放心交易】二手房出售協(xié)議書范本(含放心交易保障)
- 二零二五年度安全生產(chǎn)應(yīng)急響應(yīng)預(yù)案協(xié)議
- 二零二五年度醫(yī)院藥品供應(yīng)鏈管理合同
- 二零二五年度板材企業(yè)市場營銷與渠道建設(shè)合同
- 二零二五年度斑馬智行WAIC活動議程智能交通產(chǎn)業(yè)合作協(xié)議
- 二零二五年度B101、B201品牌化妝品原料供應(yīng)合同
- 2025版環(huán)保節(jié)能型辦公樓物業(yè)管理及后勤服務(wù)合同
- 二零二五年度智能2噸不銹鋼帶打印功能電子地磅秤采購合同
- 二零二五版KTV裝修工程監(jiān)理服務(wù)合同范本
- 安保工作月度總結(jié)
- 開業(yè)美容項目活動方案
- 2025年技術(shù)玻璃制品行業(yè)市場調(diào)研報告
- 2025至2030高純氯化鉀行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2025年吉林省中考數(shù)學(xué)試卷真題(含答案詳解)
- 2025年中國自由鍛件行業(yè)發(fā)展運行現(xiàn)狀及投資潛力預(yù)測報告
- 醫(yī)學(xué)美容技術(shù)專業(yè)教學(xué)標(biāo)準(zhǔn)(高等職業(yè)教育專科)2025修訂
- QGDW11970.7-2023輸變電工程水土保持技術(shù)規(guī)程第7部分水土保持設(shè)施質(zhì)量檢驗及評定
- 變電站創(chuàng)優(yōu)工程匯報
- 黨課課件含講稿:以作風(fēng)建設(shè)新成效激發(fā)干事創(chuàng)業(yè)新作為
- DB62T 4134-2020 高速公路服務(wù)區(qū)設(shè)計規(guī)范
評論
0/150
提交評論