




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
實(shí)驗(yàn)一黑盒測(cè)試法——等價(jià)類劃分法實(shí)驗(yàn)?zāi)康模?.掌握等價(jià)類劃分的方法2.掌握按等價(jià)類方法設(shè)計(jì)測(cè)試用例實(shí)驗(yàn)內(nèi)容:1、請(qǐng)用等價(jià)類劃分法為三角形問(wèn)題劃分等價(jià)類,并設(shè)計(jì)相應(yīng)的測(cè)試用例,測(cè)試下面三角形問(wèn)題程序,找出缺陷并改正,給出缺陷報(bào)告。#include"iostream.h"voidmain(){ inta,b,c; cout<<"請(qǐng)輸入三角形的三條邊(界于1-100之間)"<<endl; cin>>a>>b>>c; if(a<=1||a>=100)cout<<"a的值超過(guò)允許的范圍!"; if(b<=1||b>=100)cout<<"b的值超過(guò)允許的范圍!"; if(c<=1||c>=100)cout<<"c的值超過(guò)允許的范圍!"; if(a+b>c||a+c>b||b+c>a)cout<<"a,b,c的值不能構(gòu)成三角形!"; if(a==b&&b==c)cout<<"是等邊三角形!"; if(a==b||b==c||a==c)cout<<"是等邊三角形!"; if(a<>b&&b<>c&&c<>a)cout<<"一般三角形!";}三角形問(wèn)題:劃分等價(jià)類有效等價(jià)類號(hào)碼無(wú)效等價(jià)類號(hào)碼輸入條件輸入三個(gè)整數(shù)整數(shù)1a為非整數(shù)一邊為非整數(shù)b為非整數(shù)c為非整數(shù)a,b為非整數(shù)兩邊為非整數(shù)b,c為非整數(shù)a,c為非整數(shù)三邊a,b,c均為非整數(shù)12131415161718三個(gè)數(shù)2只給a只給一邊只給b只給c只給a,b只給兩邊只給b,c只給a,c給出三個(gè)以上19202122232425非零數(shù)3a為0一邊為零b為0c為0a,b為0兩邊為零b,c為0a,c為0三邊a,b,c均為026272829303132正數(shù)4a<0一邊<0b<0c<0a<0且b<0二邊<0a<0且c<0b<0且c<0三邊均<0:a<0且b<0且c<033343536373839輸出條件構(gòu)成一般三角形a+b>cb+c>aa+c>b567a+b<ca+b=cb+c<ab+c=aa+c<ba+c=b404142434445構(gòu)成等腰三角形a=b且兩邊之b=c和大于a=c第三邊8910構(gòu)成等邊三角形a=b=c11測(cè)試用例:1、覆蓋有效等價(jià)類的測(cè)試用例用例IDabc預(yù)期輸出覆蓋等價(jià)類號(hào)碼12345345445455545444一般三角形等腰三角形等腰三角形等腰三角形等邊三角形1—71—7,81—7,91—7,101—7,112、覆蓋無(wú)效等價(jià)類的測(cè)試用例用例IDabc覆蓋等價(jià)類號(hào)碼預(yù)期輸出用例IDabc覆蓋等價(jià)類號(hào)碼預(yù)期輸出6782.54534.55345.5121314無(wú)效輸入無(wú)效輸入無(wú)效輸入2324252600530004000029303132無(wú)效輸入無(wú)效輸入無(wú)效輸入無(wú)效輸入91011123.54.5534.55.53.545.53.54.55.515161718無(wú)效輸入無(wú)效輸入無(wú)效輸入無(wú)效輸入272829-3453-4534-5333435無(wú)效輸入無(wú)效輸入無(wú)效輸入131415345192021無(wú)效輸入無(wú)效輸入無(wú)效輸入30313233-3-45-34-53-4-5-3-4-536373839無(wú)效輸入無(wú)效輸入無(wú)效輸入無(wú)效輸入16171819344535345622232425無(wú)效輸入無(wú)效輸入無(wú)效輸入無(wú)效輸入3435363731532531132140414243非三角形非三角形非三角形非三角形202122045305340262728無(wú)效輸入無(wú)效輸入無(wú)效輸入38391423414445非三角形非三角形缺陷報(bào)告:缺陷編號(hào)1用例編號(hào)40缺陷類型代碼錯(cuò)誤嚴(yán)重級(jí)別嚴(yán)重優(yōu)先級(jí)優(yōu)先缺陷狀態(tài)New測(cè)試階段EQ\o\ac(□,√)單元□集成□系統(tǒng)□驗(yàn)收□其它〔〕可重現(xiàn)性EQ\o\ac(□,√)是□否BUG原因□需求分析EQ\o\ac(□,√)根本設(shè)計(jì)□詳細(xì)設(shè)計(jì)□設(shè)計(jì)式樣理解□編程□數(shù)據(jù)庫(kù)設(shè)計(jì)□環(huán)境配置□其它〔〕缺陷描述程序無(wú)法正常執(zhí)行預(yù)期結(jié)果程序能運(yùn)行,并且有運(yùn)行的結(jié)果重現(xiàn)步驟備注翻開(kāi)vc++6.0,運(yùn)行以下源代碼。#include"iostream.h"voidmain(){ inta,b,c; cout<<"請(qǐng)輸入三角形的三條邊(界于1-100之間)"<<endl; cin>>a>>b>>c; if(a<=1||a>=100)cout<<"a的值超過(guò)允許的范圍!"; if(b<=1||b>=100)cout<<"b的值超過(guò)允許的范圍!"; if(c<=1||c>=100)cout<<"c的值超過(guò)允許的范圍!"; if(a+b>c||a+c>b||b+c>a)cout<<"a,b,c的值不能構(gòu)成三角形!"; if(a==b&&b==c)cout<<"是等邊三角形!"; if(a==b||b==c||a==c)cout<<"是等邊三角形!"; if(a<>b&&b<>c&&c<>a)cout<<"一般三角形!";}發(fā)現(xiàn)錯(cuò)誤,無(wú)法執(zhí)行。以下局部由BUG修改人填寫(xiě)缺陷修改描述將if語(yǔ)句的“<>〞改成“?。建暅y(cè)試人修正人確認(rèn)人修正日期年月日缺陷編號(hào)2用例編號(hào)1缺陷類型代碼錯(cuò)誤嚴(yán)重級(jí)別嚴(yán)重優(yōu)先級(jí)優(yōu)先缺陷狀態(tài)New測(cè)試階段EQ\o\ac(□,√)單元□集成□系統(tǒng)□驗(yàn)收□其它〔〕可重現(xiàn)性EQ\o\ac(□,√)是□否BUG原因□需求分析EQ\o\ac(□,√)根本設(shè)計(jì)□詳細(xì)設(shè)計(jì)□設(shè)計(jì)式樣理解□編程□數(shù)據(jù)庫(kù)設(shè)計(jì)□環(huán)境配置□其它〔〕缺陷描述輸入正確的三個(gè)數(shù),不能進(jìn)行正確的判斷三角形的類型預(yù)期結(jié)果是一般三角形!重現(xiàn)步驟備注在VC++6.0中運(yùn)行源程序輸入數(shù)據(jù)如下圖:以下局部由BUG修改人填寫(xiě)缺陷修改描述將以下代碼if(a+b>c||a+c>b||b+c>a)cout<<"a,b,c的值不能構(gòu)成三角形!";改成if(a+b<c||a+c<b||b+c<a)cout<<"a,b,c的值不能構(gòu)成三角形!";測(cè)試人修正人確認(rèn)人修正日期年月日缺陷編號(hào)3用例編號(hào)2~4缺陷類型嚴(yán)重級(jí)別嚴(yán)重優(yōu)先級(jí)優(yōu)先缺陷狀態(tài)New測(cè)試階段EQ\o\ac(□,√)單元□集成□系統(tǒng)□驗(yàn)收□其它〔〕可重現(xiàn)性EQ\o\ac(□,√)是□否BUG原因□需求分析EQ\o\ac(□,√)根本設(shè)計(jì)□詳細(xì)設(shè)計(jì)□設(shè)計(jì)式樣理解□編程□數(shù)據(jù)庫(kù)設(shè)計(jì)□環(huán)境配置□其它〔〕缺陷描述輸入正確的三個(gè)數(shù),不能正確判斷三角形的類型預(yù)期結(jié)果等腰三角形重現(xiàn)步驟備注在VC++6.0中運(yùn)行源程序輸入數(shù)據(jù)如圖所以:以下局部由BUG修改人填寫(xiě)缺陷修改描述將以下代碼: if(a==b&&b==c)cout<<"是等邊三角形!";改為:if((a==b&&b!=c)||(a==c&&c!=b)||(b==c&&a!=c))cout<<"是等腰三角形!";測(cè)試人修正人確認(rèn)人修正日期年月日缺陷編號(hào)4用例編號(hào)6~12,20~39缺陷類型嚴(yán)重級(jí)別嚴(yán)重優(yōu)先級(jí)優(yōu)先缺陷狀態(tài)New測(cè)試階段EQ\o\ac(□,√)單元□集成□系統(tǒng)□驗(yàn)收□其它〔〕可重現(xiàn)性EQ\o\ac(□,√)是□否BUG原因□需求分析EQ\o\ac(□,√)根本設(shè)計(jì)□詳細(xì)設(shè)計(jì)□設(shè)計(jì)式樣理解□編程□數(shù)據(jù)庫(kù)設(shè)計(jì)□環(huán)境配置□其它〔〕缺陷描述輸入無(wú)效數(shù)據(jù),不能判定能否構(gòu)成三角形預(yù)期結(jié)果給出提示判斷是否為有效的輸入重現(xiàn)步驟備注在VC++6.0中運(yùn)行源程序輸入數(shù)據(jù)如下圖:以下局部由BUG修改人填寫(xiě)缺陷修改描述將以下代碼:if(a<>b&&b<>c&&c<>a)cout<<"一般三角形!";改為: if((a>0&&a<=100)&&(b>0&&b<=100)&&(c>0&&c<=100)) { if(a!=b&&b!=c&&c!=a)cout<<"一般三角形!"; }測(cè)試人修正人確認(rèn)人修正日期年月日缺陷編號(hào)5用例編號(hào)40~45缺陷類型嚴(yán)重級(jí)別嚴(yán)重優(yōu)先級(jí)優(yōu)先缺陷狀態(tài)New測(cè)試階段EQ\o\ac(□,√)單元□集成□系統(tǒng)□驗(yàn)收□其它〔〕可重現(xiàn)性EQ\o\ac(□,√)是□否BUG原因□需求分析EQ\o\ac(□,√)根本設(shè)計(jì)□詳細(xì)設(shè)計(jì)□設(shè)計(jì)式樣理解□編程□數(shù)據(jù)庫(kù)設(shè)計(jì)□環(huán)境配置□其它〔〕缺陷描述輸入不能構(gòu)成三角形的有效數(shù)據(jù),不能判定是否為三角形預(yù)期結(jié)果不能構(gòu)成三角形重現(xiàn)步驟備注在VC++6.0中運(yùn)行源程序輸入數(shù)據(jù)如下圖:以下局部由BUG修改人填寫(xiě)缺陷修改描述將以下代碼:if(a<>b&&b<>c&&c<>a)cout<<"一般三角形!";改為: if((a>0&&a<=100)&&(b>0&&b<=100)&&(c>0&&c<=100)) { if((a!=b&&b!=c&&c!=a)&&(a+b>c&&a+c>b&&b+c>a))cout<<"一般三角形!"; }測(cè)試人修正人確認(rèn)人修正日期年月日缺陷編號(hào)6用例編號(hào)13~19缺陷類型嚴(yán)重級(jí)別嚴(yán)重優(yōu)先級(jí)優(yōu)先缺陷狀態(tài)New測(cè)試階段EQ\o\ac(□,√)單元□集成□系統(tǒng)□驗(yàn)收□其它〔〕可重現(xiàn)性EQ\o\ac(□,√)是□否BUG原因□需求分析EQ\o\ac(□,√)根本設(shè)計(jì)□詳細(xì)設(shè)計(jì)□設(shè)計(jì)式樣理解□編程□數(shù)據(jù)庫(kù)設(shè)計(jì)□環(huán)境配置□其它〔〕缺陷描述只輸入三角形的一邊或兩邊,程序進(jìn)入等待的狀態(tài),沒(méi)有提示。預(yù)期結(jié)果給出提示判斷是否為有效的輸入重現(xiàn)步驟備注在VC++6.0中運(yùn)行源程序輸入數(shù)據(jù)如下圖:以下局部由BUG修改人填寫(xiě)缺陷修改描述測(cè)試人修正人確認(rèn)人修正日期年月日2、某城市號(hào)碼由三局部組成,分別是:地區(qū)碼:以0開(kāi)頭的三位或者四位數(shù)字〔包括0〕;號(hào)碼:以非0、非1開(kāi)頭的七位或者八位數(shù)字。假定被測(cè)程序能接受一切符合上述規(guī)定的號(hào)碼,拒絕所有不符合規(guī)定的號(hào)碼。要求:〔1〕請(qǐng)選擇適當(dāng)?shù)暮诤袦y(cè)試方法,寫(xiě)出選擇該方法的原因,并使用該方法的步驟,給出測(cè)試用例表?!?〕如果所生成的測(cè)試用例不夠全面,請(qǐng)考慮用別的測(cè)試方法生成一些補(bǔ)充的測(cè)試用例。解:〔1〕采用等階類劃分法,因?yàn)榈入A類劃分把輸入域分成假設(shè)干局部,然后從每個(gè)局部選取少數(shù)代表性的數(shù)據(jù)當(dāng)做測(cè)試用例?!?〕步驟:劃分等階類,列出等階類表,確定測(cè)試用例。等價(jià)類表:輸入條件有效等價(jià)類號(hào)碼無(wú)效等價(jià)類號(hào)碼地區(qū)碼0以0開(kāi)頭的3位數(shù)以0開(kāi)頭的4位數(shù)123非數(shù)字字符非0開(kāi)頭的3位數(shù)非0開(kāi)頭的4位數(shù)0開(kāi)頭且少于3位數(shù)字0開(kāi)頭且多于4位數(shù)字非0開(kāi)頭且少于3位數(shù)非0開(kāi)頭且多于4位數(shù)6789101112號(hào)碼非0、非1開(kāi)頭的7位數(shù)非0、非1開(kāi)頭的8位數(shù)45有非數(shù)字字符少于7位數(shù)多于8位數(shù)起始位為0起始位為11314151617測(cè)試用例表:用例ID測(cè)試數(shù)據(jù)期望結(jié)果覆蓋等價(jià)類地區(qū)碼號(hào)碼102235688接受〔有效〕1,42022347789接受〔有效〕1,530872235688接受〔有效〕2,4408722347789接受〔有效〕2,5502342235688接受〔有效〕3,46023422347789接受〔有效〕3,5704A32235688拒絕〔無(wú)效〕681222235688拒絕〔無(wú)效〕7912232235688拒絕〔無(wú)效〕810022235688拒絕〔無(wú)效〕911022342235688拒絕〔無(wú)效〕1012122235688拒絕〔無(wú)效〕1113123452235688拒絕〔無(wú)效〕12140782334AA4拒絕〔無(wú)效〕1315078234567拒絕〔無(wú)效〕1416078723467890拒絕〔無(wú)效〕15170780234455拒絕〔無(wú)效〕16180781234546拒絕〔無(wú)效〕173、請(qǐng)嘗試編寫(xiě)NextDate函數(shù),考慮閏年,2月等特殊情況,并劃分等價(jià)類,按強(qiáng)一般等價(jià)類劃分法設(shè)計(jì)測(cè)試用例,并進(jìn)行測(cè)試,要求給出局部測(cè)試用例截圖,撰寫(xiě)測(cè)試報(bào)告〔模版見(jiàn)附錄3〕。測(cè)試報(bào)告一、實(shí)驗(yàn)?zāi)康?.掌握等價(jià)類劃分的方法2.掌握按等價(jià)類方法設(shè)計(jì)測(cè)試用例二、實(shí)驗(yàn)內(nèi)容2.1實(shí)驗(yàn)問(wèn)題描述:請(qǐng)嘗試編寫(xiě)NextDate函數(shù),考慮閏年,2月等特殊情況,并劃分等價(jià)類,按強(qiáng)一般等價(jià)類劃分法設(shè)計(jì)測(cè)試用例,并進(jìn)行測(cè)試,要求給出局部測(cè)試用例截圖2.2測(cè)試環(huán)境與配置:在xp系統(tǒng)下運(yùn)行VC++6.0的Win32控制臺(tái)應(yīng)用程序,執(zhí)行c++源程序。2.3源程序:2.1測(cè)試程序源代碼#include<iostream>usingnamespacestd;voidNextDate(intyear,intmonth,intday);voidmain(){ intyear=0,month=0,day=0; NextDate(year,month,day);}voidNextDate(intyear,intmonth,intday){ cout<<"請(qǐng)輸入年份:"<<endl; cin>>year; while(!(year>=1811&&year<=2023)) { cout<<"年份超過(guò)界限,請(qǐng)重新輸入"<<endl; cin>>year; } cout<<"請(qǐng)輸入月份:"<<endl; cin>>month; while(month>12||month<1) { cout<<"月份輸入有誤,請(qǐng)重新輸入"<<endl; cin>>month; } cout<<"請(qǐng)輸入日期:"<<endl; cin>>day; while(day>31||day<1) { cout<<"日期輸入有誤,請(qǐng)重新輸入"<<endl; cin>>day; }if((year%4==0&&year%100!=0)||(year%400==0))//檢查閏年; { inti=0; i=day-29; while(month==2&&i>0) { cout<<"本月是閏月,請(qǐng)?jiān)?-29之間從新輸入日期"<<endl; cin>>day; } if(month==2&&day==29) { month=3; day=1; } elseday++; } elseday++; //月底計(jì)算; switch(month) { case1: case3: case5: case7: case8: case10: if(day==32) { month++; day=1; cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl; } break; case2: if(day==29) { month=3; day=1; } break; case4: case6: case9: case11: if(day==31) { month++; day=1; cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl; } break; case12: if(day==32) { year++; month=1; day=1; cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl; } break; } cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl;}2..4程序思路說(shuō)明:1、判斷輸入年是否在1812——2023范圍內(nèi)。2、判斷輸入月是否在1——12范圍內(nèi)。3、判斷輸入日期是否在1——31范圍內(nèi)。4、考慮年份是否為閏年,月份是否為2月。三、測(cè)試方法3.1等價(jià)類劃分有效等價(jià)類:month變量的有效等價(jià)類:M1:{month=4,6,9,11}M2:{month=1,3,5,7,8,10}M3:{month=12}M4:{month=2}day變量的有效等價(jià)類:D1:{1≤day≤27}D2:{day=28}D3:{day=29}D4:{day=30}D5:{day=31}year變量的有效等價(jià)類:Y1:{year是閏年}Y2:{year不是閏年}無(wú)效等價(jià)類:M5={月份:月份<1}M6={月份:月份>12}D6={日期.:日期<1}D7={日期:日期>31}Y3={年:年<1812}Y4={年:年>2023}3.2測(cè)試用例設(shè)計(jì)用例ID月份日期年預(yù)期輸出141020012001年4月11日241020042004年4月11日342820012001年4月29日442820042004年4月29日542920012001年4月30日642920042004年4月30日743020012001年5月1日843020042004年5月1日94312001無(wú)效輸入104312004無(wú)效輸入1111020012001年1月11日1211020042004年1月11日1312820012001年1月29日1412820042004年1月29日1512920012001年1月30日1612920042004年1月30日1713020012001年1月31日1813020042004年1月31日1913120012001年2月1日2013120042004年2月1日21121020012001年12月11日22121020042004年12月11日23122820012001年12月29日24122820042004年12月29日25122920012001年12月30日26122920042004年12月30日27123020012001年12月31日28123020042004年12月31日29123120012002年1
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 動(dòng)感十足的圖書(shū)(教案)四年級(jí)上冊(cè)信息技術(shù)河南大學(xué)版
- Module 2 Unit 6 Animals I like Period 3(教學(xué)設(shè)計(jì))-2023-2024學(xué)年滬教牛津版(深圳用)英語(yǔ)二年級(jí)下冊(cè)
- Module4 Unit11 Water(教學(xué)設(shè)計(jì))-2024-2025學(xué)年滬教牛津版(深圳用)英語(yǔ)五年級(jí)上冊(cè)
- 七年級(jí)道德與法治下冊(cè) 第四單元 走進(jìn)法治天地 第九課 法律在我們身邊 第2框 法律保障生活教學(xué)設(shè)計(jì) 新人教版
- 系統(tǒng)分析師考試綜合能力考核試題及答案
- 2025山西省安全員A證考試題庫(kù)
- 三年級(jí)品德與社會(huì)上冊(cè) 心中的110教學(xué)設(shè)計(jì)2 蘇教版
- 挖掘農(nóng)業(yè)職業(yè)經(jīng)理人考試的潛在價(jià)值與意義試題及答案
- 農(nóng)業(yè)職業(yè)經(jīng)理人考試的成功考試態(tài)度分析試題及答案
- 2024年農(nóng)業(yè)職業(yè)經(jīng)理人重要考察內(nèi)容試題及答案
- 2024年10月自考13683管理學(xué)原理中級(jí)試題及答案含評(píng)分參考
- Q∕GDW 12070-2020 配電網(wǎng)工程標(biāo)準(zhǔn)化設(shè)計(jì)圖元規(guī)范
- (精心整理)小學(xué)英語(yǔ)特殊疑問(wèn)句練習(xí)(帶答案)
- 小學(xué)語(yǔ)文人教課標(biāo)版(部編)三年級(jí)下冊(cè)習(xí)作:我做了一項(xiàng)小實(shí)驗(yàn)
- 廣西壯族自治區(qū)建筑裝飾裝修工程消耗量定額(2013版)
- 中國(guó)歷史朝代簡(jiǎn)表全
- 鐵總計(jì)統(tǒng)【2017】177號(hào)關(guān)于進(jìn)一步加強(qiáng)鐵路建設(shè)項(xiàng)目征地拆遷工作和費(fèi)用管理的指導(dǎo)意見(jiàn)
- 立式水輪發(fā)電機(jī)軸線分析及處理
- 蹲踞式起跑PPT
- 1云南省初中綜合素質(zhì),完整版綜合素質(zhì)評(píng)定表
- HAD 101-07《核電廠廠址查勘》_圖文
評(píng)論
0/150
提交評(píng)論