軟件測試實驗一二三標(biāo)準(zhǔn)詳解_第1頁
軟件測試實驗一二三標(biāo)準(zhǔn)詳解_第2頁
軟件測試實驗一二三標(biāo)準(zhǔn)詳解_第3頁
軟件測試實驗一二三標(biāo)準(zhǔn)詳解_第4頁
軟件測試實驗一二三標(biāo)準(zhǔn)詳解_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實用標(biāo)準(zhǔn)文案黑盒測試(一)和白盒測試(二)實驗背景知識結(jié)構(gòu)性測試是知道產(chǎn)品內(nèi)部工作過程,檢測產(chǎn)品內(nèi)部動作是否按照規(guī)格說明書的規(guī)定正常進(jìn)行。結(jié)構(gòu)性測試允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計或選擇測試用例,對程序所有邏輯路徑進(jìn)行測試。通過在不同點檢查程序的狀態(tài),確定實際的狀態(tài)是否與預(yù)期的狀態(tài)一致。一、 邏輯覆蓋結(jié)構(gòu)性測試力求提高測試覆蓋率。邏輯覆蓋是一系列測試過程的總稱,它是在使用白盒測試法時,選用測試用例執(zhí)行程序邏輯路徑的方法。邏輯覆蓋按覆蓋程度由低到高大致分為以下幾類:(1)語句覆蓋:設(shè)計若干測試用例,使程序中每一可執(zhí)行語句至少執(zhí)行一次;(2)判斷覆蓋:設(shè)計用例,使程序中的每個邏輯

2、判斷的取真取假分支至少經(jīng)歷一次;(3)條件覆蓋:設(shè)計用例,使判斷中的每個條件的可能取值至少滿足一次;(4)判斷/條件覆蓋:設(shè)計用例,使得判斷中的每個條件的所有可能結(jié)果至少出現(xiàn)一次,而且判斷本身所有可能結(jié)果也至少出現(xiàn)一次;(5)條件組合覆蓋。設(shè)計用例,使得每個判斷表達(dá)式中條件的各種可能組合都至少出現(xiàn)一次;顯然,滿足的測試用例也一定是滿足、的測試用例。(6)路徑覆蓋。設(shè)計足夠的測試用例,使程序的每條可能路徑都至少執(zhí)行一次。如果把路徑覆蓋和條件組合覆蓋結(jié)合起來,可以設(shè)計出檢錯能力更強的測試數(shù)據(jù)用例。二、基本路徑測試如果把覆蓋的路徑數(shù)壓縮到一定限度內(nèi), 例如,程序中的循環(huán)體只執(zhí)行零次和一次, 就 成為

3、基本路徑測試。它是在程序控制流圖的基礎(chǔ)上, 通過分析控制構(gòu)造的環(huán)路復(fù)雜性, 導(dǎo)出 基本可執(zhí)行路徑集合, 從而設(shè)計測試用例的方法。 設(shè)計出的測試用例要保證在測試中, 程序 的每一個可執(zhí)行語句至少要執(zhí)行一次。程序的控制流圖控制流圖是描述程序控制流的一種圖示方法。符號。稱為控制流圖的一個結(jié)點,一組順序處理框可以映射為一個單一的結(jié)點??刂屏鲌D中的箭頭稱為邊,它表示了控制流的方向, 在選擇或多分支結(jié)構(gòu)中分支的匯聚處,即使沒有執(zhí)行語句也應(yīng)該有一個匯聚結(jié)點。邊和結(jié)點圈定的區(qū)域叫做區(qū)域,當(dāng)對區(qū)域計數(shù)時,圖形外的區(qū)域也應(yīng)記為一個區(qū)域。計算程序環(huán)路復(fù)雜性進(jìn)行程序的基本路徑測試時, 程序的環(huán)路復(fù)雜性給出了程序基本路

