




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、2022-6-26第七章第七章 軟件測試軟件測試 在開發(fā)軟件的過程中,我們使用了保證軟件質(zhì)量在開發(fā)軟件的過程中,我們使用了保證軟件質(zhì)量 的方法分析、設(shè)計(jì)和實(shí)現(xiàn)軟件,但難免還會(huì)在工作中的方法分析、設(shè)計(jì)和實(shí)現(xiàn)軟件,但難免還會(huì)在工作中 犯錯(cuò)誤。這樣,在軟件產(chǎn)品中就會(huì)隱藏著許多錯(cuò)誤和犯錯(cuò)誤。這樣,在軟件產(chǎn)品中就會(huì)隱藏著許多錯(cuò)誤和 缺陷缺陷 。特別是對于規(guī)模大、。特別是對于規(guī)模大、 復(fù)雜性高的軟件更是如復(fù)雜性高的軟件更是如 此。在這些錯(cuò)誤中,有些是致命性的錯(cuò)誤如果不排除此。在這些錯(cuò)誤中,有些是致命性的錯(cuò)誤如果不排除 ,就會(huì)導(dǎo)致生命與財(cái)產(chǎn)的重大損失。,就會(huì)導(dǎo)致生命與財(cái)產(chǎn)的重大損失。DO 5 I =1 3D
2、O 5 I =1 32022-6-268.1 軟件測試的基礎(chǔ) 軟件測試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程。或者 說,軟件測試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序 內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)的一批測試用例(即輸入數(shù)據(jù)及預(yù) 期的輸出結(jié)果),并利用這些測試用例去運(yùn)行程序,以 發(fā)現(xiàn)程序錯(cuò)誤的過程。什么是軟件測試2022-6-26 測試工具軟件開發(fā)工程師(Software Development Engineer in Test,簡稱SDE/T)軟件測試人員 軟件測試工程師(Software Test Engineer ,簡稱STE)2022-6-26SDE/T 負(fù)責(zé)寫測試工具代碼,并利用測試工具對軟件進(jìn)行測試;或
3、者開發(fā)測試工具為軟件測試工程師服務(wù)。2022-6-26負(fù)責(zé)理解產(chǎn)品的功能要求,然后對其進(jìn)行測試,檢查軟件有沒有錯(cuò)誤(),決定軟件是否具有穩(wěn)定性,并寫出相應(yīng)的測試規(guī)范和測試案例。STE 2022-6-26項(xiàng)目經(jīng)理25人約 250人開發(fā)人員140人約 1700人測試人員350人約 3200人測試人員/開發(fā)人員2: 51: 9Exchange 2000 和 Windows 2000 的人員結(jié)構(gòu) 2022-6-26Exchange 2000項(xiàng)目經(jīng)理25人開發(fā)人員140人測試人員350人測試人員/開發(fā)人員2: 52022-6-26軟件測試人員的任務(wù)很清楚,就是站在使用者的角度上,通過不斷地使用和攻擊剛開
4、發(fā)出來的軟件產(chǎn)品盡量多地找出產(chǎn)品存在的問題,也就是我們所稱的 Bug 。2022-6-26測試軟件配置結(jié)果分析測試結(jié)果測試結(jié)果排錯(cuò)改正的軟件預(yù)期結(jié)果可靠性分析預(yù)測的可靠性錯(cuò)誤出錯(cuò)率數(shù)據(jù)測試配置測試工具 軟件測試信息流2022-6-26 軟件測試并不等于程序測試。軟件測試應(yīng)貫穿于軟件 定義與開發(fā)的整個(gè)期間。因此,需求分析、概要設(shè)計(jì)、詳 細(xì)設(shè)計(jì)以及程序編碼等所得到的文檔資料,包括需求規(guī)格 說明、概要設(shè)計(jì)說明、詳細(xì)設(shè)計(jì)規(guī)格說明以及源程序,都 應(yīng)成為軟件測試的對象。 軟件測試的對象2022-6-26 軟件開發(fā)過程是一個(gè)自頂向下、逐步細(xì)化的過 程,而測試則是依相反的順序安排的,自底向上、 逐步集成的過程
5、。低一級為上一級測試準(zhǔn)備條件。 測試與軟件開發(fā)階段的關(guān)系2022-6-26 需求分析 設(shè) 計(jì) 編 碼 單元測試 集成測試 確認(rèn)測試 2022-6-268.2 軟件測試設(shè)計(jì)的方法 軟件的測試設(shè)計(jì)與軟件產(chǎn)品的設(shè)計(jì)一樣,是一項(xiàng)需要 花費(fèi)許多人力和時(shí)間的工作,我們希望以最少量的時(shí)間和 人力,最大可能地發(fā)現(xiàn)最多的錯(cuò)誤。測試技術(shù)1、白盒測試(White Box Testing)2、黑盒測試(Black Box Testing)2022-6-26 也叫玻璃盒測試(Glass Box Testing)。 對軟件的過程性細(xì)節(jié)做細(xì)致的檢查。這一方法是把測試對象 看作一個(gè)打開的盒子,它允許測試人員利用程序內(nèi)部的邏輯
6、 結(jié)構(gòu)及有關(guān)信息,來設(shè)計(jì)或選擇測試用例,對程序所有邏輯 路徑進(jìn)行測試。 白盒測試(White Box Testing)2022-6-26白盒測試的內(nèi)容對程序模塊的所有獨(dú)立執(zhí)行路徑至少測試一次對所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測試一次。 在循環(huán)的邊界和運(yùn)行邊界限內(nèi)執(zhí)行循環(huán)體 測試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。 2022-6-26 已知產(chǎn)品的功能設(shè)計(jì)規(guī)格,可以進(jìn)行測試證明每個(gè)實(shí)現(xiàn)了的功能是否符合要求。 黑盒測試(Black Box Testing)2022-6-26黑盒測試的內(nèi)容 Alpha/Beta Testing菜單/幫助測試發(fā)行測試回歸測試2022-6-268.3 白盒測試用例的
7、設(shè)計(jì) 邏輯覆蓋測試方法通常采用流程圖來設(shè)計(jì)測試用例,它考察的重點(diǎn)是圖中的判定框,因?yàn)檫@些判定通常是與選擇結(jié)構(gòu)有關(guān)或是與循環(huán)結(jié)構(gòu)有關(guān),是決定程序結(jié)構(gòu)的關(guān)鍵成分。 一、邏輯覆蓋法2022-6-26發(fā)現(xiàn)錯(cuò)誤的能力標(biāo) 準(zhǔn)含 義(弱)語句覆蓋每條語句至少執(zhí)行一次判定覆蓋每一判定的每個(gè)分支至少執(zhí)行一次條件覆蓋每一判定中的每個(gè)條件,分別按“真”、“假”至少各執(zhí)行一次判定/條件覆蓋同時(shí)滿足判定覆蓋和條件覆蓋的要求(強(qiáng)) 條件組合覆蓋求出判定中所有條件的各種可能組合值,每一可能的條件組合至少執(zhí)行一次 邏輯覆蓋測試的5種標(biāo)準(zhǔn) 2022-6-26覆蓋標(biāo)準(zhǔn)程序結(jié)構(gòu)舉例測試用例應(yīng)滿足的條件語句覆蓋AB=.T.判定覆蓋A
8、B=.T.AB=.F.TFTF2022-6-26覆蓋標(biāo)準(zhǔn)程序結(jié)構(gòu)舉例測試用例應(yīng)滿足的條件條件覆蓋A=.T. A=.F.B=.T. B=.F.判定/條件覆蓋AB=.T. , AB=.F.A=.T. A=.F. B=.T. B=.F.條件組合覆蓋 A=.T. B=.T. A=.T. B=.F.A=.F. B=.TA=.F. B=.F.TFTFTF2022-6-26輸出的: A,B,X語句覆蓋(A1) (B=0)X=X/ATF(A=2) V (X1)X=X+1TF輸入的: A,B,X2,0,42,0,3滿足語句覆蓋的測試用例如下-2022-6-26判定覆蓋(分支覆蓋) 所謂的判定覆蓋就是設(shè)計(jì)若干個(gè)測
9、試用 例,運(yùn)行被測程序,使得程序中每個(gè)判斷的 取真真分支和取假假分支至少經(jīng)歷一次。2022-6-26(A1) (B=0)X=X/ATF(A=2) V (X1)X=X+1TF2,0,42,0,3取“真”分支測試用例如下-1,1,11,1,1取“假”分支測試用例如下2022-6-262,1,12,1,2取“真假”分支測試用例如下-(A1) (B=0)X=X/ATF(A=2) V (X1)X=X+1TF2022-6-263,0,33,0,1取“真假”分支測試用例如下(A1) (B=0)X=X/ATF(A=2) V (X1)X=X+1TF-2022-6-26條件覆蓋所謂的條件覆蓋就是設(shè)計(jì)若干個(gè)測試用例
10、,運(yùn)行被測程序,使得程序中每個(gè)判斷的每個(gè)條件的可能取值至少執(zhí)行一次。 2022-6-26(A1) (B=0)X=X/ATF(A=2) V (X1)X=X+1TF判斷條件取真值取假值判斷(一)A1T1T1B=0T2T2判斷(二)A=2T3T3X1T4T4設(shè)條件的取值標(biāo)記2022-6-26(A1) (B=0)X=X/ATF(A=2) V (X1)X=X+1TF判斷判斷條件條件取真值取真值取假值取假值判斷判斷( (一一) )A1T1T1B=0T2T2判斷判斷( (二二) )A=2T3T3X1T4T4設(shè)條件的取值標(biāo)記 條件覆蓋可選取的 (第一組測試用例)如下表 測試用例通過路徑條件取值覆蓋分支 202
11、2-6-26(A1) (B=0)X=X/ATF(A=2) V (X1)X=X+1TF判斷判斷條件條件取真值取真值取假值取假值判斷判斷( (一一) )A1T1T1B=0T2T2判斷判斷( (二二) )A=2T3T3X1T4T4設(shè)條件的取值標(biāo)記 條件覆蓋可選取的 (第二組測試用例)如下表 測試用例通過路徑條件取值覆蓋分支 2022-6-26判定/條件覆蓋 所謂的判定/條件覆蓋就是設(shè)計(jì)足夠的測試用 例,使得 判斷中每個(gè)條件的所有可能取值至少執(zhí) 行一次, 同時(shí)每個(gè)判斷本身的所有可能判斷結(jié)果 至少執(zhí)行一次。 2022-6-26(A1) (B=0)X=X/ATF(A=2) V (X1)X=X+1TF判斷判
12、斷條件條件取真值取真值取假值取假值判斷判斷( (一一) )A1T1T1B=0T2T2判斷判斷( (二二) )A=2T3T3X1T4T4設(shè)條件的取值標(biāo)記 判定/ /條件覆蓋可選取的 測試用例 如下表 測試用例通過路徑條件取值覆蓋分支 2022-6-26條件組合覆蓋 所謂的 條件組合覆蓋就是設(shè)計(jì)足夠的測試用 例,運(yùn)行被測程序,使得 每個(gè)判斷的所有可能的 條件取值組合至少執(zhí)行一次。2022-6-26條件標(biāo)記第一個(gè)判斷取真假分支 (A1) (B=0)X=X/ATF(A=2) V (X1)X=X+1TFA1B=0A1B 0A 1B = 0A 1B 0判斷判斷條件條件取真值取真值取假值取假值判斷判斷( (
13、一一) )A1T1T1B=0T2T2判斷判斷( (二二) )A=2T3T3X1T4T4設(shè)條件的取值標(biāo)記 取真分支 取假分支 取假分支 取假分支2022-6-26條件標(biāo)記第二個(gè)判斷取真假分支 (A1) (B=0)X=X/ATF(A=2) V (X1)X=X+1TFA=2X1A=2X1A 2X 1A 2X1判斷判斷條件條件取真值取真值取假值取假值判斷判斷( (一一) )A1T1T1B=0T2T2判斷判斷( (二二) )A=2T3T3X1T4T4設(shè)條件的取值標(biāo)記 取真分支 取真分支 取真分支 取假分支2022-6-26設(shè)條件的取值標(biāo)記測試用例通過路徑條件取值覆蓋組合號(hào) 條件標(biāo)記第一個(gè)判斷取第一個(gè)判斷
14、取真假真假分支分支 取真分支 取假分支 取假分支 取假分支(2,0,4),(2,0,3)ace T1 T2 T3 T4(2,1,1),(2,1,2)abe T1 T2 T3 T4(1,0,3),(1,0,4)abe T1 T2 T3 T4(1,1,1),(1,1,1)abd T1 T2 T3 T42022-6-26 路徑測試就是設(shè)計(jì)足夠的測試用例,覆蓋程序中每一條可能的程序執(zhí)行路徑至少測試一次,如果程序中含有循環(huán)(在程序圖中表現(xiàn)為環(huán))則每個(gè)循環(huán)至少執(zhí)行一次。 二、路徑測試法2022-6-26abcde(A1) (B=0)X=X/ATF(A=2) V (X1)X=X+1TF點(diǎn)覆蓋邊覆蓋不但包含了
15、語句覆蓋語句覆蓋同時(shí)也滿足了判定覆蓋判定覆蓋(在程序圖上分別稱為點(diǎn)覆蓋與邊覆蓋)2022-6-26判斷判斷條件條件取真值取真值取假值取假值判斷判斷( (一一) )A1T1T1B=0T2T2判斷判斷( (二二) )A=2T3T3X1T4T4 路徑測試可選取的 測試用例 如下表 測試用例通過路徑條件取值 ace abd abe acd (2,0,4),(2,0,3)T1 T2 T3 T4(1,1,1),(1,1,1)(1,1,2),(1,1,3)(3,0,3),(3,0,1)T1 T2 T3 T4T1 T2 T3 T4T1 T2 T3 T42022-6-26測試路徑覆蓋結(jié)點(diǎn)/邊覆蓋標(biāo)準(zhǔn) 點(diǎn)覆蓋 邊
16、覆蓋 路徑覆蓋 根據(jù)左側(cè)給出的程序圖,請?zhí)顚懴铝斜?022-6-268.4 黑盒測試用例的設(shè)計(jì) 黑盒測試法是根據(jù)被測程序功能來進(jìn)行測試,所以通常也稱為功能測試。用黑盒測試法設(shè)計(jì)測試用例,有4 種常用技術(shù): 等價(jià)分類法 邊界值分析 錯(cuò)誤猜測法 因果圖法2022-6-26一、等價(jià)分類法 所謂等價(jià)分類,就是把輸入數(shù)據(jù)的可能值劃分為 若干等價(jià)類(等價(jià)類是指某個(gè)輸入域的子集合。 在該 集合中,各個(gè)輸入數(shù)據(jù)對于揭露程序中的錯(cuò)誤都是等 價(jià)的)。 因此,可以把全部輸入數(shù)據(jù)合理地劃分為若 干等價(jià)類,在每一個(gè)等價(jià)類中取一個(gè)數(shù)據(jù)作為測試的 輸入條件,這樣就可以少量的代表性測試數(shù)據(jù),來取 得較好的測試結(jié)果。 2022
17、-6-26 是指對于程序的規(guī)格說明來說,是合理的 有意義的輸入數(shù)據(jù)構(gòu)成的集合。利用它可以檢 驗(yàn)程序是否實(shí)現(xiàn)預(yù)先規(guī)定的功能和性能。 有效等價(jià)類 2022-6-26 是指對于程序的規(guī)格說明來說,是不合理 的,是無意義的輸入數(shù)據(jù)構(gòu)成的集合。程序員 主要利用這一類測試用例來檢查程序中功能和 性能的實(shí)現(xiàn)是否不符合規(guī)格說明要求。 無效等價(jià)類 2022-6-26 1、如果輸入條件規(guī)定了取值范圍,或者是值 的個(gè)數(shù),則可以確立一個(gè)有效等價(jià)類和兩個(gè)無效 等價(jià)類。確定等價(jià)類的原則:例如: 序號(hào)值可以從 1到999 一個(gè)有效等價(jià)類: 1 序號(hào)值 999 兩個(gè)無效等價(jià)類: 序號(hào)值 999 2022-6-26 2、如果輸
18、入條件規(guī)定了輸入值的集合,或 者是規(guī)定了“必須如何”的條件,這時(shí) 可確立一 個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類。例如:在 C 語言中對變量標(biāo)識(shí)符規(guī)定為 “以字母打頭的 串”。 所有以字母打頭的構(gòu)成為有效等價(jià) 類; 而不在此集合內(nèi)(不以字母打頭)歸于無價(jià)等 價(jià)。2022-6-26 3、如果輸入條件是一個(gè)布爾量,則可以確 定一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類。2022-6-26 4、如果規(guī)定了輸入數(shù)據(jù)是一組值, 而且程 序要對每個(gè)輸入值分別進(jìn)行處理。這時(shí)可為每一 個(gè)輸入值確立一個(gè)有效等價(jià)類此外再針對這組確 立一個(gè)無效等價(jià)類,它應(yīng)是所有不允許輸入值的 集合。例如:在教師分房方案中規(guī)定對教授、副教授、講師 和助
19、教分別計(jì)算分?jǐn)?shù),做相應(yīng)的處理。因此可 以確定 個(gè)有效等價(jià)類為教授、 副教授、講師 和助教,以及 個(gè)無效等價(jià)類它應(yīng)是所有不符 合以上身份的人員的輸入值的集合。2022-6-26 5、如果規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī) 則,則可以確定一個(gè)有效等價(jià)類(符合規(guī)則) ,和若干個(gè)無效等價(jià)類(從不同角度違反則)。 例如:在語言中規(guī)定了“一個(gè)語句必須以分號(hào) 作為結(jié)束”,這時(shí),可以確定一個(gè)有效等價(jià) 類,以 “;”結(jié)束,而若干個(gè)無效等價(jià)類應(yīng) 以“” 等。2022-6-26 1、劃分等價(jià)類不僅要要考慮代表“有效”輸 入值的有效等價(jià)類,還需考慮代表 “無效”輸入 值的無效等價(jià)類。采用這一技術(shù)要注意以下兩點(diǎn): 2、每一無效
20、等價(jià)類至少要用一個(gè)測試用例 ,不然就可能漏掉某一類錯(cuò)誤,但允許若干有 效等價(jià)類合用同一個(gè)測試用例,以便進(jìn)一步減 少測試的次數(shù)。 2022-6-26二、確立測試用例輸入條件有效等價(jià)類無效等價(jià)類2022-6-26確立測試用例原則 為每一個(gè)等價(jià)類規(guī)定一個(gè)唯一的編號(hào)。 設(shè)計(jì)一個(gè)新的測試用例,使其盡可能地覆蓋尚未被覆蓋的有效等價(jià)類,重復(fù)這一步,直到所有的有效等價(jià)類都被覆蓋為止。 設(shè)計(jì)一個(gè)新的測試用例,使其僅覆蓋尚未被覆蓋的無效等價(jià)類,重復(fù)這一步,直到所有的無效等價(jià)類都被覆蓋為止。 2022-6-26 在某一個(gè)PASCAL 語言版本中規(guī)定 1、標(biāo)識(shí)符是由字母開頭,后跟字母或數(shù)字 的任意組合構(gòu)成。有效字符數(shù)
21、為8個(gè),最大 字符數(shù)為80 個(gè); 2、標(biāo)識(shí)符必須先說明,后使用; 3、在同一個(gè)說明語句中,標(biāo)識(shí)符至少必須 有一個(gè)。 請利用等價(jià)分類法為以下提供的內(nèi)容設(shè)計(jì)測試用例2022-6-26輸入條件有效等價(jià)類無效等價(jià)類標(biāo)識(shí)符個(gè)數(shù)標(biāo)識(shí)符字符數(shù)標(biāo)識(shí)符組成第一個(gè)字符標(biāo)識(shí)符使用1個(gè),多個(gè)0個(gè) 1個(gè)0個(gè)字母,數(shù)字非字母數(shù)字字符,數(shù)字字母 非字母 先說明后使用 未說明已使用 2022-6-26輸入條件有效等價(jià)類無效等價(jià)類標(biāo)識(shí)符個(gè)數(shù)1個(gè),多個(gè)0個(gè) 標(biāo)識(shí)符字符數(shù)1個(gè)0個(gè)標(biāo)識(shí)符組成字母,數(shù)字非字母數(shù)字字符,保留字第一個(gè)字符字母非字母 標(biāo)識(shí)符使用先說明后使用未說明已使用 VAR x, T1234567: REAL; BEGI
22、N x:=3.414; T1234567:=2.732; 2022-6-26輸入條件有效等價(jià)類無效等價(jià)類標(biāo)識(shí)符個(gè)數(shù)1個(gè),多個(gè)0個(gè) 標(biāo)識(shí)符字符數(shù)1個(gè)0個(gè)標(biāo)識(shí)符組成字母,數(shù)字非字母數(shù)字字符,保留字第一個(gè)字符字母非字母 標(biāo)識(shí)符使用先說明后使用未說明已使用 VAR : REAL; VAR T12345678: REAL; VAR T$: CHAR; VAR GOTO: INTEGER; (11)2022-6-26輸入條件有效等價(jià)類無效等價(jià)類標(biāo)識(shí)符個(gè)數(shù)1個(gè),多個(gè)0個(gè) 標(biāo)識(shí)符字符數(shù)1個(gè)0個(gè)標(biāo)識(shí)符組成字母,數(shù)字非字母數(shù)字字符,保留字第一個(gè)字符字母非字母 標(biāo)識(shí)符使用先說明后使用未說明已使用 VAR 2T: R
23、EAL; (13) VAR PAR: REAL; BEGIN PAP:=SIN(3.14*0.8)/6; (15)2022-6-26 某工廠公開招工,規(guī)定報(bào)名者年齡應(yīng)在周歲之間(到1995年6月30日為止),即出生年月不早于1960年7月,不晚于1979年6月。 報(bào)名程序具有自動(dòng)檢驗(yàn)輸入數(shù)據(jù)的功能。如出生年月不在上述范圍內(nèi), 將拒絕接受,并顯示“年齡不合格”等出錯(cuò)信息。 請?jiān)囉玫葍r(jià)分類法, 設(shè)計(jì)出生年月的等價(jià)分類表 。二、請利用等價(jià)分類法為以下提供的內(nèi)容設(shè)計(jì)測試用例2022-6-26 假定已知出生年月是由 6 位數(shù)字字符表示,前4 位代表年,后2 位代表月,則可以劃分為 3 個(gè)有效等價(jià)類和 7
24、 個(gè)無效等價(jià)類。1、劃分出生年月等價(jià)分類表輸入數(shù)據(jù)有效等價(jià)類無效等價(jià)類出生年月 6位有效數(shù)字字符 有非數(shù)字字符 少于6個(gè)數(shù)字字符 多于6個(gè)數(shù)字字符 對應(yīng)數(shù)值 月份對應(yīng)數(shù)值 在1-12之間 等于 “0” 122022-6-262、設(shè)計(jì)有效等價(jià)類需要的測試用例輸入數(shù)據(jù)有效等價(jià)類無效等價(jià)類出生年月 6位有效數(shù)字字符 有非數(shù)字字符 少于6個(gè)數(shù)字字符 多于6個(gè)數(shù)字字符 對應(yīng)數(shù)值 月份對應(yīng)數(shù)值 在1-12之間 等于 “0” 12測試數(shù)據(jù)期望結(jié)果測試范圍 197011輸入有效2022-6-26輸入數(shù)據(jù)有效等價(jià)類無效等價(jià)類出生年月 6位有效數(shù)字字符 有非數(shù)字字符 少于6個(gè)數(shù)字字符多于6個(gè)數(shù)字字符 對應(yīng)數(shù)值 月
25、份對應(yīng)數(shù)值 在1-12之間 等于 “0” 12測試數(shù)據(jù)期望結(jié)果測試范圍 輸入無效 有非數(shù)字字符輸入無效輸入無效 少于6個(gè)數(shù)字字符年齡不合格年齡不合格輸入無效輸入無效 多于6個(gè)數(shù)字字符 197906 等于 “0” 123、為每一個(gè)無效等價(jià)類至少設(shè)計(jì)一個(gè)測試用例2022-6-26二、邊界值分析法 采用邊界值分析法來選擇測試用例,可使 得被測程序能在邊界值及其附近運(yùn)行,從而更 有效地暴露程序中潛藏的錯(cuò)誤。2022-6-26 If (196007 = value(birthdate) 35 周歲周歲 16周歲周歲196006197907不合格年齡月份對應(yīng)數(shù)值月份值為 1 月月份值為 12 月 1967
26、01 197412輸入有效月份值 12 196700 197413 輸入無效2022-6-261、等價(jià)分類法的測試數(shù)據(jù)是在各個(gè)等價(jià)類允許的值域內(nèi) 任意選取的,而邊界值分析法的測試數(shù)據(jù)必須在邊界 值附近選取。2、在公開招工的例子中,采用等價(jià)分類法設(shè)計(jì)了 個(gè)測試 用例而邊界值分析法則設(shè)計(jì)了個(gè), 所以,一般來說 ,用邊界值分析法設(shè)計(jì)的測試用例要比等價(jià)分類法的代 表性更廣,發(fā)現(xiàn)錯(cuò)誤的能力也更強(qiáng)。但是對邊界的分析 與確定比較復(fù)雜,它要求測試人員具有更多的經(jīng)驗(yàn)。等價(jià)分類法與邊界值分析法的比較2022-6-26三、錯(cuò)誤猜測法 所謂猜測,就是猜測被測程序在哪些地方容易 出錯(cuò),然后針對可能的薄弱環(huán)節(jié)來設(shè)計(jì)測試用
27、例。 顯然它比前兩種方法更多地依靠測試人員的直覺與 經(jīng)驗(yàn)。所以一般都先用前兩方法設(shè)計(jì)測試用例然后 再用猜測法去補(bǔ)充一些例子作為輔助的手段。2022-6-26四、因果圖法 因果圖是借助圖形來設(shè)計(jì)測試用例的一種系 統(tǒng)方法。它適用于被測程序具有多種輸入條件, 程序的輸出又依賴于輸入條件的各種組合的情況 因果圖是一種簡化了的邏輯圖,它能直觀地 表明程序輸入條件(原因)和輸出動(dòng)作(結(jié)果) 之間的相互關(guān)系。2022-6-26 測試方法的選用測試策略 1、在任何情況下都應(yīng)該使用邊界值 分析的方法。 2、必要時(shí)用等價(jià)類劃分法補(bǔ)充測試 方案。 3、必要時(shí)再用錯(cuò)誤猜測法補(bǔ)充測試 方案。 4、對照程序邏輯,檢查已經(jīng)
28、設(shè)計(jì)出 出的測試方案??梢愿鶕?jù)對程序 可靠性的要求采用不同的邏輯覆 蓋標(biāo)準(zhǔn),如果現(xiàn)有測試方案的邏 輯程度沒有達(dá)到要求的覆蓋標(biāo)準(zhǔn) 則應(yīng)再補(bǔ)充一些測試方案。2022-6-26 本章總結(jié) 策略種類黑盒測試白盒測試測試對象程序的功能程序的結(jié)構(gòu) 測試要求逐一驗(yàn)證程序的功能程序的每一組成部分至少被測試一次 采用技術(shù)等價(jià)分類法 邊界分析法錯(cuò)誤猜測法 因果圖法 邏輯覆蓋法 路徑測試法2022-6-261、利用因果圖產(chǎn)生測試用例的基本步驟 1、分析軟件規(guī)格說明書中,哪些是原因(即輸 入條件或輸入條件的等價(jià)類),哪些是結(jié)果(即 輸出條件)并給每個(gè)原因和結(jié)果賦予一個(gè)標(biāo)識(shí)。 2、分析軟件規(guī)格說明書中所描述的語義,找出
29、 原因與結(jié)果之間、原因與原因之間對應(yīng)的是什么 關(guān)系?根據(jù)這些關(guān)系畫出因果圖。 2022-6-26 3、由于語法或環(huán)境的限制,有些原因與原因 之間、原因與結(jié)果之間的組合情況不可能出現(xiàn) 。為表明這些特殊情況,在因果圖上用一些記 號(hào)標(biāo)明約束或限制條件。 4、把因果圖轉(zhuǎn)換為判斷表 5、把判斷表的每一列拿出來作為依據(jù),設(shè)計(jì) 測試用例。2022-6-262、在因果圖中出現(xiàn)的基本符號(hào)C1E1恒等: 表示原因與結(jié)果之間是一對一的 對應(yīng)關(guān)系。若原因出現(xiàn),則結(jié)果 出現(xiàn)。若原因不出現(xiàn),則結(jié)果也 不出現(xiàn)。 C1E1非: 表示原因與結(jié)果之間的一種否定關(guān) 系。若原因出現(xiàn),則結(jié)果不出現(xiàn)。 若原因不出現(xiàn),反而結(jié)果出現(xiàn)。通常在
30、因果圖中用通常在因果圖中用 CiCi 來表示原因,用來表示原因,用EiEi表示結(jié)果表示結(jié)果其基本符號(hào)如下圖所示。其中各其基本符號(hào)如下圖所示。其中各結(jié)點(diǎn)結(jié)點(diǎn)表示表示狀態(tài)狀態(tài),可取,可取值為值為“0 0”或或“1 1”?!? 0”表示表示某狀態(tài)不出現(xiàn)某狀態(tài)不出現(xiàn),“1 1”表示表示某某狀態(tài)出現(xiàn)狀態(tài)出現(xiàn)。主要的原因和結(jié)果之間的關(guān)系如下。主要的原因和結(jié)果之間的關(guān)系如下: :2022-6-26: 表示若幾個(gè)原因中有一個(gè)出 現(xiàn),則結(jié)果出現(xiàn),而當(dāng)這幾 個(gè)原因都不出現(xiàn)時(shí),結(jié)果才 不出現(xiàn)。 表示若幾個(gè)原因都出現(xiàn),則結(jié)果 才出現(xiàn)若幾個(gè)原因中有一個(gè)不出 現(xiàn),結(jié)果就不出現(xiàn)。2022-6-26第第9章章 軟件測試軟件測
31、試4、把因果圖轉(zhuǎn)換為判斷表把因果圖轉(zhuǎn)換為判斷表5、把判斷表的每一列拿出來作為依據(jù),設(shè)計(jì)測試用例把判斷表的每一列拿出來作為依據(jù),設(shè)計(jì)測試用例一、在一、在 因果圖中出現(xiàn)的基本符號(hào)因果圖中出現(xiàn)的基本符號(hào)通常在因果圖中用通常在因果圖中用 CiCi 來表示原因,用來表示原因,用EiEi表示結(jié)果表示結(jié)果其基本符號(hào)如下圖所示。其中各其基本符號(hào)如下圖所示。其中各結(jié)點(diǎn)結(jié)點(diǎn)表示表示狀態(tài)狀態(tài),可取,可取值為值為“0 0”或或“1 1”。“0 0”表示表示某狀態(tài)不出現(xiàn)某狀態(tài)不出現(xiàn),“1 1”表示表示某某狀態(tài)出現(xiàn)狀態(tài)出現(xiàn)。主要的原因和結(jié)果之間的關(guān)系如下。主要的原因和結(jié)果之間的關(guān)系如下: :2022-6-26第第9章章
32、軟件測試軟件測試舉例舉例 設(shè)有一個(gè)處理單價(jià)為設(shè)有一個(gè)處理單價(jià)為5 5角錢飲料自動(dòng)售貨機(jī)角錢飲料自動(dòng)售貨機(jī)其規(guī)格說明為,若投入其規(guī)格說明為,若投入5 5角錢角錢或或1 1元錢元錢的硬幣的硬幣 ,再按下,再按下橙汁橙汁或或啤酒按鈕啤酒按鈕,則相應(yīng)的飲料就送出來;若售貨機(jī),則相應(yīng)的飲料就送出來;若售貨機(jī) 沒有另錢沒有另錢找找,則一個(gè)顯示,則一個(gè)顯示另錢已找完另錢已找完的的紅燈亮紅燈亮,這時(shí)在投入,這時(shí)在投入1 1元硬幣元硬幣并按下按鈕后,飲料不送出來而且并按下按鈕后,飲料不送出來而且1 1元硬幣也退出來元硬幣也退出來; ;若有另錢若有另錢找,則應(yīng)顯示找,則應(yīng)顯示零錢找完零錢找完的紅燈滅的紅燈滅, 在
33、送出飲料的同時(shí)退還在送出飲料的同時(shí)退還5 5角硬幣。角硬幣。2022-6-26第第9章章 軟件測試軟件測試?yán)靡蚬麍D設(shè)計(jì)測試用例的步驟利用因果圖設(shè)計(jì)測試用例的步驟1 1、分析這一段說明,列出原因和結(jié)果、分析這一段說明,列出原因和結(jié)果序號(hào)序號(hào)原原 因因序號(hào)序號(hào)結(jié)結(jié) 果果1.售貨機(jī)有零錢找售貨機(jī)有零錢找2.1售貨機(jī)售貨機(jī) 零錢找完零錢找完燈亮燈亮2.投入投入1元硬幣元硬幣2.2退還退還1元硬幣元硬幣3.投入投入5角硬幣角硬幣2.3退還退還5角硬幣角硬幣4.按下橙汁按鈕按下橙汁按鈕2.4送出橙汁飲料送出橙汁飲料5.按下啤酒按鈕按下啤酒按鈕2.5送出啤酒飲料送出啤酒飲料2022-6-26第第9章章 軟
34、件測試軟件測試2 2、畫出因果圖、畫出因果圖序號(hào)序號(hào)中間結(jié)點(diǎn)中間結(jié)點(diǎn)11投入投入1元硬幣且按下飲料按鈕元硬幣且按下飲料按鈕12按下橙汁或啤酒的按鈕按下橙汁或啤酒的按鈕13應(yīng)當(dāng)找應(yīng)當(dāng)找5角零錢并且售貨機(jī)有零錢找角零錢并且售貨機(jī)有零錢找14錢已付請錢已付請21 1.22 224254.5.按下按鈕按下按鈕該找該找5角角錢已付清錢已付清可找可找5角角售貨機(jī)有售貨機(jī)有零錢找零錢找投入投入1元元硬幣硬幣投入投入5 角角硬幣硬幣按下橙汁按下橙汁按鈕按鈕按下啤酒按下啤酒按鈕按鈕售貨機(jī)售貨機(jī)“零錢零錢找完找完”燈亮燈亮退還退還1元元硬幣硬幣退還退還5角角硬幣硬幣送出橙汁送出橙汁飲料飲料送出啤酒送
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報(bào)書 周以華
- 初中課題立項(xiàng)申報(bào)書
- 廠房委托招商合同范本
- 省級高校教改課題申報(bào)書
- 醫(yī)療維修托管合同范本
- 咨詢產(chǎn)品服務(wù)合同范本
- 美學(xué)課題申報(bào)書格式要求
- 研究生課題申報(bào)書分工
- 出境加工合同范例
- 關(guān)于郵寄合同范本
- 中醫(yī)接診能力培訓(xùn)
- 《特種設(shè)備安全管理員》考試通關(guān)題庫(600題 含參考答案)
- 醫(yī)院意識(shí)形態(tài)培訓(xùn)課件
- 2025年山東核電有限公司招聘筆試參考題庫含答案解析
- 2025年醫(yī)院科教工作計(jì)劃
- 《亞洲概況及東亞》課件
- 河北交投物流有限公司所屬公司招聘筆試沖刺題2025
- 2025年上半年江西宜春市事業(yè)單位招聘工作人員651人重點(diǎn)基礎(chǔ)提升(共500題)附帶答案詳解
- 2024-2025學(xué)年高一上學(xué)期期末數(shù)學(xué)試卷(新題型:19題)(基礎(chǔ)篇)(含答案)
- 初三心理健康 教育課件
- 高血壓課件教學(xué)課件
評論
0/150
提交評論