




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、黑盒測(cè)試與白盒測(cè)試 黑盒測(cè)試 所謂黑盒測(cè)試是指在完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程的前提下,在程序接口進(jìn)行的測(cè)試,它只檢查程序功能是否能按照規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮茌斎霐?shù)據(jù)產(chǎn)生正確的輸出信息,并且保持外部信息的完整性。因此,又稱為功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)。 黑盒測(cè)試主要為發(fā)現(xiàn)以下幾類錯(cuò)誤: 是否有不正確和遺漏了的功能? 在接口上,輸入是否正確地接受,是否輸出正確的結(jié)果? 是否有數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部信息訪問錯(cuò)誤? 性能上是否滿足要求? 是否初始化或終止性錯(cuò)誤? 黑盒測(cè)試 例:設(shè)有一個(gè)程序需要三個(gè)整數(shù)型的輸入數(shù)據(jù),如果計(jì)算機(jī)字長(zhǎng)16位,則每個(gè)整數(shù)可能取的值有216個(gè),三個(gè)輸入數(shù)據(jù)的各
2、種可能值的排列組合共有 21621621624831014種 也就是說,大約需要把這個(gè)程序執(zhí)行31014次才能做到“窮盡”測(cè)試。假定每執(zhí)行一次程序需要一毫秒,執(zhí)行這么多次大約需要一萬年;不僅測(cè)試時(shí)間長(zhǎng)得叫人不可思議,測(cè)試得出的輸出數(shù)據(jù)更是多得叫人完全無法分析。 黑盒測(cè)試技術(shù) 等價(jià)類劃分 邊界值分析 因果圖分析 錯(cuò)誤猜測(cè) 狀態(tài)轉(zhuǎn)換測(cè)試(state transition testing) 白盒測(cè)試 軟件的白盒測(cè)試是對(duì)軟件的過程性描述做細(xì)致的檢查,這一方法是把測(cè)試對(duì)象看著一個(gè)打開的盒子,它允許軟件測(cè)試員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計(jì)或選擇測(cè)試用例,對(duì)程序所有邏輯路徑進(jìn)行測(cè)試。通過在不同點(diǎn)檢查
3、程序的狀態(tài),取得實(shí)際的狀態(tài),是否與預(yù)期的狀態(tài)一致,故又稱結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)。 使用白盒測(cè)試,主要對(duì)模塊進(jìn)行如下的測(cè)試: 對(duì)程序模塊的所有獨(dú)立的執(zhí)行路徑至少執(zhí)行一次。 對(duì)所有的邏輯判定,取值為“真”與取值為“假”的兩種情況都能至少測(cè)試一次。 在循環(huán)的邊界與運(yùn)行界限內(nèi)執(zhí)行循環(huán)體, 測(cè)試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。 白盒測(cè)試 如圖所示的程序圖,它對(duì)應(yīng)了一個(gè)100行源代碼的Pascal語言程序,其中包括了一個(gè)執(zhí)行20次的循環(huán),那么它所包含的不同路徑高達(dá)520(1014)條,若要對(duì)它進(jìn)行窮舉測(cè)試,即要設(shè)計(jì)測(cè)試用例,覆蓋所有的路徑。設(shè)有一個(gè)測(cè)試程序,對(duì)每條路徑的測(cè)試需一毫秒,那么要完成測(cè)試約需3710年。 任何
4、進(jìn)行窮舉測(cè)試都是一場(chǎng)達(dá)災(zāi)難,因此,我們的策略是在一定的開發(fā)周期和某種經(jīng)濟(jì)條件下,通過有限的測(cè)試盡可能多地發(fā)現(xiàn)錯(cuò)誤。 測(cè)試只能發(fā)現(xiàn)錯(cuò)誤,而不能保證程序沒有錯(cuò)誤。 白盒測(cè)試的測(cè)試用例設(shè)計(jì) 語句覆蓋判定覆蓋條件覆蓋判定/條件覆蓋條件組合覆蓋路徑覆蓋LCSAJ Testing 邏輯覆蓋 有選擇地執(zhí)行程序中某些最有代表性的通路是對(duì)窮盡測(cè)試的唯一可行的替代辦法。所謂邏輯覆蓋是對(duì)一系列測(cè)試過程的總稱,這組測(cè)試過程逐漸進(jìn)行越來越完整的通路測(cè)試。測(cè)試數(shù)據(jù)執(zhí)行(或叫覆蓋)程序邏輯的程度可以劃分成哪些不同的等級(jí)呢?從覆蓋源程序語句的詳盡程度分析,大致有以下一些不同的覆蓋標(biāo)準(zhǔn): 邏輯覆蓋 邏輯覆蓋 L1(ace) =
5、(A1)and(B0)and(A2)or(X/A1) =(A1)and(B0)and(A2)or(A1)and(B0)and(X/A1) =(A2)and(B0)or(A1)and(B0)and(X/A1) L2(abd) =(A1)and(B0)and(A2)or(X1) =(A1)or(B0)and(A2)and(X1) =(A1)and(A2)and(X1)or(B0)and(A2)and(X1) =(A1)and(X1)or(B0)and(A2)and(X1) L3(abe) =(A1)and(B0)and(A2)or(X1) =(A1)or(B0)and(A2)or(X1) =(A1
6、)and(X1)or(B0)and(A2)or(B0)and(X1) = A1)and(X1)or(B0)and(A2)or(B0)and(X1) L4(acd) =(A1)and(B0)and(A2)or(X/A1) =(A1)and(B0)and(A2)and(X/A1)語句覆蓋 為了暴露程序中的錯(cuò)誤,至少每個(gè)語句應(yīng)該執(zhí)行一次。語句覆蓋的含義是,選擇足夠多的測(cè)試數(shù)據(jù),使被測(cè)程序中每個(gè)語句至少執(zhí)行一次。 測(cè)試用例的設(shè)計(jì)格式如下 【輸入的(A,B,x),輸出的(A,B,x)】 為子設(shè)計(jì)滿足語句覆蓋的測(cè)試用例是: 【(2,0,4),(2,0,3)】 覆蓋ace【L1】判定覆蓋 判定覆蓋就是設(shè)計(jì)若
7、干測(cè)試用例,運(yùn)行所測(cè)程序,使得程序中每個(gè)判斷的取真分支和取假分支至少經(jīng)歷一次。判定覆蓋又稱為分支覆蓋。 例如對(duì)于給出的例子,如果選擇路徑L1和L2,就可得滿足要求的測(cè)試用例: 【(2,0,4),(2,0,3)】 覆蓋ace【L1】 【(1,1,1),(1,1,1)】 覆蓋abd【L2】 如果選擇路徑L3和L4,還可得另一組可用的測(cè)試用例: 【(2,1,1),(2,1,2)】 覆蓋abe【L3】 【(3,0,3),(3,1,1)】 覆蓋acd【L4】條件覆蓋 條件覆蓋就是設(shè)計(jì)若干個(gè)測(cè)試用例,運(yùn)行所測(cè)程序,使得程序中每個(gè)判斷條件的可能取值至少執(zhí)行一次。 例如給出的例子中,事先可對(duì)所有條件的取值加以
8、標(biāo)記。例如, 對(duì)于第一個(gè)判斷:條件 A1 取真值為T1,取假值為T1 條件 B0 取真值為T2,取假值為T2 對(duì)于第二個(gè)判斷:條件 A2 取真值為T3,取假值為T3 條件 x1 取真值為T4,取假值為T4條件覆蓋或 測(cè)測(cè) 試試 用用 例例通過路徑通過路徑條件取值條件取值覆蓋分支覆蓋分支【(2,0,4),(2,0,3)(2,0,4),(2,0,3)】【(1,0,1),(1,0,1)(1,0,1),(1,0,1)】【(2,1,1),(2,1,2)(2,1,1),(2,1,2)】ace(L1)ace(L1)abd(L2)abd(L2)abe(L3)abe(L3)T1 T2 T3 T4T1 T2 T3
9、 T4T1 T2 T3 T4T1 T2 T3 T4T1 T2 T3 T4T1 T2 T3 T4c,ec,eb,db,db,eb,e測(cè)測(cè) 試試 用用 例例通過路徑通過路徑條條 件件 取取 值值覆蓋分支覆蓋分支【(1,0,3),(1,0,4)(1,0,3),(1,0,4)】【(2,1,1),(1,0,1)(2,1,1),(1,0,1)】abe(L3)abe(L3)abe(L3)abe(L3)T1 T2 T3 T4T1 T2 T3 T4T1 T2 T3 T4T1 T2 T3 T4b,eb,eb,eb,e判定-條件覆蓋 判定-條件覆蓋就是設(shè)計(jì)足夠的測(cè)試用例,使得判斷中每個(gè)條件的所有可能取值至少執(zhí)行一次
10、,同時(shí)每個(gè)判斷的所有可能判斷結(jié)果至少執(zhí)行一次。換言之,即是要求各個(gè)判斷的所有可能的條件取值組合至少執(zhí)行一次。 判定-條件覆蓋也有缺陷。從表面上來看,它測(cè)試了所有條件的取值。但事實(shí)并非如此。因?yàn)橥承l件掩蓋了另一些條件。 判定-條件覆蓋測(cè)測(cè) 試試 用用 例例通過路徑通過路徑條件取值條件取值覆覆 蓋蓋 分分 支支【(2,0,4),(2,0,3)(2,0,4),(2,0,3)】【(1,1,1),(1,1,1)(1,1,1),(1,1,1)】ace(L1)ace(L1)abd(L2)abd(L2)T1 T2 T3 T4T1 T2 T3 T4T1 T2 T3 T4T1 T2 T3 T4c,ec,eb
11、,db,d條件組合覆蓋 條件組合覆蓋就是設(shè)計(jì)足夠的測(cè)試用例,運(yùn)行所測(cè)程序,使得每個(gè)判斷的所有可能的條件取值組合至少執(zhí)行一次。 記 A1,B0 作T1 T2, 屬第一個(gè)判斷的判定的取真分支; A1,B0 作T1 T2, 屬第一個(gè)判斷的判定的取假分支; A 1,B0 作T1 T2, 屬第一個(gè)判斷的判定的取假分支; A 1,B0 作T1 T2, 屬第一個(gè)判斷的判定的取假分支; A2,x1 作T3 T4, 屬第二個(gè)判斷的判定的取真分支; A2,x 1 作T3 T4, 屬第二個(gè)判斷的判定的取真分支; A2,x1 作T3 T4, 屬第二個(gè)判斷的判定的取真分支; A2,x 1 作T3 T4, 屬第二個(gè)判斷的
12、判定的取假分支; 條件組合覆蓋測(cè)測(cè) 試試 用用 例例通過路徑通過路徑條條 件件 取取 值值覆覆 蓋蓋 分分 支支【(2,0,4),(2,0,3)(2,0,4),(2,0,3)】【(2,1,1),(2,1,2)(2,1,1),(2,1,2)】【(1,0,3),(1,0,4)(1,0,3),(1,0,4)】【(1,1,1),(1,1,1)(1,1,1),(1,1,1)】ace(L1)ace(L1)abe(L3)abe(L3)abe(L3)abe(L3)abd(L2)abd(L2)T1 T2 T3 T4T1 T2 T3 T4T1 T2 T3 T4T1 T2 T3 T4T1 T2 T3 T4T1 T2
13、 T3 T4T1 T2 T3 T4T1 T2 T3 T4, , , , ,路徑測(cè)試 路徑測(cè)試就是設(shè)計(jì)足夠的測(cè)試用例,覆蓋程序中所有可能的路徑。若還是以圖8.6為例,則可以選擇如下的一組測(cè)試用例來覆蓋該程序段的全部路徑。 測(cè)測(cè) 試試 用用 例例通過路徑通過路徑覆覆 蓋蓋 條條 件件【(2,0,4),(2,0,3)(2,0,4),(2,0,3)】【(2,1,1),(2,1,2)(2,1,1),(2,1,2)】【(1,0,3),(1,0,4)(1,0,3),(1,0,4)】【(3,0,3),(3,0,1)(3,0,3),(3,0,1)】ace(L1)ace(L1)abd(L2)abd(L2)abe(
14、L3)abe(L3)acd(L4)acd(L4)T1 T2 T3 T4T1 T2 T3 T4T1 T2 T3 T4T1 T2 T3 T4T1 T2 T3 T4T1 T2 T3 T4T1 T2 T3 T4T1 T2 T3 T48.4.2 基本路徑覆蓋 基本路徑測(cè)試就是這樣一種測(cè)試方法,它是在程序控制流圖的基礎(chǔ)上,通過分析控制構(gòu)造的環(huán)境復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑集合,從而設(shè)計(jì)測(cè)試用例的方法。設(shè)計(jì)出的測(cè)試用例要保證在測(cè)試中程序的每一個(gè)可執(zhí)行語句至少執(zhí)行一次。8.4.2 基本路徑覆蓋 1. 基本路徑測(cè)試 基本路徑測(cè)試法適用于模塊的詳細(xì)設(shè)計(jì)和源程序,其主要步驟如下: 以詳細(xì)設(shè)計(jì)或源代碼作為基礎(chǔ),導(dǎo)出程序
15、的控制流圖。 計(jì)算得到的控制流G的環(huán)路復(fù)雜性。 確定線性無關(guān)的基本路徑集。 生成測(cè)試用例,確保基本路徑集中每條路徑的執(zhí)行。 基本路徑覆蓋 2. 圖形矩陣 圖形矩陣是在基本路徑測(cè)試中起輔助作用的軟件工具,利用它可以實(shí)現(xiàn)自動(dòng)地確定一個(gè)基本路徑集。一個(gè)圖形矩陣是一個(gè)方陣,其行/列數(shù)等于控制流圖中的結(jié)點(diǎn)數(shù)。每行和每列依次對(duì)一個(gè)被標(biāo)記的結(jié)點(diǎn),矩陣元素對(duì)應(yīng)到結(jié)點(diǎn)間的連接(即邊)。8.4.2 基本路徑覆蓋LCSAJ Testing Linear Code Sequence And Jump a linear sequence of executable code commencing either from
16、 the start of a program or from a point to which control flow may jump and terminated either by a specific control flow jump or by the end of the program. It may contain predicates which must be satisfied in order to execute the linear code sequence and terminating jump.Example Partial Ordering of S
17、tructural Test Coverage Criteria 黑盒測(cè)試的測(cè)試用例設(shè)計(jì) 等價(jià)類劃分等價(jià)類劃分是一種典型的黑盒測(cè)試方法,也是一種非常實(shí)用的重要測(cè)試方法。使用這一發(fā)時(shí),完全不考慮程序內(nèi)部結(jié)構(gòu),只依據(jù)程序的規(guī)格說明來設(shè)計(jì)測(cè)試用例。它的指導(dǎo)思想是:把所有可能輸入的數(shù)據(jù)劃分成若干等價(jià)類,假定每類中的一個(gè)典型值在測(cè)試中的作用與這類中所有其他值的作用相同。然后可以從每個(gè)等價(jià)類中只取一組數(shù)據(jù)作為代表性數(shù)據(jù)用于測(cè)試,以便發(fā)現(xiàn)程序中的錯(cuò)誤。 等價(jià)類劃分 劃分等價(jià)類 等價(jià)類的劃分有兩種不同情況: 合理等價(jià)類:輸入數(shù)據(jù)滿足程序模塊的輸入數(shù)據(jù)規(guī)范,是有意義的輸入數(shù)據(jù)集合。使用合理等價(jià)類構(gòu)造測(cè)試用例,主
18、要檢測(cè)程序模塊是否實(shí)現(xiàn)了設(shè)計(jì)規(guī)格規(guī)定的功能和性能。 不合理等價(jià)類:輸入數(shù)據(jù)不滿足程序模塊的輸入數(shù)據(jù)規(guī)范,是無意義的輸入數(shù)據(jù)集合。使用不合理等價(jià)類構(gòu)造測(cè)試用例,主要檢測(cè)程序模塊是否能夠拒絕無效數(shù)據(jù)輸入,被測(cè)試對(duì)象在運(yùn)行初始條件不具備時(shí)的可靠性如何。 等價(jià)類劃分 2等價(jià)類的劃分原則: 如果輸入條件規(guī)定了取值范圍,或值的個(gè)數(shù),則可以確定一個(gè)有效等價(jià)類和兩個(gè)無效等價(jià)類。例如:如果某輸入條件規(guī)定輸入數(shù)據(jù)的取值范圍是:1到99,則有效等價(jià)類是1,99,兩個(gè)無效等價(jià)類是“小于1和大于99的數(shù)”。 如果輸入條件規(guī)定輸入值的集合,或者是規(guī)定了“必須如何”的條件,則可確立一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類。例如:在某
19、些程序語言中對(duì)變量標(biāo)識(shí)符規(guī)定為“以字母打頭的串”,那么所有以字母打頭的構(gòu)成有效等價(jià)類,不以字母打頭的歸于無效等價(jià)類。 如果輸入條件是一個(gè)布爾量,則可以確定一個(gè)有效的等價(jià)類和一個(gè)無效的等價(jià)類。 等價(jià)類劃分 如果規(guī)定了數(shù)據(jù)的一組值,而且程序要對(duì)每個(gè)輸入值分別進(jìn)行處理。這時(shí)可為每一個(gè)輸入值確定一個(gè)有效等價(jià)類,此外針對(duì)這組值確定一個(gè)無效等價(jià)類,它是所有不允許的輸入值的集合。例如,在教師分房中規(guī)定對(duì)教授、副教授、講師和助教分別計(jì)算分?jǐn)?shù),做相應(yīng)的處理。因此,可以確定4個(gè)有效等價(jià)類為:教授、副教授、講師和助教,以及一個(gè)無效等價(jià)類,它是所有不符合上述身份人員的輸入值的集合。 如果規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則,
20、則可以確立一個(gè)有效等價(jià)類(符合規(guī)則)和若干個(gè)無效等價(jià)類(從不同角度違反規(guī)則)。例如,Pascal語言處理時(shí)規(guī)定“一個(gè)語句必須以分號(hào);結(jié)束”。這時(shí)可以確定一個(gè)有效等價(jià)類“以;結(jié)束”,若干個(gè)無效等價(jià)類“以:結(jié)束”、 “以、結(jié)束”、 “以。結(jié)束”等。 如果確知,已劃分的等價(jià)類中各元素,在程序中的處理方式是不同的,則應(yīng)將此等價(jià)類進(jìn)一步劃分為更小的等價(jià)類。 等價(jià)類劃分 3. 等價(jià)類劃分的實(shí)施步驟: 第一步:劃分等價(jià)類。劃分等價(jià)類的依據(jù)是被測(cè)對(duì)象的功能說明/接口定義,構(gòu)造如下表格。表格中的各等價(jià)類給予編號(hào)。輸入條件有效等價(jià)類無效等價(jià)類 等價(jià)類劃分 第二步:設(shè)計(jì)測(cè)試用例: 為每個(gè)等價(jià)類規(guī)定一個(gè)唯一的編號(hào) 設(shè)
21、計(jì)一個(gè)測(cè)試用例,使之盡可能的覆蓋尚未被覆蓋的多個(gè)有效等價(jià)類。重復(fù)這一步,直到所有的有效等價(jià)類都被覆蓋為止。 設(shè)計(jì)一個(gè)測(cè)試用例,使它覆蓋一個(gè)而且只覆蓋一個(gè)尚未被覆蓋的無效等價(jià)類,重復(fù)該步驟,直至所有不合理等價(jià)類覆蓋完畢。 對(duì)每一個(gè)無效等價(jià)類,分別設(shè)計(jì)測(cè)試用例。 邊界值分析 經(jīng)驗(yàn)表明,處理邊界情況時(shí)程序最容易發(fā)生錯(cuò)誤。因此針對(duì)各種邊界情況設(shè)計(jì)測(cè)試用例。 使用邊界值分析方法設(shè)計(jì)測(cè)試用例時(shí),首先應(yīng)該確定邊界情況。通常輸入等價(jià)類與輸出等價(jià)類的邊界,就是應(yīng)該著重測(cè)試邊界情況。應(yīng)當(dāng)選取正好等于、剛剛大于,或剛剛小于邊界的值作為測(cè)試數(shù)據(jù),而不是選取等價(jià)類的典型值或任意值作為測(cè)試數(shù)據(jù)。 邊界值分析 選擇測(cè)試用例
22、的原則: 1) 如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這個(gè)范圍的邊界的值,以及剛剛超越這個(gè)范圍邊界的值作為測(cè)試輸入數(shù)據(jù)。例如,若輸入值的范圍是“-1.01.0”,則可選取“-1.0”、“1.0”、“-1.001”和“1.001”作為測(cè)試數(shù)據(jù)。 2) 如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù)、最小個(gè)數(shù)、比最大個(gè)數(shù)多1,比最小個(gè)數(shù)少1的數(shù)作為測(cè)試數(shù)據(jù)。例如:一個(gè)輸入文件可有1255個(gè)記錄,則可以分別設(shè)計(jì)1個(gè)記錄、255個(gè)記錄以及0個(gè)記錄和256個(gè)記錄的輸入文件。 3) 根據(jù)規(guī)格說明的每個(gè)輸出條件。使用前面的原則1)。例如,某程序的功能是計(jì)算折扣量,最低折扣量是0元,最高折扣量是1050元。則設(shè)計(jì)
23、一些測(cè)試用例,使它們恰好產(chǎn)生0元和1050元的結(jié)果。此外,還可考慮設(shè)計(jì)結(jié)果為負(fù)值或大于1050元的測(cè)試用例。 邊界值分析 4) 根據(jù)規(guī)格說明的每個(gè)輸出條件。使用前面的原則2)。例如,一個(gè)信息檢索系統(tǒng)根據(jù)用戶打入得命令,顯示有關(guān)文獻(xiàn)的摘要,但最多只顯示4篇摘要。這時(shí)可設(shè)計(jì)一些測(cè)試用例,使得程序分別顯示1篇,4篇,0篇摘要,并設(shè)計(jì)一個(gè)有可能使程序錯(cuò)誤地顯示5篇摘要的測(cè)試用例。 5) 如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合(如有序表,順序文件等),則應(yīng)選取集合的第一個(gè)元素和最后一個(gè)元素作為測(cè)試用例。 6) 如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測(cè)試用例
24、。例如,如果程序中定義了一個(gè)數(shù)組,其元素下標(biāo)的下界是0,上界是100,那么應(yīng)選擇達(dá)到這個(gè)數(shù)組小標(biāo)邊界的值,如0與100,作為測(cè)試用例。 7) 分析規(guī)格說明,找出其他可能的邊界條件。 錯(cuò)誤推測(cè)法 錯(cuò)誤推測(cè)法在很大程度上靠直覺和經(jīng)驗(yàn)進(jìn)行。它的基本想法是列舉出程序中可能有的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況,并且根據(jù)它們選擇測(cè)試方案。對(duì)于程序中容易出錯(cuò)的情況也有一些經(jīng)驗(yàn)總結(jié)出來,例如,輸入數(shù)據(jù)為零或輸出數(shù)據(jù)為零往往容易發(fā)生錯(cuò)誤;如果輸入或輸出的數(shù)目允許變化(例如,被檢索的或生成的表的項(xiàng)數(shù)),則輸入或輸出的數(shù)目為0和1的情況(例如,表為空或只有一項(xiàng))是容易出錯(cuò)的情況。還應(yīng)該仔細(xì)分析程序規(guī)格說明書,注意找出其
25、中遺漏或省略的部分,以便設(shè)計(jì)相應(yīng)的測(cè)試方案,檢測(cè)程序員對(duì)這些部分的處理是否正確。 錯(cuò)誤推測(cè)法 等價(jià)劃分法和邊界值分析法都只孤立地考慮各個(gè)輸入數(shù)據(jù)的測(cè)試功效,而沒有考慮多個(gè)輸入數(shù)據(jù)的組合效應(yīng),可能會(huì)遺漏了輸入數(shù)據(jù)易于出錯(cuò)的組合情況。選擇輸入組合的一個(gè)有效途徑是利用判定表或判定樹為工具,列出輸入數(shù)據(jù)各種組合與程序應(yīng)作的動(dòng)作(及相應(yīng)的輸出結(jié)果)之間的對(duì)應(yīng)關(guān)系,然后為判定表的每一列至少設(shè)計(jì)一個(gè)測(cè)試用例。 因果圖法 1因果圖的適用范圍 要檢查輸入條件的組合不是一件容易的事情,即使把所有輸入條件劃分成等價(jià)類,它們之間的組合情況也相當(dāng)多。因此必須考慮使用一種適合于描述對(duì)于多種條件的組合,相應(yīng)產(chǎn)生多個(gè)動(dòng)作的形式來考慮設(shè)計(jì)測(cè)試用例,這就需要利用因果圖。因果圖方法最終生成的就是判定表。它適合于檢查程序輸入條件的各種組合情況。 因果圖法 2用因果圖法生成測(cè)試用例的基本步驟 分析軟件規(guī)格說明描述中,哪些是原因(即輸入條件或輸入條件的等價(jià)類),哪些是結(jié)果(即輸出條件),并給每個(gè)原因
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度高科技企業(yè)股權(quán)轉(zhuǎn)讓協(xié)議書合同模板
- 2025年度股權(quán)占比協(xié)議書:XX教育信息化項(xiàng)目股權(quán)投資及合作協(xié)議
- 2025年度范文正式版國(guó)外融資租賃合同
- 2025年度員工臨時(shí)外出免責(zé)協(xié)議及執(zhí)行規(guī)范
- 2025年度互聯(lián)網(wǎng)企業(yè)實(shí)習(xí)生實(shí)習(xí)協(xié)議書
- 2025年度公司汽車銷售業(yè)務(wù)員銷售目標(biāo)責(zé)任合同
- 2025年度企業(yè)員工家庭困難食宿補(bǔ)貼援助合同
- 2025年度互聯(lián)網(wǎng)公司單位員工勞動(dòng)合同書(股權(quán)激勵(lì)方案)
- 電商物流與城市交通的協(xié)同發(fā)展研究
- 中國(guó)壓鑄零配件項(xiàng)目投資可行性研究報(bào)告
- 《無創(chuàng)dna產(chǎn)前檢測(cè)》課件
- 統(tǒng)編版小學(xué)語文一年級(jí)下冊(cè)全冊(cè)教學(xué)課件(2024年春季版)
- GB/T 17758-2023單元式空氣調(diào)節(jié)機(jī)
- 2023新能源場(chǎng)站一次調(diào)頻控制系統(tǒng)技術(shù)規(guī)范
- 醫(yī)療器械經(jīng)營(yíng)質(zhì)量管理制度范本
- 北京匯文中學(xué)新初一均衡分班語文試卷
- 主管護(hù)師-護(hù)理學(xué)專業(yè)知識(shí)-外科護(hù)理學(xué)-第四十五章骨與關(guān)節(jié)損傷病人的護(hù)理
- 模塊1 緒論《地下鐵道施工技術(shù)》教學(xué)課件
- 部門職能界定與劃分
- 泡沫鉆井技術(shù)
- 特殊特性關(guān)鍵工序重要特性區(qū)別教學(xué)課件
評(píng)論
0/150
提交評(píng)論