《軟件質(zhì)量與測試》課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第1頁
《軟件質(zhì)量與測試》課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第2頁
《軟件質(zhì)量與測試》課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第3頁
《軟件質(zhì)量與測試》課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第4頁
《軟件質(zhì)量與測試》課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、華中科技大學(xué)文華學(xué)院軟件質(zhì)量與測試課程設(shè)計(jì)軟件工程專業(yè)07級3班姓名:曹洪學(xué)號全稱:070107031101時(shí)間:2010年11月12日軟件質(zhì)量與測試課程設(shè)計(jì)1、實(shí)驗(yàn)?zāi)康恼莆哲浖y試用例的設(shè)計(jì)掌握軟件缺陷報(bào)告的設(shè)計(jì)掌握軟件缺陷修正報(bào)告的設(shè)計(jì)2、實(shí)驗(yàn)過程程序preday的基本功能:輸入有效的年、月、日,按計(jì)算按鈕,畫面輸出顯示前1天的年,月,日;能對日期非法輸入的合理提示等。2.1程序代碼的編寫 詳見preday文件2.2黑盒軟件測試用例的設(shè)計(jì) 2.2.1等價(jià)類劃分法程序的有效輸入日期為1800年1月1日到2050年12月31日之間的有效日期。其中,有效等價(jià)類為1800年1月1日到2050年12

2、月3日之間的日期,其中年份為1800到2050之間的整數(shù);月份為1到12之間的整數(shù);當(dāng)月份為1、3、5、7、8、10、12時(shí),日為1到31之間的整數(shù),當(dāng)月份為4、6、9、11時(shí),日為1到30之間的整數(shù),當(dāng)年份為閏年元份為2時(shí),日為1到29之間的數(shù)值,否則為1到28之間的數(shù)值。無效等價(jià)類:1800年1月1日之前的日期;2050年12月3日之后的日期;1800年1月1日到2050年12月31日之間的日期,但是月份不為1到12之間的整數(shù);或者當(dāng)月份為1、3、5、7、8、10、12時(shí),日不為1到31之間的整數(shù),當(dāng)月份為4、6、9、11時(shí),日不為1到30之間的整數(shù),當(dāng)年份為閏年元份為2時(shí),日為1到29之

3、間的數(shù)值,否則為1到28之間的數(shù)值。最簡單的等價(jià)類劃分直接以輸入條件邊界來劃分,得到的等價(jià)類集合見下表,其中Y1-Y3,M1-M3,D1-D3分別是三個(gè)輸入條件的相應(yīng)的等價(jià)類的編號。表1:preday問題的等價(jià)類劃分等價(jià)類年份月份日期有效等價(jià)類Y1:1800年份2500M1:1月份12D1:1日期31無效等價(jià)類Y2:年份<1800M2:月份<1D2:日期<1Y3:年份>2050M3:月份>12D3:日期>31根據(jù)表1的等價(jià)類劃分,無效等價(jià)類測試可以得到如表2的測試用例,而較為合理的有效等價(jià)類的劃分如表3。三個(gè)輸入各自具有不同的有效等價(jià)類數(shù)目,若從每個(gè)等價(jià)類中

4、選擇一個(gè)典型值,則年份、月份和日期的取值個(gè)數(shù)分別為2、4、4,這時(shí)將年份的水平值加以擴(kuò)展,即對于年份,可在Y1和Y2中各選兩個(gè)典型值。這樣得到所有輸入條件的取值如下:年份:1850、1900、2000、2004月份:1、3、5、11日期:1、29、30、31此時(shí),構(gòu)成的有效等價(jià)類測試用例如表4所示:表2:Preday的無效等價(jià)類的測試用例ID輸入日期(年-月-日)操作步驟預(yù)期輸出實(shí)際輸出備注ND-0011700-6-15輸入年月日,點(diǎn)擊“計(jì)算”按鈕提示“請輸入一個(gè)在1800和2500之間的整數(shù)”請輸入一個(gè)在1800和2500之間的整數(shù)年份在Y2中ND-0023000-12-15輸入年月日,點(diǎn)擊

5、“計(jì)算”按鈕提示“請輸入一個(gè)在1800和2500之間的整數(shù)”請輸入一個(gè)在1800和2500之間的整數(shù)年份在Y3中ND-00319891-15輸入年月日,點(diǎn)擊“計(jì)算”按鈕提示“請輸入一個(gè)在1和12之間的整數(shù)”請輸入一個(gè)在1和12之間的整數(shù)月份在M2中ND-0041989-13-12輸入年月日,點(diǎn)擊“計(jì)算”按鈕提示“請輸入一個(gè)在1和12之間的整數(shù)”請輸入一個(gè)在1和12之間的整數(shù)月份在M3中ND-0051989-4-2輸入年月日,點(diǎn)擊“計(jì)算”按鈕提示“請?zhí)钊胍粋€(gè)在1和31之間的整數(shù)”請?zhí)钊胍粋€(gè)在1和31之間的整數(shù)日期在D2中ND-0061989-4-32輸入年月日,點(diǎn)擊“計(jì)算”按鈕提示“請?zhí)钊胍粋€(gè)在