4、徑集合中的獨立路徑 條數(shù),這是確保程序中每個可執(zhí)行語句至少執(zhí)行一次所必需的測試用例數(shù)目的上界。所謂獨立路徑,是指包括一組以前沒有處理的語句或條件的一條路徑。只要設(shè)計出的測試用例能夠確保這些基本路徑的執(zhí)行,就可以使得程序中的每個可執(zhí)行語句至少執(zhí)行一次, 每個條件的取真分支和取假分支也能得到測試。基本路徑集不是唯一的,對于給定的控制流圖,可以得到不同的基本路徑集。通常環(huán)路復(fù)雜性可用以下三種方法求得。* 將環(huán)路復(fù)雜性定義為控制流圖中的區(qū)域數(shù)。* 設(shè)E為控制流圖的邊數(shù),N為圖的結(jié)點數(shù),則定義環(huán)路復(fù)雜性為V(G) =E N+ 2。* 若設(shè)P為控制流圖中的簡單判定結(jié)點數(shù),則有 V(G) =P+ 1。導(dǎo)出測

5、試用例利用邏輯覆蓋方法生成測試用例,確?;韭窂郊忻織l路徑的執(zhí)行。測試用例格式(參考)表1-2測試用例表測試項目名稱測試人員編制日期測試覆蓋標(biāo)準(zhǔn)測試用例名稱編號測試數(shù)據(jù)預(yù)期輸出實際輸出測試路徑12測試結(jié)果分析題目:A.歷更明,查詢活期賬號:賬戶密碼:請輸入右側(cè)顯示的船證嗎:市種選擇:起始日期:截止日期:12 2 741人民幣20090401 (YyyymhDEJ20030412 (yyytnmDC上圖是某銀行歷史明細(xì)帳的查詢界面。歷史明細(xì)帳功能可以查詢查詢2年內(nèi)的存折明細(xì)(不包括當(dāng)天)。帳號是一個16位的數(shù)字,但是后四位的和除以 5總是余3。請根據(jù)所學(xué)測試用 例設(shè)計方法給該功能設(shè)計測試用例輸

6、入 數(shù)據(jù)有效等價類無效等價類帳號1.全部為數(shù)字,16位字符,最后四位數(shù)字的和除以 5總是32 .有非數(shù)字存在3 .為空4 . <16 or >16 位字符5 .最后四位數(shù)字的和除以 5不一定等于5日期1.起始日期與截止日期均為數(shù)字且截止日期小于20160418為8位數(shù)字起始日期>=20140418且截止日期<=2016MM=135.7.8.10.12&&1<=DD<=31Or MM=4,6,9,11&&1<=DD<=30Or MM=2&&1<=DD<=282 .有非數(shù)字存在3 .為空4

7、. <8 or >8 位字符5 .起始日期<20140418 or截止日 期>201604186 . MM=1.3.5.7.8.10.12&&DD>31 Or MM=4,6,9,11&&DD>30Or MM=2&&DD>28驗證 碼1.為 12742.除1274以外其他字符密碼1.6-12 位字符,不能有特殊符號, 不能有空格2. <6 or >12 位字符3.存在特殊符號4.為空5.存在空格帳號1327483658111112輸入后效147127348ifufh233輸入無效2輸入無效376

8、876875輸入無效43423432345660006輸入無效5日期2015041820160305輸入后效12016oi-42015okij輸入無效2輸入無效3201655201699999輸入無效42014031820170505輸入無效52016033120141302輸入無效6驗證碼1274輸入后效17657輸入無效2密碼Zhangtao1906輸入后效1#$%人#&!輸入無效2輸入無效3Zhnagtao 33輸入無效4精彩文檔B.問題描述如下:1 .程序讀入三個正整數(shù),這三個正整數(shù)代表同一三角形三條邊的長度,程序根據(jù)這三個值 判斷三角形屬于不等邊,等腰,等邊三角形中的一種,假

9、定輸入的三個正整數(shù)的值都是 0100。2 . 一元二次方程式AX2+BX+C=0的求根程序有以下功能: .輸入A、B C三個系數(shù); .輸出根的性質(zhì)的信息,包括兩個相等或不相等的實根,或無實根 .打印根的值(如有實根)提示:b2 -4ac 0Bt,方程 ax2+bx + c = 0 的解:-b . b2 - 4ac -b - , b2 - 4acx =或 x =。2a2a要求:1 .根據(jù)問題1、2的說明,畫出對應(yīng)的程序流程圖2 .根據(jù)邊界值分析法,等價類劃分法給問題 1、2設(shè)計測試用例輸入數(shù)據(jù)有效等價類無效等價類三角形三邊分別為,x,y,z1.x+y>z && x+z>

10、;y && y+z>x3.0<x<100&&0<y<100&&0<z<1005 .x=y or y=z or x=z6 .x=y=z2.x+y<=z or x+z<=y or y+z<=x4.x>100or y>100or z>100x=3 y=4 z=5輸入后效1,3x=101 y=90 z=33輸入無效4x=1 y=1 z=3輸入無效2x=2 y=2 z=3輸入后效1,3,5x=2 y=2 z=2輸入后效1,3,5,6輸入數(shù)據(jù)有效等價類無效等價類輸入三個系數(shù)a,b,

11、c1. a,b,c均為有理數(shù)3. b*b-4*a*c>04. b*b-4*a*c=06. a>0 && a<02. a,b,c均為無理數(shù)5. b*b-4*a*c<07. a=0a=2,b=5,c=2輸入后效值1,3,6a=1,b=2,c=1輸入后效值1,4,6a=A/ 2, b=2,c=1輸入無效值2a=2 ,b=3 ,c=2輸入無效值5a=0輸入無效值73 .寫程序完成問題1、2的功能(語言任選)問題1:#include <stdio.h>void main()float a,b,c;printf("請輸入三角形的三條邊長x,y,

12、z:n");scanf("%f",&a);scanf("%f",&b);scanf("%f",&c);if(a>=1&&a<=100)&&(b>=1&&b<=100)&&(c>=1&&c<=100) if(a+b<c|a+c<b|b+c<a)/*判斷是否能構(gòu)成三角形*/*判斷是否為等腰三角形*/printf("不能構(gòu)成三角形!n");else if(

13、a=b&&(a!=c)|(a=c&&(b!=c)|(b=c&&(a!=c)printf("構(gòu)成等腰三角形n");else if(a=c && a=b) /*判斷是否為等邊三角形*/printf("構(gòu)成等邊三角形n");elseprintf("構(gòu)成一般三角形!n");else printf("請輸入1-100之間的數(shù)!n");問題2:#include<stdio.h>#include<math.h>int main(void) d

14、ouble a, b, c, result, rootl, root2;scanf("%lf%lf%lf", &a, &b, &c);result = b * b - 4 * a * c;if (result >= 0)if (result = 0)root1 = (-b) / (2 * a);printf("有兩個相同的實根 %.4lfn", rootl); elserootl = (-b + sqrt(result) / (2 * a);root2 = (-b - sqrt(result) / (2 * a);print

15、f("有兩個不同的實根 %.4lf 和4",rootl, root2);else printf("無實根 n");實用標(biāo)準(zhǔn)文案4 .對問題1、2用白盒測試用例的設(shè)計方法(語句覆蓋、判定覆蓋、條件覆蓋、條件組合 覆蓋)設(shè)計測試用例5 .語句覆蓋:a) x=2 y=4 z=3,b) x=1 y=1 z=3,c) x=101 y=90 z=33,d) x=2 y=2 z=3 ,e) x=2 y=2 z=26 .判定覆蓋a) x=2 y=4 z=3,b) x=1 y=1 z=3,c) x=101 y=90 z=33,d) x=2 y=2 z=3 ,e) x=2

