完整版白盒測試試驗報告_第1頁
完整版白盒測試試驗報告_第2頁
完整版白盒測試試驗報告_第3頁
完整版白盒測試試驗報告_第4頁
完整版白盒測試試驗報告_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗報告課 程軟件測試實驗工程白盒測試用例設(shè)計與執(zhí)行專業(yè)年級計科07級姓 名李專學(xué) 號0705010136指導(dǎo)教師實驗時間2021-6-4實驗成績一、實驗?zāi)康? .熟練掌握如何運用基路徑測試方法進行測試用例設(shè)計.2 .初步熟悉如何利用程序插裝技術(shù)進行邏輯覆蓋率分析.二、實驗內(nèi)容1、題目前一日函數(shù)PreDate是NextDate的逆函數(shù)(代碼實現(xiàn)見下),實現(xiàn)功能為:輸入1800年到2050年之間的某個日期,函數(shù)返回這一天的前一天的日期.(此處不考慮無效輸入)請采用基路徑方法對前一日函數(shù)進行測試用例設(shè)計,并利用程序插裝技術(shù)對測試用例的判定覆蓋率進行檢查分析.代碼:(被測函數(shù)為PreDate)#in

2、cludestdio.htypedef struct MyDateint month;int day;int year;MyDate;MyDate PreDate(MyDate date);int Leapyear(int year);void Print(MyDate date);MyDate PreDate(MyDate date)/輸入日期有效性檢查中其他模塊實現(xiàn),此處假設(shè)輸入日期都是合法數(shù)據(jù)1 .MyDate yesterday;2 .yesterday.month = date.month; / initialization3 .yesterday.day = date.day;4