6、1和31之間的整數(shù)”請?zhí)钊胍粋€(gè)在1和31之間的整數(shù)日期在D3中表3:較為合理的有效等價(jià)類的劃分等價(jià)類年份月份日期有效等價(jià)類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:有效等價(jià)類測試用例ID輸入日期(年-月-日)操作步驟預(yù)期輸出(年-月-日)實(shí)際輸出(年-月-日)ND-0071850-1-1輸入年月日,點(diǎn)擊“計(jì)算”按鈕1849-12-311849-12-31ND-0081850-3-29同上1850-3-28.1850-3-28.ND-0091

7、850-5-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-

8、3-30ND-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

9、、30、31此時(shí),構(gòu)成的邊界值法測試用例如表5所示。表5:邊界值法測試用例ID輸入日期(年-月-日)操作步驟預(yù)期輸出(年-月-日)實(shí)際輸出(年-月-日)ND-0231800-1-1輸入年月日,點(diǎn)擊“計(jì)算”按鈕輸入日期超出范圍的合理提示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-

11、12049-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錯(cuò)誤推測法錯(cuò)誤推測法是基于測試人員的經(jīng)驗(yàn)和直覺來推測系統(tǒng)中可能存在的各種缺陷,有針對地設(shè)計(jì)測試用例的方法。錯(cuò)誤推法的基本思想是列舉出系統(tǒng)中所有可能的缺陷和容易發(fā)生缺陷的特殊情況,并根據(jù)他們選擇測試用例。程序preday錯(cuò)誤推測法測試用例設(shè)計(jì)如表6所示。表6:錯(cuò)誤推測法測試用例ID輸入日

12、期(年-月-日)操作步驟預(yù)期輸出(年-月-日)實(shí)際輸出(年-月-日)備注ND-039無無所有的接文本框都清零如圖1Ver1-Bug0001ND-0401800-12-0輸入年月日,點(diǎn)擊“計(jì)算”按鈕無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-04

13、52000-0-0同上無2000-1-29Ver1-Bug00042.3 黑盒軟件測試用例的執(zhí)行2.3.1 Ver1-Bug0001運(yùn)行程序后,界面上的年、月、日輸入框內(nèi)的數(shù)據(jù)沒有清空。如圖1所示:2.3.2 Ver1-Bug0002輸入日期1800-12-0后,會跳出輸入日期不合法提示的警告信息,如圖2所示,點(diǎn)擊確定后能得到前一天的日期并顯示在對話框內(nèi),如圖3所示:2.3.3 Ver1-Bug0003輸入1989年8月1日后點(diǎn)擊確定按鈕后顯示的日期是1989-7-30,實(shí)際上7月是有31天的,即程序顯示的日期不正確,程序運(yùn)行如圖4所示:2.3.3 Ver1-Bug0004輸入日期2000-0

14、-0后,會跳出“請?zhí)钊胍粋€(gè)在1和12之間的整數(shù)”的警告信息,如圖5所示,點(diǎn)擊確定后能在對話框內(nèi)顯示20001-29,如圖6所示:圖1圖2圖3圖4圖5圖62.4 軟件缺陷報(bào)告的設(shè)計(jì) 缺陷報(bào)告缺陷名稱:顯示錯(cuò)誤的日期 缺陷編號ID: Ver1-Bug0003報(bào) 告 人:曹 洪 報(bào)告時(shí)間: 2010-11-3部 門:營業(yè)部 客服B組發(fā) 現(xiàn) 人:曹 洪 發(fā)現(xiàn)時(shí)間: 2010-11-1部 門:泉海潮公司發(fā)現(xiàn)場所:泉海潮公司 軟件工具實(shí)驗(yàn)室501 軟件系統(tǒng)名: preday 軟件版本: preday 1.0版發(fā)生階段: 用戶使用再現(xiàn)率: 100%嚴(yán)重級: 高優(yōu)先級: 高處理決定決定人:曹 洪2010-11

15、-3,缺陷報(bào)告提交給軟件開發(fā)部門,限2010-11-5 18:00前修復(fù)。2010-11-4上午,質(zhì)保部門修錯(cuò)驗(yàn)證測試;2010-11-4 下午,與其他修復(fù)軟件一起提交給版本發(fā)布部門2010-11-5,版本發(fā)布部門作為升級版Ver1.0SP1交付給用戶。缺陷現(xiàn)象輸入日期是1989-8-1,點(diǎn)擊確定按鈕后顯示的日期是1989-7-30,實(shí)際上7月是有31天的,即程序顯示的日期不正確,程序運(yùn)行如圖4所示:缺陷再現(xiàn)步驟1、 在線數(shù)據(jù)d:predayBugVer1Ver1-Bug0003Ver1-Bug0003.txt2、 輸入數(shù)據(jù)3、 點(diǎn)擊【計(jì)算】按鈕2.5 軟件缺陷修正報(bào)告的設(shè)計(jì)修錯(cuò)報(bào)告缺陷名稱:

