軟件測試與質量保證 習題答案_第1頁
軟件測試與質量保證 習題答案_第2頁
軟件測試與質量保證 習題答案_第3頁
軟件測試與質量保證 習題答案_第4頁
軟件測試與質量保證 習題答案_第5頁
已閱讀5頁,還剩20頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

教材習題參考答案習題一選擇題12345678910DCDAADCADB填空題運行、測定預防成本、評價成本、失敗成本軟件缺陷、滿足用戶的需求被測試程序、測試用例開發、測試判斷題12345678910XXXXX√XX√X解答題答:軟件測試工作者應從這一案例獲得以下警示:(1)應有社會責任感,因為有的軟件如果出現問題,可能會危害社會。(2)應有質量意識,自覺保證和提高軟件質量,防止軟件出現問題。(3)應對軟件進行嚴格、充分的測試,盡可能發現軟件中的缺陷和問題。(4)軟件測試工作要周到細致,不僅要考慮一般情況,還要考慮到各種可能發生的特殊情況。(5)對于復雜的系統,測試工作是有難度的,需要積極創新,提高測試水平,才能達到好的測試效果。針對以下代碼,請分析代碼中存在的問題和缺陷。如果成績數組為空或者長度為0,應給出具體的提示信息。循環控制變量i的初值應為0。這段代碼沒有注釋,規范的代碼應當有良好的注釋。有程序段如下:試分析該程序段有何邏輯錯誤;程序的邏輯錯誤在于,z只與x進行了比較,而沒有與y進行比較。當z與x進行比較,且z>x時,程序就會讓max=z,但此時如果z<y,就出錯了。設計1個測試數據,使得執行該測試時會執行到fault但不會觸發error;x=9,y=8,z=7(z<x即可)設計1個測試數據,使得執行該測試時會執行到fault并觸發error,但不會引起Failure;x=9,y=8,z=10(z最大即可)設計1個測試數據,使得執行該測試時會執行到fault,觸發error,并引起Failure。x=9,y=11,z=10(x<y,且z>x即可)

習題二選擇題123CBA填空題數據流分析靜態編程規范、編碼規則注釋判斷題123√√X解答題1.代碼中存在的問題有:①這段代碼沒有注釋,規范的代碼應當有良好的注釋。②變量Weight在接口和內部實現的數據類型不一致。③reada[i]執行可能出錯,但沒有出錯處理代碼。④循環控制變量i的初值應為0。⑤特殊情況時a.length=0,此時執行Weight=S/a.length會出錯,應在此行代碼之前判斷a.length是否等于0,只有不等于0時才能作為除數。2.處理邏輯問題:Fun1函數中沒有考慮80<=score<90的情況;邊界條件問題:Fun1函數中score=60的情況沒考慮;模塊接口問題:main函數調用Fun1函數形參為char型,而Fun1函數形參變量定義為int型。代碼修改voidFun1(intscore){if(score>=90)printf(“優秀\n”);if((score<90)&&(score>=80))printf(“良好\n”);if((score<80)&&(score>=70))printf(“中等\n”);if((score<70)&&(score>=60))printf(“及格\n”);if(score<60)printf(“不及格\n”);}voidmain(){Intnumber;scanf(“%c”,&number);Fun1(number);}