3、.yesterday.year = date.year;5.int days_month13=0,31,0,31,30,31,30,31,31,30,31,30,31;/初始化每月天數(shù),其中2月不確定,初始化為06.if(date.day1)7.yesterday.day=date.day-1;else8.if(date.month=1) (9.yesterday.year=date.year-1;10.yesterday.month=12;11.yesterday.day=31;12.else if(date.month=3) (13.if(Leapyear(date.year) (14.y

4、esterday.month=2;15.yesterday.day=29; else(16.yesterday.month=2;17.yesterday.day=28;else(18.yesterday.month=date.month-1;19.yesterday.day=days_monthdate.month-1; 20.return yesterday;21.int Leapyear(int year)(22.if(year%4=0&year%100!=0) | (year%400=0)23 .return 1;24 .else return 0;void Print(MyDate d

5、ate)(25 .printf(%d-%d-%dn,date.year,date.month,date.day);2、測試用例設(shè)計 1限制流圖2環(huán)路復(fù)雜度計算由圖可知,圖中的環(huán)路有五條,故環(huán)路復(fù)雜度為五.3根本路徑集設(shè)計根本路徑集為:A.1、2、3、4、5、 6、 8、12、 13、14、15、20、25B.1、2、3、4、5、 6、 8、12、 16、 17、 20、 25C.1、2、3、4、5、6、8、12、 18、 19、 20、 25D.1、2、3、4、5、 6、 8、9、 10、 11、 20、 25E.1、2、3、4、5、 6、 7、 20、 254測試用例集設(shè)計測試用例集為:20

6、00-1-2 2000-1-1 2000-3-1 1999-3-1 1980-5-1 3、插裝后源程序清單與判定覆蓋率分析結(jié)果要求截取插裝后程序運行界面 #includestdio.htypedef struct MyDate int month;int day;int year;MyDate;int a6;MyDate PreDate(MyDate date);int Leapyear(int year);void Print(MyDate date);int count();MyDate PreDate(MyDate date)/輸入日期有效性檢查中其他模塊實現(xiàn),此處假設(shè)輸入日期都是合法數(shù)

7、據(jù) MyDate yesterday;yesterday.month = date.month; / initializationyesterday.day = date.day;yesterday.year = date.year;int days_month13=0,31,0,31,30,31,30,31,31,30,31,30,31;/初始化每月天數(shù),其中2月不確定,初始化為0if(date.day1)a0=count();yesterday.day=date.day-1;elsea1= count();if(date.month=1)a2= count();yesterday.year

8、=date.year-1;yesterday.month=12;yesterday.day=31;else if(date.month=3)(a3=count();if(Leapyear(date.year)(a4=count();yesterday.month=2;yesterday.day=29;else(a5=count();yesterday.month=2;yesterday.day=28;else(a6=count();yesterday.month=date.month-1;yesterday.day=days_monthdate.month-1;return yesterday

9、;int Leapyear(int year)(if(year%4=0&year%100!=0) | (year%400=0)return 1;else return 0;void Print(MyDate date)(printf(%d-%d-%dn,date.year,date.month,date.day);)int count()(return 1;)void DriverofPreDate()(int tcPassNum = 0;int tcFailNum = 0;/存儲通過和失敗的測試用例總數(shù)FILE *pFpFrom=NULL;FILE *pFpTo=NULL;/ 翻開數(shù)據(jù)文件,

10、準(zhǔn)備讀取測試用例的數(shù)據(jù) char *DataFileName=test.txt;pFpFrom=fopen(DataFileName,r);if(!pFpFrom)printf(讀取數(shù)據(jù)失敗,返回n);return; / 翻開數(shù)據(jù)文件,準(zhǔn)備記錄測試用例執(zhí)行結(jié)果 char *DataFileTestResultName=DivedeTestResult.txt;pFpTo=fopen(DataFileTestResultName,w);if(!pFpTo)printf( 翻開文件失敗,返回n);An);return; fprintf(pFpTo,對函數(shù)PreDate的單元測試結(jié)果 int TCI

11、D = 0;int sum=0;MyDate date ;/MyDate expectedOut,actualOut;/printf( 對函數(shù)PreDate展開單元測試n);while(!feof(pFpFrom)/fscanf(pFpFrom, %d , &TCID); /測試用例的輸入測試用例的預(yù)期、實際輸出不斷讀取每個測試用例的數(shù)據(jù)讀入測試用例的IDfscanf(pFpFrom, %d %d %d, &date.month,&date.day,&date.year); 讀測試用例輸入fscanf(pFpFrom,%d %d %d,&expectedOut.year,&expectedOu

12、t.month,&expectedOut.day); /讀入測試用例的預(yù)期輸出actualOut = PreDate(date); /執(zhí)行測試用例printf( 測試用例 %d:輸A%d,%d,%d,預(yù)期輸出 %d,%d,%d 實際輸出 %d,%d,%d, ,TCID, date.month,date.day,date.year,expectedOut.year,expectedOut.month,expectedOut.day,actualOut.year,actualOut.month,actualOut.day);/輸出測試用例的信息 if( actualOut.day=expected

13、Out.day&actualOut.month=expectedOut.month&actualOut.year=expectedOut.year)/假設(shè)測試用例通過,那么記錄通過用例總數(shù)tcPassNum +; printf( 通過 n);fprintf(pFpTo, 測試用例%d:Pass,TCID); /將測試結(jié)果存入結(jié)果文件elsetcFailNum +; printf( 失敗 n);fprintf(pFpTo, 測試用例%d:Fail,TCID); /將測試結(jié)果存入結(jié)果文件for(int i=0;i=6;i+) (sum=sum+ai;)printf( 覆蓋率=%d, sum*100

14、/7);printf(%n);printf(共執(zhí)行d個測試用例,其中d個通過,%d個失敗n, tcPassNum+tcFailNum,tcPassNum, tcFailNum );fprintf(pFpTo, 共執(zhí)行d個測試用例,其中 %d個通過,%d個失敗n,tcPassNum+tcFailNum, tcPassNum, tcFailNum );fclose(pFpFrom);fclose(pFpTo);)void main()(DriverofPreDate ( );/調(diào)用測試驅(qū)動程序)去用伊伊二歹 式用夕H二非展開單元測試 / ,1,2000,2, 入20.比3.1.Il tt!2,1,1999, fJzjl,2000,2, 標(biāo)輸出1,20的瞰出 1999.5, j 預(yù)期輸出1993S J皆執(zhí)行3個

溫馨提示

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

評論

0/150

提交評論