16、顯示錯(cuò)誤的日期 缺陷編號ID: Ver1-Bug0003報(bào) 告 人:曹 洪 報(bào)告時(shí)間: 2010-11-4部 門:軟件開發(fā)部 preday 項(xiàng)目組修 錯(cuò) 人:宮畢克 修錯(cuò)時(shí)間: 2010-11-4部 門:軟件開發(fā)部 preday 項(xiàng)目組1.缺陷原因表面原因:將7月的天數(shù)錯(cuò)誤的設(shè)置為30天,實(shí)際應(yīng)是31天。實(shí)質(zhì)原因:在設(shè)置日期為1、月份為8時(shí),選擇處理的邏輯錯(cuò)誤。2.缺陷對策重新設(shè)置8月1日的邏輯處理。3.對策函數(shù)名predayDlg.cpp的void Preday1( const int& year, const int& month, const int& day,

17、CString& strpreday )修正記號:Ver1-Bug00034.缺陷產(chǎn)生階段編碼5.修正后結(jié)果2.6 白盒軟件測試用例的設(shè)計(jì)修正的代碼: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( &

18、quot;Reach the min date.n" );bValid = false;elsepreday = 31;premonth = 12;preyear = year - 1;elsepreday = 31;premonth = month -1;2.6.1語句覆蓋利用語句覆蓋設(shè)計(jì)測試用例時(shí)應(yīng)保證程序的每一條可執(zhí)行語句至少執(zhí)行一次。從程序圖上看,其實(shí)等同于節(jié)點(diǎn)覆蓋。語句覆蓋率的計(jì)算方式如下:語句覆蓋率 = 至少被執(zhí)行一次的語句數(shù)量/可執(zhí)行的語句總數(shù)進(jìn)行白盒測試的程序段的流程圖如圖2.6.1所示,開始此段程序的條件是日期為1,即在設(shè)計(jì)測試用例時(shí)所有的日期都必須為1時(shí)程序運(yùn)行時(shí)

19、才能運(yùn)行選擇的這段程序。語句覆蓋的測試用例如表2.6.1所示,表中通過的路徑為圖2.6.1中所示的路徑。圖2.6.1 邏輯覆蓋的流程圖表2.6.1 語句覆蓋的測試用例設(shè)計(jì)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.672.6.2判

20、定覆蓋判定覆蓋又稱分支覆蓋,其含義是:設(shè)計(jì)測試用例時(shí)應(yīng)保證程序中每個(gè)判定節(jié)點(diǎn)的取真和去假分支至少執(zhí)行一次。由于判定節(jié)點(diǎn)并非只有二值情況,對于多分支的情況,判定覆蓋的含義為:測試用例的設(shè)計(jì)應(yīng)保證程序中每個(gè)判定節(jié)點(diǎn)取得每種可能的結(jié)果至少一個(gè)。從流程圖來看,判定覆蓋等同于邊覆蓋。判定覆蓋率的計(jì)算公式如下:判定覆蓋率 = 判定結(jié)果被評價(jià)的次數(shù) / 判定結(jié)果的總數(shù) 判定覆蓋的測試用例設(shè)計(jì)ID輸入預(yù)期輸出通過路徑判定覆蓋年份月份日期年-月-日LC-00719901211990-11-30A20LC-0081898311898-2-28BCE60LC-0092004312004-2-29BCD60LC-01

21、02007112006-12-31BFGI80LC-011180011Reach the min date.BFGH80LC-01220111112011-10-31BFJ602.6.3條件組合覆蓋條件組合覆蓋的含義是:測試用例的設(shè)計(jì)應(yīng)滿足每個(gè)判定節(jié)點(diǎn)中所有簡單判定條件的各種的組合應(yīng)至少執(zhí)行一次。條件組合覆蓋率的計(jì)算方法如下:條件組合覆蓋率 = 條件操作數(shù)值至少被評價(jià)一次的數(shù)量 / 條件操作數(shù)值的所有組合總數(shù)條件組合覆蓋的測試用例設(shè)計(jì)表2.6.3,其相應(yīng)測試用例的簡單判定條件的判定如簡單判定條件表。表:2.6.3 條件組合覆蓋的測試用例ID輸入預(yù)期輸出條件組合覆蓋率年份月份日期年-月-日LC-

22、0132011512011-4-3012.5LC-0142012712012-6-3025LC-01520331012033-9-3037.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è)計(jì) 驗(yàn)證軟件缺陷的修正驗(yàn)證人:曹洪驗(yàn)證版本:Ver1.0SP11、 使用發(fā)生軟件缺陷的測試用例(1989-8-1)輸出結(jié)果:preday is: 1989-7-31.判定:OK輸入日期1989-8-1。點(diǎn)擊計(jì)算

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論