習題三選擇題123456AABDAC填空題導致的錯誤重現誤差條件組合覆蓋判斷題123456√X√XX√解答題答語句覆蓋:測試用例(A>4)&&(B<9)A==5&&B>28A=5,B=3TA=5,B=30T判定覆蓋:測試用例(A>4)&&(B<9)A==5&&B>28A=5,B=3TFA=5,B=30FT條件覆蓋:測試用例(A>4)(B<9)A==5B>28A=5,B=3TTTFA=3,B=30FFFT條件/判定覆蓋:測試用例(A>4)(B<9)A==5B>28(A>4)&&(B<9)A==5&&B>28A=5,B=3TTTFTFA=3,B=30FFFTFFA=5,B=30T條件組合覆蓋:測試用例(A>4)&&(B<9)A==5&&B>28A=5,B=3T、TT、FA=5,B=30T、FT、TA=3,B=3F、TF、FA=3,B=30F、FF、T答語句覆蓋:(x>20)&&(z<10)(x==22)‖(y>20)x=22,y=22,z=5TT判定覆蓋:(x>20)&&(z<10)(x==22)‖(y>20)x=22,y=22,z=5TTx=2,y=2,z=55FF條件覆蓋:(x>20)(z<10)(x==22)(y>20)x=22,y=2,z=5TTTFx=2,y=22,z=55FFFT修正條件/判定覆蓋:(x>20)&&(z<10)(x==22)‖(y>20)x=21,y=2,z=5TTFFx=22,y=2,z=55TFTFx=2,y=22,z=5FTFT答:測試用例lborderAlborderBlborderClborderA>0&&lborderB>0&&lborderC>0lborderA-lborderB<lborderClborderB-lborderC<lborderAlborderC-lborderA<lborderB0、0、0F、F、F0、0、1F、F、T0、1、0F、T、F0、1、1F、T、T1、0、0T、F、F1、0、1T、F、T1、1、0T、T、F1、1、1T、T、TTTT4、1、2F1、4、2F1、2、4F答:(1)根據程序畫出程序控制流圖計算控制流圖的環路復雜度V(G)=4(圖中有4個區域)(2)導出基本路徑A.3-4-24B.3-4-6-8-24C.3-4-6-13-15-22-4-24D.3-4-6-13-19-22-4-24(3)設計基本路徑覆蓋測試用例測試用例覆蓋基本路徑(10,0,true)A(100,10,true)B(10,1,false)C(5,1,false)D答:intcycle_time=0;//插樁 for(intn=1;n<=min;n++) { cycle_time=cycle_time+1;//插樁 if(min%n==0&&max%n==0) { if(n>result) result=n; } } System.out.println("最大公約數為:"+result); System.out.println("循環執行次數為:"+cycle_time);//插樁 returnresult; }}答:(1)變異代碼:publicclasszhengchu{ public Stringiszhengchu(intn){ if(n<0||n>500){ return"error"; } intflag=0; Stringnote=""; if(n%3==0){ Flag--; note=note+"3"; } if(n%5==0){ Flag--; note+="5"; } if(n%7==0){ Flag--; note+="7"; } return"能被"+flag+"個數整除,"+note; } }(2)測試數據:n=105答:Z路徑覆蓋測試cycle_num=0;cycle_num=1;循環邊界條件測試cycle_num=0;cycle_num=1;cycle_num=2;2<cycle_num<99之間的數即可;cycle_num=99;cycle_num=100;cycle_num=101;

習題四選擇題123DDB填空題Assert單元測試測試數據判斷題123X√X解答題1.答:(1)體現了面向對象程序設計的多態特點,多態使得測試的工作量成倍增加。(2)測試腳本publicclassbollTest{ @Testpublicvoidtest(){ bollboll0=newboll(); assertEquals("Iamaboll!",roduce()); bollboll1=newbasketboll("red"); assertEquals("Iamaredbasketboll",roduce()); bollboll2=newfootboll("white"); assertEquals("Iamawhitefootboll",roduce()); }}2.答:(1)變異代碼:publicclasszhengchu{ public Stringiszhengchu(intn){ if(n<0||n>500){ return"error"; } intflag=0; Stringnote=""; if(n%3==0){ Flag--; note=note+"3"; } if(n%5==0){ Flag--; note+="5"; } if(n%7==0){ Flag--; note+="7"; } return"能被"+flag+"個數整除,"+note; } }(2)測試數據:n=105