16、y=2 z=27 .條件覆蓋a) x=2 y=4 z=3,b) x=1 y=1 z=3,c) x=101 y=90 z=33,d) x=2 y=2 z=3 ,e) x=2 y=2 z=28 .條件組合覆蓋a) x=2 y=4 z=3,b) x=1 y=1 z=3,c) x=101 y=90 z=33,d) x=2 y=2 z=3 ,e) x=2 y=2 z=29 .語句覆蓋:a) a=2,b=5,c=2b) a=1,b=2,c=1c) a=A/ 2, b=2,c=1d) a=2 ,b=3 ,c=2e) a=010 . 判定覆蓋a) a=2,b=5,c=2b) a=1,b=2,c=1c) a=A

17、/ 2, b=2,c=1d) a=2 ,b=3 ,c=2判定覆蓋實用標(biāo)準(zhǔn)文案e) a=011 .條件覆蓋a) a=2,b=5,c=2b) a=1,b=2,c=1c) a=A/ 2, b=2,c=1d) a=2 ,b=3 ,c=2e) a=012 .條件組合覆蓋a) a=2,b=5,c=2b) a=1,b=2,c=1c) a=A/ 2, b=2,c=1d) a=2 ,b=3 ,c=2e) a=013 .利用設(shè)計的程序和測試用例,使用這些測試用例進(jìn)行測試,給出測試的情況。1.1.x = 3 y = 4 z = 5 r C:Users59173DesktopUntitled1 .exe一 口 X|請

