軟件測試(黑盒白盒)課件
,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,*,2024/11/19,軟件測試方法,2023/10/10軟件測試方法,黑盒測試和白盒測試,2024/11/19,2,功能測試,數(shù)據(jù)驅(qū)動測試,結(jié)構(gòu)測試,邏輯驅(qū)動測試,客戶需求,事件驅(qū)動,輸入,輸出,黑盒測試和白盒測試2023/10/102功能測試結(jié)構(gòu)測試客戶,2024/11/19,3,黑盒測試,是從用戶觀點出發(fā)的測試,它又稱功能測試、數(shù)據(jù)驅(qū)動測試或基于規(guī)格說明書或用戶手冊的測試。它所依據(jù)的是程序的外部特性。,規(guī)格,說明,產(chǎn)生,被測程序,測試結(jié)果,輸出,比較,測試用例,黑盒測試,2023/10/103黑盒測試是從用戶觀點出發(fā)的測試,它又稱,黑盒測試的設(shè)計方法,等,價,分,類,法,邊,值,分,析,法,錯,誤,推,測,法,因,果,圖,法,不考慮程序的內(nèi)部結(jié)構(gòu)與特性,只根據(jù)程序功能或程序的外部特性設(shè)計測試用例。,2024/11/19,4,黑盒測試的設(shè)計方法等邊錯因 不考慮程序的內(nèi)部結(jié)構(gòu)與特性,,1.,等價類劃分,2024/11/19,5,基本思想:,把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分“,等價類,”,然后從每一部分中選取少數(shù)有“,代表性,”的數(shù)據(jù)做為測試用例。,分為兩步:,劃分等價類(列出等價類表),選取測試用例,1.等價類劃分2023/10/105基本思想:,2024/11/19,6,等價類的分類:,有效等價類,:是指對于程序的規(guī)格說明來說,是合理的,有意義的輸入數(shù)據(jù)構(gòu)成的集合。,無效等價類,:是指對于程序的規(guī)格說明來說,是不合理的,無意義的輸入數(shù)據(jù)構(gòu)成的集合。,1.,等價類劃分,2023/10/106等價類的分類:1.等價類劃分,2024/11/19,7,數(shù)學(xué)含義,A=X=B,C=Y=D,等價類劃分的原則,2023/10/107數(shù)學(xué)含義等價類劃分的原則,例如:,每個學(xué)生可選修1-3門課程,可以劃分一個有效等價類:選修1-3門課程。,可以劃分兩個無效等價類:未選修課,選修課超過3門。,8,例如:每個學(xué)生可選修1-3門課程8,確立等價類測試用例,2024/11/19,9,確立了等價類之后,建立等價類表,列出所有劃分出的等價類。,確立等價類測試用例2023/10/109確立了等價類之后,建,確立等價類測試用例,2024/11/19,10,再從劃分出的等價類中按以下原則選擇測試用例:,為每一個等價類規(guī)定一個唯一編號;,設(shè)計一個新的測試用例,使其,盡可能多地,覆蓋尚未被覆蓋的,有效,等價類,重復(fù)這一步,直到所有的有效等價類都被覆蓋為止;,設(shè)計一個新的測試用例,使其,僅覆蓋一個,尚未被覆蓋的,無效,等價類,重復(fù)這一步,直到所有的無效等價類都被覆蓋為止。,確立等價類測試用例2023/10/1010再從劃分出的等價類,2024/11/19,11,在某一,PASCAL,語言版本中規(guī)定:,“標(biāo)識符是由字母開頭,后跟字母或數(shù)字的任意組合構(gòu)成。有效字符數(shù)為,8,個,最大字符數(shù)為,80,個?!?并且規(guī)定:,“標(biāo)識符必須先說明,再使用。”“在同一說明語句中,標(biāo)識符至少必須有一個?!?舉例,2023/10/1011在某一PASCAL語言版本中規(guī)定:,2024/11/19,12,建立輸入等價類表,舉例,2023/10/1012建立輸入等價類表舉例,2024/11/19,13,下面選取了,9,個測試用例,它們覆蓋了所有的等價類。,VAR x,,,T1234567,:,REAL,;,BEGIN x:=3.414,;,T1234567:=2.732,;,.,(1),(2),(4),(8),(9),(12),(14),VAR,:,REAL,;,(3),VAR x,,:,REAL;,(5),舉例,2023/10/1013下面選取了9個測試用例,它們覆蓋了所,2024/11/19,14,VAR T12345678 REAL,;,(6),VAR T12345.REAL,;,(7),多于,80,個字符,VAR T$,:,CHAR,;,(10),VAR GOTO,:,INTEGER,;,(11),VAR 2T,:,REAL,;,(13),VAR PAR,:,REAL,;,(15),BEGIN .,PAP:=SIN(3.14*0.8)/6,;,舉例,2023/10/1014 VAR T12345678,2.,邊界值分析,2024/11/19,15,基本思想:,選擇等價類的邊緣值作為測試用例,讓每個等價類的邊界都得到測試,選擇測試用例既考慮,輸入,亦考慮,輸出,。,分析步驟:,A,、先劃分等價類。,B,、選擇測試用例,測試等價類邊界。,使用邊界值分析方法設(shè)計測試用例,首先應(yīng)確定邊界情況。應(yīng)當(dāng)選取,正好等于,,,剛剛大于,,或,剛剛小于,邊界的值做為測試數(shù)據(jù),而不是選取等價類中的典型值或任意值做為測試數(shù)據(jù)。,2.邊界值分析2023/10/1015基本思想:選擇等價類的,2.,邊界值分析,2024/11/19,16,數(shù)學(xué)含義,A=X=B,C=Y 1,AND,B=0,X:=X/A,A=2,OR,X1,X:=X+1,a,b,c,d,e,滿足語句覆蓋的情況:,執(zhí)行路徑:ace,選擇用例:,(2,0,4),(2,0,3),ace,用例格式:,輸入(A,B,X),輸出(A,B,X),Y,N,Y,N,31,1、語句覆蓋使得程序中每個語句至少都能被執(zhí)行一次。A1X:,2,、判定覆蓋,使得程序中每個判定至少為,TRUE,或,FALSE,各一次。,A1,AND,B=0,X:=X/A,A=2,OR,X1,X:=X+1,a,b,c,d,e,覆蓋情況:,應(yīng)執(zhí)行路徑,ace,abd,或:,acd,abe,選擇用例(其一):,(2,0,4),(2,0,3)ace,(1,1,1),(1,1,1)abd,(2,1,1),(2,1,2)abe,(3,0,3),(3,1,1)acd,Y,Y,N,N,32,2、判定覆蓋使得程序中每個判定至少為TRUE 或FALSE各,3,、條件覆蓋,使得判定中的每個條件獲得各種可能的結(jié)果。,應(yīng)滿足以下覆蓋情況:,判定一:A1,A,1,B=0,B,0,判定二:A=2,A,2,X1,X1,選擇用例:,(2,0,4),(2,0,3),ace,(1,1,1),(1,1,1),abd,注意:,(1,0,3),(1,0,4),abd,(2,1,1),(2,1,2),abe,滿足條件覆蓋,但不滿足判定覆蓋。,A1,AND,B=0,X:=X/A,A=2,OR,X1,X:=X+1,a,b,c,d,e,Y,Y,N,N,33,3、條件覆蓋使得判定中的每個條件獲得各種可能的結(jié)果。應(yīng)滿足以,4,、判定,/,條件覆蓋,同時滿足判斷覆蓋和條件覆蓋。,應(yīng)滿足以下覆蓋情況:,條件:A1,A,1,B=0,B,0,A=2,A,2,X1,X1,應(yīng)執(zhí)行路徑,ace,abd,或:,acd,abe,選擇用例:,(2,0,4),(2,0,3)(ace),(1,1,1),(1,1,1)(abd),A1,AND,B=0,X:=X/A,A=2,OR,X1,X:=X+1,a,b,c,d,e,Y,Y,N,N,34,4、判定/條件覆蓋同時滿足判斷覆蓋和條件覆蓋。應(yīng)滿足以下覆,5,、條件組合覆蓋,使得每個判定中條件的各種可能組合都至少出現(xiàn)一次。,A1,X:=X/A,A=2,X:=X+1,a,b,c,d,e,B=0,X1,Y,N,Y,N,Y,N,Y,N,滿足以下覆蓋情況:,A1,B=0 ,A1,B,0,A,1,B=0 ,A,1,B0,A=2,X1,A=2,X1,A,2,X1,A,2,X1,選擇用例:,(2,0,4),(2,0,3),(2,1,1),(2,1,2),(1,0,3),(1,0,4),(1,1,1),(1,1,1),35,5、條件組合覆蓋使得每個判定中條件的各種可能組合都至少出現(xiàn)一,6.,路徑測試,36,路徑測試就是設(shè)計足夠的測試用例,,覆蓋程序中所有可能的路徑,。,測 試 用 例,通過路徑,覆蓋條件,【(2,0,4),(2,0,3)】,ace(L1),【(1,1,1),(1,1,1)】,abd,(L2),【(1,1,2),(1,1,3)】,abe,(L3),【(3,0,3),(3,0,1)】,acd,(L3),A1,AND,B=0,X:=X/A,A=2,OR,X1,X:=X+1,a,b,c,d,e,Y,N,Y,N,6.路徑測試36路徑測試就是設(shè)計足夠的測試用例,覆蓋程序中所,