習題五選擇題12345678910CDABBBCCDB填空題有效等價類、無效等價類組合有效等價類總數、無效等價類總數判斷題123X√X解答題答:包括4個有效等價類,11個無效等價類。輸入有效等價類無效等價類加密類型碼空白(1),3位數字(2)有非數字字符(5),少于3位數字(6),多于三位數字(7)前綴碼從200到999之間的3位數字(3)有非數字字符(8),起始位為"0"(9),起始位為"1"(10),少于3位數字(11),多于3位數字(12)后綴碼4位數字(4)有非數字字符(13),少于4位數字(14),多于4位數字(15)設計測試用例如下。對有效等價類測試數據范圍預期結果()276-2345等價類(1),(3),(4)有效(635)805-9321等價類(2),(3),(4)有效對11個無效等價類,要選擇11個測試用例,如下所示:測試數據范圍期望結果(20A)123-4567無效等價類(5)無效(33)234-5678無效等價類(6)無效(7777)345-6789無效等價類(7)無效(777)34A-6789無效等價類(8)無效(234)045-6789無效等價類(9)無效(777)145-6789無效等價類(10)無效(777)34-6789無效等價類(11)無效(777)2345-6789無效等價類(12)無效(777)345-678A無效等價類(13)無效(777)345-678無效等價類(14)無效(777)345-56789無效等價類(15)無效選取的測試數據可以不同,但要針對各等價類。答:常見問題或錯誤測試數據及操作預期結果1、采用空字符串進行登錄輸入空字符串進行登錄提示“賬號或密碼”不能為空2、采用空格字符串進行登錄輸入空格字符串進行登錄提示“賬號或密碼”不能為空3、輸入的登錄名和密碼前后存在空格是否能夠正常登錄輸入的登錄名和密碼前后存在空格,并進行登錄能夠登錄4、登錄時輸入SQL代碼進行注入式攻擊,會不會被攔截登錄時輸入SQL代碼進行注入式攻擊提示“輸入數據”非法5、輸入的密碼是否加密顯示輸入登錄名和密碼輸入的密碼加密顯示6、密碼能否復制粘貼輸入密碼并復制,然后粘貼到其它地方復制和粘貼失敗7、用戶在注銷之后是否能夠馬上再次登錄用戶注銷之后,馬上再次登錄操作能夠完成8、是否允許同一賬號在不同的客戶端重復登錄同一賬號在不同的客戶端重復登錄重復登錄時,給出提示9、用戶名和密碼不區分大小寫用戶名和密碼不區分大小寫,進行登錄提示“賬號或密碼錯誤”10、明確提示用戶名錯誤,明確提示密碼錯誤輸入錯誤的登錄名和密碼進行登錄提示“賬號或密碼錯誤”答:(1)事件流圖:(2)測試場景:場景1:基本流場景2:基本流,備選流1場景3:基本流,備選流2場景4:基本流,備選流3場景5:基本流,備選流4(3)測試用例答:(1)識別出所有原因和所有結果,并給出原因、結果元的編號如下:編號原因1第一列字符為A2第一列字符為B3第二列字符為一個數字11中間原因21修改文件22給出信息L23給出信息M(2)識別所有原因與原因之間,原因與結果之間,結果與結果之間的關系,繪制出因果圖如下圖所示。答:變量x的取值范圍測試用例有效等價類(100,150)測試輸入:X=120預期輸出:3[150,200)測試輸入:X=180預期輸出:5200測試輸入:X=200預期輸出:4無效等價類(-∞,100],測試輸入:X=98預期輸出:變量x輸入數據超出范圍!(200,+∞)測試輸入:X=220預期輸出:變量x輸入數據超出范圍!答:(1)等價類劃分year變量的有效等價類:Y1:{year是平年}Y2:{year是閏年}month變量的有效等價類:M1:{month=2}M2:{month=12}M3:{month=1,3,5,7,8,10}M4:{month=4,6,9,11}day變量的有效等價類:D1:{1≤day≤27}D2:{day=28}D3:{day=29}D4:{day=30}D5:{day=31}(2)程序所有可能采取的操作有以下6種:A1:year+1A2:month=1A3:month+1A4:day=1A5:day+1A6:提示輸入日期無效簡化后的決策表,及測試用例答:級數積分額度邊界值(各區間重復的邊界值只寫一次)00-1,0,111-992,98,99,1002100-999101,998,999,100031000-49991001,4998,4999,500045000-99995001,9998,9999,10000510000-9999910001,99998,99999,1000006100000及以上100001

習題六選擇題1234BBDA填空題輸入數據數據驗證點模擬執行判斷題1234XX√X解答題答:啟動應用軟件ClassicsJavaA在顯示的目錄樹中依次選擇Composers、Schubert、Location(PLUS_MINUS)單擊placeOrder采用數據驅動的方式,把預先定義的變量"Composer"的當前數據值輸入“item”框中采用數據驅動的方式,把預先定義的變量"Item"的當前數據值輸入“_1899”框中對“_1999()”中的數據進行驗證單擊確定關閉classicsCD答:略

習題七選擇題12345678910BBABDAADCA填空題概要設計、軟件需求α+β測試、正式驗收測試回歸測試α測試系統測試判斷題12345√XXX√解答題答:功能:根據直徑,計算球的體積相對誤差分析:y=Pi*(x/2)3*4/3兩邊微分得dy=Pi/6*3X2dX,兩邊再同除以y和Pi*(x/2)3*4/3得:dy/y=3dx/x答:問題:ModuleB調用ModuleA時給的參數次序有誤,會出錯。能發現這一問題的測試用例:str1=”B”,str2=”AB”不能發現這一問題的測試用例:str1=”ABC”,str2=”ABC”答:系統的平均并發用戶數C_avg和并發用戶峰值數C_max的估算公式為:,平均并發用戶數:C_avg=12000*0.5/(22-7)=400并發用戶峰值數:C_max=400+3*=460

習題八選擇題123DAB填空題driver.get(″/″)菜單鍵盤輸入判斷題1234√XX√解答題答:driver.get(″/″);按照網址″/″打開網頁Thread.sleep(3000);等待3秒driver.findElement(By.id(″search_Key_input″)).click();按照id″search_Key_input″

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論