18、輸入三角形的三條邊長& y,2:345構(gòu)成一般三角形!Process returned 0 (0x0) execution time : 179. 092 s Press any key to continue.2.x = 1 y = 1 z = 3H C:Users59173DesktopUntitled1 ,exe XI請輸入三角形的三條邊長x, V,z:113不能構(gòu)成三角形!Process returned 0 (0x0) execution time : 3.901 s Press any key to continue.3 .x = 101 y = 55 z = 25 C:U

19、sers5917 3DesktopUn titled 1 .exe X|請輸入三角形的三條邊長小 y, z:1015525請輸入1-100之間的數(shù)!Process returned 0 (0x0) execution time : 5. 972 s Press any key to continue.4 . x = 5 y = 5 z = 72 C:U&ers59173DesktopUntitledLexe一 口 X|請輸入三角形的三條邊長x, y, z:5o構(gòu)成等腰三角形Process returned 0 (0x0) execution time : 2. 204 s Press

20、any key to continue.5 x = 6 y = 6 z = 62.1. a = 2 b = 5 c = 2 C:Use rs5 917 3De s ktopU nti tledl.exe一 X2 5 2有兩個不同的實根-0. 5000和-2. 0000Process returned 33 (0x21) execution time : 3. 453 sPress any key to continue.2 .a = 1 b = 2 c = 1U C:U&ers59l73DesktopUntitled1,exe一 X聲兩個相同的實根-L 0000Process retu

21、rned 24 (0x18) execution time : L 948 s Press any key to continue.3 .a=2 b = 3 c = 24. a = 0 b = 2 c = 3C.下面是冒泡排序的程序,其中array: 存放一組整數(shù),n:沒 存放數(shù)組的長度。(1)試計算此程序段的環(huán)形復(fù)雜性;精彩文檔數(shù)組或n不能為0t結(jié)束(2)用基本路徑覆蓋法給出測試路徑;I.Array 為空2 .Array 非空,N = 13 .Array 非空,N > 1,4 .Array 非空,N > 1,全升序全降序5 . Array 非空,N > 1,部分升序,部分降

22、序(3)考慮循環(huán)嵌套,為各測試路徑設(shè)計測試用例;(4)添加驅(qū)動程序,執(zhí)行測試用例,分析結(jié)果。bool Bubble( int* array, int n ) int i, j, temp;if( !array )return false;for( i = 0; i < n-1; i +) for( j = 0; j < n-i-1; j + )=temp; if( arrayj > arrayj+1 )/將較小的元素放在前面temp = arrayj; arrayj = arrayj+1;arrayj+1return true;實驗步驟、要求(1) 根據(jù)題 目編寫程序, 并調(diào)試通過(2)根據(jù)結(jié)構(gòu)性測試技術(shù)設(shè)計測試用例1 .語句覆蓋 array10 = ; n = 0; array1 = 1; n = 1;array5 = 5,4, 3, 2, 1; n = 5; array5 = 1,2, 3, 4, 5; n = 5; array5 = 1,3, 5, 4, 2; n = 5;2.1. 定覆蓋 array10 = ; n = 0; array1 = 1; n = 1; array5 =

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論