軟件測(cè)試教學(xué)PPT課件
軟件測(cè)試教學(xué)PPT課件,軟件測(cè)試,教學(xué)PPT課件,軟件,測(cè)試,教學(xué),PPT,課件
國(guó)家教學(xué)資源庫(kù)建設(shè)項(xiàng)目國(guó)家教學(xué)資源庫(kù)建設(shè)項(xiàng)目單元單元2 白盒測(cè)試白盒測(cè)試 對(duì)圖形識(shí)別系統(tǒng)的測(cè)試對(duì)圖形識(shí)別系統(tǒng)的測(cè)試 主講人主講人 翁英萍翁英萍南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試學(xué)習(xí)導(dǎo)航學(xué)習(xí)導(dǎo)航2南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試本單元任務(wù)分解本單元任務(wù)分解3任務(wù)一:對(duì)圖形識(shí)別系統(tǒng)的程序片段按照 邏輯覆蓋方法編寫測(cè)試用例 任務(wù)二:對(duì)圖形識(shí)別系統(tǒng)的程序片段進(jìn)行 路徑測(cè)試 任務(wù)三:掌握白盒測(cè)試法的應(yīng)用策略建議課時(shí):建議課時(shí):8課時(shí)課時(shí) 南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試本單元各任務(wù)的教學(xué)過(guò)程本單元各任務(wù)的教學(xué)過(guò)程4 項(xiàng)目概述任務(wù)一任務(wù)二任務(wù)三 南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試項(xiàng)目概述項(xiàng)目概述5引例引例l 如何清理面包機(jī)?如何清理面包機(jī)?l不管內(nèi)部,拿水從入口往下灌著沖洗不管內(nèi)部,拿水從入口往下灌著沖洗l將面包機(jī)拆開(kāi)一點(diǎn)點(diǎn)的查看有無(wú)銹跡污跡,逐個(gè)將面包機(jī)拆開(kāi)一點(diǎn)點(diǎn)的查看有無(wú)銹跡污跡,逐個(gè)清理清理 l白盒測(cè)試白盒測(cè)試 測(cè)試者針對(duì)可見(jiàn)代碼進(jìn)行的測(cè)試者針對(duì)可見(jiàn)代碼進(jìn)行的一種測(cè)試一種測(cè)試 南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試項(xiàng)目概述項(xiàng)目概述6常用白盒測(cè)試方法常用白盒測(cè)試方法l邏輯覆蓋邏輯覆蓋l是通過(guò)對(duì)程序邏輯結(jié)構(gòu)的遍歷實(shí)現(xiàn)程序的覆蓋l路徑測(cè)試法路徑測(cè)試法l在程序控制流圖的基礎(chǔ)上,通過(guò)分析控制流圖的環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑的集合,然后據(jù)此設(shè)計(jì)測(cè)試用例南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試項(xiàng)目概述項(xiàng)目概述7待測(cè)程序說(shuō)明待測(cè)程序說(shuō)明l圖形識(shí)別系統(tǒng)圖形識(shí)別系統(tǒng)l根據(jù)輸入的信息確定最終圖形的種類根據(jù)輸入的信息確定最終圖形的種類l主要測(cè)試的程序片段主要測(cè)試的程序片段-三角形問(wèn)題三角形問(wèn)題l接受輸入三個(gè)整數(shù)接受輸入三個(gè)整數(shù)a a、b b、c c,分別作為三角形的三條邊,通,分別作為三角形的三條邊,通過(guò)程序判斷這三條邊是否能構(gòu)成三角形?如果能構(gòu)成三角形,過(guò)程序判斷這三條邊是否能構(gòu)成三角形?如果能構(gòu)成三角形,則判斷三角形的類型(等邊三角形、等腰三角形、一般三角則判斷三角形的類型(等邊三角形、等腰三角形、一般三角形)。要求輸入三個(gè)整數(shù)形)。要求輸入三個(gè)整數(shù)a a、b b、c c,必須滿足以下條件:,必須滿足以下條件:1a2001a200;1b2001b200;1c2001c200。l本項(xiàng)目主要針對(duì)該程序片段根據(jù)白盒測(cè)試的各種要求本項(xiàng)目主要針對(duì)該程序片段根據(jù)白盒測(cè)試的各種要求編寫測(cè)試用例。編寫測(cè)試用例。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)一:邏輯覆蓋測(cè)試任務(wù)一:邏輯覆蓋測(cè)試8 任務(wù)簡(jiǎn)介 任務(wù)分析 相關(guān)知識(shí)點(diǎn) 任務(wù)實(shí)施 任務(wù)小結(jié) 拓展訓(xùn)練南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)簡(jiǎn)介任務(wù)簡(jiǎn)介9任務(wù)簡(jiǎn)介任務(wù)簡(jiǎn)介l對(duì)圖形識(shí)別系統(tǒng)的程序片段按照邏輯覆蓋方法編寫測(cè)對(duì)圖形識(shí)別系統(tǒng)的程序片段按照邏輯覆蓋方法編寫測(cè)試用例試用例void IsTri(int a,int b,int c)1if(a+b=c)|(a+c=b)|(b+c=a)2printf(不能構(gòu)成三角形);3else4if(a=b)|(b=c)|(a=c)5if(a=b)&(b=c)6printf(等邊三角形);7else8printf(等腰三角形);910else11printf(一般三角形);南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)分析任務(wù)分析10任務(wù)準(zhǔn)備任務(wù)準(zhǔn)備一、理解白盒測(cè)試和邏輯覆蓋測(cè)試的特點(diǎn)一、理解白盒測(cè)試和邏輯覆蓋測(cè)試的特點(diǎn)l白盒測(cè)試:針對(duì)被測(cè)軟件的內(nèi)部是如何進(jìn)行工作白盒測(cè)試:針對(duì)被測(cè)軟件的內(nèi)部是如何進(jìn)行工作的測(cè)試的測(cè)試l邏輯覆蓋:關(guān)注點(diǎn)在于條件判定表達(dá)式本身的復(fù)邏輯覆蓋:關(guān)注點(diǎn)在于條件判定表達(dá)式本身的復(fù)雜度雜度二、程序的邏輯結(jié)構(gòu)二、程序的邏輯結(jié)構(gòu)l流程圖流程圖l判斷條件判斷條件l執(zhí)行路徑執(zhí)行路徑南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)分析任務(wù)分析11程序代碼程序代碼void IsTri(int a,int b,int c)1if(a+b=c)|(a+c=b)|(b+c=a)2printf(不能構(gòu)成三角形不能構(gòu)成三角形);3else4if(a=b)|(b=c)|(a=c)5if(a=b)&(b=c)6printf(等邊三角形等邊三角形);7else8printf(等腰三角形等腰三角形);910else11printf(一般三角形一般三角形);南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)分析任務(wù)分析12流程圖流程圖/判斷條件判斷條件/執(zhí)行路徑執(zhí)行路徑T1:a+b=cT2:a+c=bT3:b+c1b3TTTTTFTFFTFTFFFF28例例l寫出每個(gè)條件組合寫出每個(gè)條件組合l寫出條件組合的真值表寫出條件組合的真值表l據(jù)此寫出測(cè)試用例據(jù)此寫出測(cè)試用例南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試修正條件判定覆蓋修正條件判定覆蓋29定義定義l修正判定條件覆蓋單元的入口與出口必須至少被調(diào)用修正判定條件覆蓋單元的入口與出口必須至少被調(diào)用一次,程序中判斷的每一個(gè)分支必須至少被執(zhí)行一次。一次,程序中判斷的每一個(gè)分支必須至少被執(zhí)行一次。對(duì)于程序中通過(guò)邏輯運(yùn)算對(duì)于程序中通過(guò)邏輯運(yùn)算(AND(AND,OROR等等)組成判斷的基本組成判斷的基本布爾條件,每個(gè)條件必須取遍所有可能的值且每一個(gè)布爾條件,每個(gè)條件必須取遍所有可能的值且每一個(gè)條件對(duì)判斷的結(jié)果具有獨(dú)立的作用。條件對(duì)判斷的結(jié)果具有獨(dú)立的作用。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試修正條件判定覆蓋修正條件判定覆蓋30例例a1b1 and b2TTTTFFFTFFFF南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)實(shí)施任務(wù)實(shí)施31步驟步驟l實(shí)現(xiàn)案例的語(yǔ)句覆蓋測(cè)試用例編寫實(shí)現(xiàn)案例的語(yǔ)句覆蓋測(cè)試用例編寫l實(shí)現(xiàn)案例的判定覆蓋測(cè)試用例編寫實(shí)現(xiàn)案例的判定覆蓋測(cè)試用例編寫l實(shí)現(xiàn)案例的條件覆蓋測(cè)試用例編寫實(shí)現(xiàn)案例的條件覆蓋測(cè)試用例編寫l實(shí)現(xiàn)案例的條件實(shí)現(xiàn)案例的條件/判定覆蓋測(cè)試用例編寫判定覆蓋測(cè)試用例編寫l實(shí)現(xiàn)案例的條件組合覆蓋測(cè)試用例編寫實(shí)現(xiàn)案例的條件組合覆蓋測(cè)試用例編寫l實(shí)現(xiàn)案例的修正的條件實(shí)現(xiàn)案例的修正的條件/判定覆蓋測(cè)試用例編寫判定覆蓋測(cè)試用例編寫南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試語(yǔ)句覆蓋實(shí)現(xiàn)語(yǔ)句覆蓋實(shí)現(xiàn)32說(shuō)明說(shuō)明l語(yǔ)句覆蓋:保證程序的每一條可執(zhí)行語(yǔ)句至少執(zhí)行一語(yǔ)句覆蓋:保證程序的每一條可執(zhí)行語(yǔ)句至少執(zhí)行一次次l案例流程圖案例流程圖l要滿足語(yǔ)句覆蓋,每個(gè)路徑均需執(zhí)行要滿足語(yǔ)句覆蓋,每個(gè)路徑均需執(zhí)行南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試語(yǔ)句覆蓋實(shí)現(xiàn)語(yǔ)句覆蓋實(shí)現(xiàn)ID輸入輸入預(yù)期輸出預(yù)期輸出通過(guò)路通過(guò)路徑徑語(yǔ)句覆語(yǔ)句覆蓋率蓋率abcLC-001324一般三角形一般三角形路徑路徑1100%LC-002223等腰三角形等腰三角形路徑路徑2LC-003222等邊三角形等邊三角形路徑路徑3LC-004124不是三角形不是三角形路徑路徑433測(cè)試用例測(cè)試用例南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試語(yǔ)句覆蓋實(shí)現(xiàn)語(yǔ)句覆蓋實(shí)現(xiàn)34測(cè)試分析測(cè)試分析l優(yōu)點(diǎn):優(yōu)點(diǎn):l可以直觀地從源代碼得到測(cè)試用例,無(wú)需仔細(xì)分可以直觀地從源代碼得到測(cè)試用例,無(wú)需仔細(xì)分析每個(gè)判定節(jié)點(diǎn)析每個(gè)判定節(jié)點(diǎn)l缺點(diǎn):缺點(diǎn):1.1.關(guān)注語(yǔ)句而非判定節(jié)點(diǎn)關(guān)注語(yǔ)句而非判定節(jié)點(diǎn)2.2.邏輯判定條件存在屏蔽作用邏輯判定條件存在屏蔽作用3.3.對(duì)隱式分支無(wú)效對(duì)隱式分支無(wú)效南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試判定覆蓋實(shí)現(xiàn)判定覆蓋實(shí)現(xiàn)35說(shuō)明說(shuō)明l判定覆蓋:保證程序中每個(gè)判定節(jié)點(diǎn)的取真和取假分判定覆蓋:保證程序中每個(gè)判定節(jié)點(diǎn)的取真和取假分支至少執(zhí)行一次。支至少執(zhí)行一次。l案例流程圖案例流程圖l從本例來(lái)看,由于每種判定取真和取假分支都有獨(dú)立從本例來(lái)看,由于每種判定取真和取假分支都有獨(dú)立的語(yǔ)句,因此,對(duì)本例來(lái)說(shuō),判定覆蓋和語(yǔ)句覆蓋的的語(yǔ)句,因此,對(duì)本例來(lái)說(shuō),判定覆蓋和語(yǔ)句覆蓋的要求一致要求一致南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試判定覆蓋實(shí)現(xiàn)判定覆蓋實(shí)現(xiàn)ID輸入輸入預(yù)期輸出預(yù)期輸出通過(guò)路通過(guò)路徑徑判定覆蓋判定覆蓋率率abcLC-001324一般三角形一般三角形路徑路徑1100%LC-002223等腰三角形等腰三角形路徑路徑2LC-003222等邊三角形等邊三角形路徑路徑3LC-004124不是三角形不是三角形路徑路徑436測(cè)試用例測(cè)試用例南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試判定覆蓋實(shí)現(xiàn)判定覆蓋實(shí)現(xiàn)37測(cè)試分析測(cè)試分析l判定覆蓋比語(yǔ)句覆蓋有更強(qiáng)的測(cè)試能力判定覆蓋比語(yǔ)句覆蓋有更強(qiáng)的測(cè)試能力l單分支條件結(jié)構(gòu):判定覆蓋比語(yǔ)句覆蓋會(huì)增加幾乎一倍的測(cè)單分支條件結(jié)構(gòu):判定覆蓋比語(yǔ)句覆蓋會(huì)增加幾乎一倍的測(cè)試路徑。試路徑。l雙分支或多分支條:判定覆蓋和語(yǔ)句覆蓋測(cè)試路徑類似或相雙分支或多分支條:判定覆蓋和語(yǔ)句覆蓋測(cè)試路徑類似或相同。同。l判定覆蓋不需要仔細(xì)分析每個(gè)判定節(jié)點(diǎn)。并未深入到判定覆蓋不需要仔細(xì)分析每個(gè)判定節(jié)點(diǎn)。并未深入到測(cè)試符合判定表達(dá)式的細(xì)節(jié),并未測(cè)試到每個(gè)簡(jiǎn)單邏測(cè)試符合判定表達(dá)式的細(xì)節(jié),并未測(cè)試到每個(gè)簡(jiǎn)單邏輯判定條件的正確性輯判定條件的正確性l判定覆蓋能夠避免語(yǔ)句覆蓋的第判定覆蓋能夠避免語(yǔ)句覆蓋的第3 3個(gè)缺點(diǎn)個(gè)缺點(diǎn)(對(duì)隱式分支對(duì)隱式分支無(wú)效無(wú)效)。但仍然不能避免其余的。但仍然不能避免其余的2 2個(gè)缺點(diǎn)。個(gè)缺點(diǎn)。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試條件覆蓋實(shí)現(xiàn)條件覆蓋實(shí)現(xiàn)38說(shuō)明說(shuō)明l條件覆蓋:保證程序中每個(gè)復(fù)合判定表達(dá)式的每個(gè)簡(jiǎn)條件覆蓋:保證程序中每個(gè)復(fù)合判定表達(dá)式的每個(gè)簡(jiǎn)單判定條件的取真和取假情況至少執(zhí)行一次。單判定條件的取真和取假情況至少執(zhí)行一次。l案例流程圖和條件表達(dá)式案例流程圖和條件表達(dá)式l從本例來(lái)看,要滿足條件覆蓋,就是要使得基本邏輯從本例來(lái)看,要滿足條件覆蓋,就是要使得基本邏輯判定條件判定條件T1T6T1T6的取真和取假分支至少執(zhí)行一次的取真和取假分支至少執(zhí)行一次南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試條件覆蓋實(shí)現(xiàn)條件覆蓋實(shí)現(xiàn)組組合合T1T2T3T1|T2|T3T4T5T6T4|T5|T6T4&T5通過(guò)路通過(guò)路徑徑1TFFT路徑路徑42FTFT路徑路徑43FFTT路徑路徑44FFFFTTTTT路徑路徑35FFFFFFFFF路徑路徑139條件取值條件取值南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試條件覆蓋實(shí)現(xiàn)條件覆蓋實(shí)現(xiàn)40測(cè)試用例測(cè)試用例ID輸入輸入預(yù)期輸出預(yù)期輸出通過(guò)路通過(guò)路徑徑條件覆條件覆蓋率蓋率abcLC-004124不是三角形不是三角形路徑路徑4100%LC-005142不是三角形不是三角形路徑路徑4LC-006412不是三角形不是三角形路徑路徑4LC-003222等邊三角形等邊三角形路徑路徑3LC-001324一般三角形一般三角形路徑路徑1南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試條件覆蓋實(shí)現(xiàn)條件覆蓋實(shí)現(xiàn)41測(cè)試分析測(cè)試分析l條件覆蓋通過(guò)仔細(xì)分析每個(gè)判定節(jié)點(diǎn),增加了測(cè)試路條件覆蓋通過(guò)仔細(xì)分析每個(gè)判定節(jié)點(diǎn),增加了測(cè)試路徑,一定程度上解決了語(yǔ)句覆蓋和判定覆蓋的第徑,一定程度上解決了語(yǔ)句覆蓋和判定覆蓋的第1 1、3 3兩個(gè)缺點(diǎn),但是對(duì)于第兩個(gè)缺點(diǎn),但是對(duì)于第2 2個(gè)缺點(diǎn)仍然無(wú)法解決。個(gè)缺點(diǎn)仍然無(wú)法解決。l條件覆蓋所用的測(cè)試用例,一般而言會(huì)多于語(yǔ)句覆蓋條件覆蓋所用的測(cè)試用例,一般而言會(huì)多于語(yǔ)句覆蓋和判定覆蓋,但是滿足了條件覆蓋,不一定能滿足判和判定覆蓋,但是滿足了條件覆蓋,不一定能滿足判定覆蓋,甚至也不能滿足語(yǔ)句覆蓋,正如本例所示就定覆蓋,甚至也不能滿足語(yǔ)句覆蓋,正如本例所示就是如此。是如此。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試條件條件/判定覆蓋實(shí)現(xiàn)判定覆蓋實(shí)現(xiàn)42說(shuō)明說(shuō)明l條件條件/判定語(yǔ)句覆蓋:保證程序的每一個(gè)判定節(jié)點(diǎn)取判定語(yǔ)句覆蓋:保證程序的每一個(gè)判定節(jié)點(diǎn)取真和取假分支至少執(zhí)行一次,且每個(gè)簡(jiǎn)單判定條件的真和取假分支至少執(zhí)行一次,且每個(gè)簡(jiǎn)單判定條件的取真和取假也至少執(zhí)行一次。取真和取假也至少執(zhí)行一次。l案例流程圖和條件表達(dá)式案例流程圖和條件表達(dá)式l從本例來(lái)看,要滿足條件從本例來(lái)看,要滿足條件/判定覆蓋,只需要結(jié)合上判定覆蓋,只需要結(jié)合上面的條件覆蓋測(cè)試用例和判定覆蓋測(cè)試用例即可。面的條件覆蓋測(cè)試用例和判定覆蓋測(cè)試用例即可。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試條件條件/判定覆蓋實(shí)現(xiàn)判定覆蓋實(shí)現(xiàn)ID輸入輸入預(yù)期輸出預(yù)期輸出通過(guò)路通過(guò)路徑徑條件條件/判判定覆蓋率定覆蓋率abcLC-001324一般三角形一般三角形路徑路徑1100%LC-002223等腰三角形等腰三角形路徑路徑2LC-003222等邊三角形等邊三角形路徑路徑3LC-004124不是三角形不是三角形路徑路徑4LC-005142不是三角形不是三角形路徑路徑4LC-006412不是三角形不是三角形路徑路徑443測(cè)試用例測(cè)試用例南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試條件條件/判定覆蓋實(shí)現(xiàn)判定覆蓋實(shí)現(xiàn)44測(cè)試分析測(cè)試分析l理論上看,判定理論上看,判定/條件覆蓋是較為完善的覆蓋指標(biāo),條件覆蓋是較為完善的覆蓋指標(biāo),它彌補(bǔ)了判定覆蓋和條件覆蓋的不足,但該指標(biāo)包含它彌補(bǔ)了判定覆蓋和條件覆蓋的不足,但該指標(biāo)包含的設(shè)計(jì)工作量較大,且需要較好的設(shè)計(jì)技巧的設(shè)計(jì)工作量較大,且需要較好的設(shè)計(jì)技巧南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試條件組合覆蓋實(shí)現(xiàn)條件組合覆蓋實(shí)現(xiàn)45說(shuō)明說(shuō)明l條件組合覆蓋:保證程序的每個(gè)判定節(jié)點(diǎn)中所有簡(jiǎn)單條件組合覆蓋:保證程序的每個(gè)判定節(jié)點(diǎn)中所有簡(jiǎn)單判定條件的各種可能取值的組合應(yīng)至少執(zhí)行一次。判定條件的各種可能取值的組合應(yīng)至少執(zhí)行一次。l案例流程圖和條件表達(dá)式案例流程圖和條件表達(dá)式l從本例來(lái)看,一共有從本例來(lái)看,一共有3 3個(gè)判定節(jié)點(diǎn),其中第個(gè)判定節(jié)點(diǎn),其中第2 2個(gè)判定節(jié)個(gè)判定節(jié)點(diǎn)包含了第點(diǎn)包含了第3 3個(gè)判定節(jié)點(diǎn)的簡(jiǎn)單判定條件。因此我們只個(gè)判定節(jié)點(diǎn)的簡(jiǎn)單判定條件。因此我們只需考慮前兩個(gè)判定節(jié)點(diǎn)的簡(jiǎn)單判定條件的組合。需考慮前兩個(gè)判定節(jié)點(diǎn)的簡(jiǎn)單判定條件的組合。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試條件組合覆蓋實(shí)現(xiàn)條件組合覆蓋實(shí)現(xiàn)46條件條件T1T3T1T3的組合的組合組合組合T1T2T3T1|T2|T3通過(guò)路徑通過(guò)路徑說(shuō)明說(shuō)明1TFFT路徑42FTFT路徑43FFTT路徑44FTT-不可能5TFT-不可能6TTF-不可能7TTT-不可能8FFFF其他路徑南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試條件組合覆蓋實(shí)現(xiàn)條件組合覆蓋實(shí)現(xiàn)47條件條件T4T6T4T6的組合的組合組合組合T4T5T6T4|T5|T6T4&T5通過(guò)路通過(guò)路徑徑說(shuō)明說(shuō)明1TFFTF路徑2T1T3為F2FTFTF路徑2T1T3為F3FFTTF路徑2T1T3為F4FTT-不可能5TFT-不可能6TTF-不可能7TTTTT路徑3T1T3為F8FFFFF路徑1T1T3為F南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試條件組合覆蓋實(shí)現(xiàn)條件組合覆蓋實(shí)現(xiàn)48最終條件組合最終條件組合組合組合 T1T2T3T1|T2|T3T4T5T6T4|T5|T6T4&T5通過(guò)路通過(guò)路徑徑1TFFT路徑路徑42FTFT路徑路徑43FFTT路徑路徑44FFFFTTTTT路徑路徑35FFFFFFFFF路徑路徑16FFFFTFFTF路徑路徑27FFFFFTFTF路徑路徑28FFFFFFTTF路徑路徑2南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試條件組合覆蓋實(shí)現(xiàn)條件組合覆蓋實(shí)現(xiàn)ID輸入輸入預(yù)期輸出預(yù)期輸出通過(guò)路通過(guò)路徑徑組合覆蓋組合覆蓋率率abcLC-004124不是三角形不是三角形路徑路徑4100%LC-005142不是三角形不是三角形路徑路徑4LC-006412不是三角形不是三角形路徑路徑4LC-003222等邊三角形等邊三角形路徑路徑3LC-001324一般三角形一般三角形路徑路徑1LC-002223等腰三角形等腰三角形路徑路徑2LC-007322等腰三角形等腰三角形路徑路徑2LC-008232等腰三角形等腰三角形路徑路徑249測(cè)試用例測(cè)試用例南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試條件組合覆蓋實(shí)現(xiàn)條件組合覆蓋實(shí)現(xiàn)50測(cè)試分析測(cè)試分析l從理論上看,條件組合覆蓋是較好的覆蓋指標(biāo),因?yàn)閺睦碚撋峡?,條件組合覆蓋是較好的覆蓋指標(biāo),因?yàn)樗欢M足判定覆蓋、條件覆蓋和判定它一定滿足判定覆蓋、條件覆蓋和判定/條件覆蓋。條件覆蓋。l然而當(dāng)判定表達(dá)式較為復(fù)雜的時(shí)候,條件組合覆蓋的然而當(dāng)判定表達(dá)式較為復(fù)雜的時(shí)候,條件組合覆蓋的測(cè)試用例規(guī)模是相當(dāng)大的。測(cè)試用例規(guī)模是相當(dāng)大的。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試修正的條件修正的條件/判定覆蓋判定覆蓋51說(shuō)明說(shuō)明l修正條件判定覆蓋(修正條件判定覆蓋(Modified Condition/Decision Modified Condition/Decision CoverageCoverage),簡(jiǎn)稱),簡(jiǎn)稱MC/DCMC/DC,要求在滿足判定,要求在滿足判定/條件覆蓋條件覆蓋的基礎(chǔ)上,每個(gè)簡(jiǎn)單邏輯判定條件都應(yīng)能夠獨(dú)立影響的基礎(chǔ)上,每個(gè)簡(jiǎn)單邏輯判定條件都應(yīng)能夠獨(dú)立影響整個(gè)判定表達(dá)式。整個(gè)判定表達(dá)式。l案例流程圖和條件表達(dá)式案例流程圖和條件表達(dá)式南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試修正的條件修正的條件/判定覆蓋判定覆蓋52說(shuō)明說(shuō)明l通俗的說(shuō),通俗的說(shuō),MC/DCMC/DC首先要求實(shí)現(xiàn)條件覆蓋、判定覆蓋,首先要求實(shí)現(xiàn)條件覆蓋、判定覆蓋,在此基礎(chǔ)上,對(duì)于每一個(gè)條件在此基礎(chǔ)上,對(duì)于每一個(gè)條件C C,要求存在符合以下條,要求存在符合以下條件的兩個(gè)用例:件的兩個(gè)用例:1 1)條件)條件C C所在判定內(nèi)的所有條件,除條件所在判定內(nèi)的所有條件,除條件C C外,其外,其他條件的取值完全相同;他條件的取值完全相同;2 2)條件)條件C C的取值相反;的取值相反;3 3)判定的計(jì)算結(jié)果相反。)判定的計(jì)算結(jié)果相反。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試修正的條件修正的條件/判定覆蓋判定覆蓋53條件條件T1T3T1T3的組合的組合組合組合T1T2T3T1|T2|T3通過(guò)路徑通過(guò)路徑說(shuō)明說(shuō)明1TFFT路徑42FTFT路徑43FFTT路徑44FTT-不可能5TFT-不可能6TTF-不可能7TTT-不可能8FFFF其他路徑T1:組合1,組合8T2:組合2,組合8T3:組合3,組合8南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試修正的條件修正的條件/判定覆蓋判定覆蓋54條件條件T4T6T4T6的組合的組合組合組合T4T5T6T4|T5|T6T4&T5通過(guò)路通過(guò)路徑徑說(shuō)明說(shuō)明1TFFTF路徑2T1T3為F2FTFTF路徑2T1T3為F3FFTTF路徑2T1T3為F4FTT-不可能5TFT-不可能6TTF-不可能7TTTTT路徑3T1T3為F8FFFFF路徑1T1T3為FT4|T5|T6:組合1、2、3與組合8T4&T5:組合1、2和組合7南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試修正的條件修正的條件/判定覆蓋判定覆蓋ID輸入輸入預(yù)期輸出預(yù)期輸出通過(guò)路通過(guò)路徑徑MC/DC覆蓋率覆蓋率abcLC-004124不是三角形不是三角形路徑路徑4100%LC-005142不是三角形不是三角形路徑路徑4LC-006412不是三角形不是三角形路徑路徑4LC-003222等邊三角形等邊三角形路徑路徑3LC-001324一般三角形一般三角形路徑路徑1LC-002223等腰三角形等腰三角形路徑路徑2LC-007322等腰三角形等腰三角形路徑路徑2LC-008232等腰三角形等腰三角形路徑路徑255測(cè)試用例測(cè)試用例南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試修正的條件修正的條件/判定覆蓋判定覆蓋56測(cè)試分析測(cè)試分析l修正判定修正判定/條件覆蓋繼承了條件組合覆蓋的優(yōu)點(diǎn):條件覆蓋繼承了條件組合覆蓋的優(yōu)點(diǎn):1 1、測(cè)試用例數(shù)量的增加是線性的、測(cè)試用例數(shù)量的增加是線性的2 2、對(duì)操作數(shù)及非等式條件變化反應(yīng)敏感、對(duì)操作數(shù)及非等式條件變化反應(yīng)敏感3 3、具有更高的目標(biāo)碼覆蓋率、具有更高的目標(biāo)碼覆蓋率l修正的判定修正的判定/條件覆蓋通過(guò)消除測(cè)試用例之間的冗余,條件覆蓋通過(guò)消除測(cè)試用例之間的冗余,達(dá)到降低測(cè)試用例規(guī)模的目的,但其分析過(guò)程仍然是達(dá)到降低測(cè)試用例規(guī)模的目的,但其分析過(guò)程仍然是較為繁瑣的。較為繁瑣的。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)小結(jié)任務(wù)小結(jié)571 11.1.邏輯覆蓋主要針對(duì)邏輯判定表達(dá)式展開(kāi)測(cè)試,考查邏輯覆蓋主要針對(duì)邏輯判定表達(dá)式展開(kāi)測(cè)試,考查程序代碼中所有邏輯值均需測(cè)試真值和假值的情況程序代碼中所有邏輯值均需測(cè)試真值和假值的情況2.2.邏輯覆蓋主要包括邏輯覆蓋主要包括6 6個(gè)指標(biāo),按照由弱到強(qiáng)依次為:個(gè)指標(biāo),按照由弱到強(qiáng)依次為:l語(yǔ)句覆蓋語(yǔ)句覆蓋l判定覆蓋判定覆蓋l條件覆蓋條件覆蓋l判定判定/條件覆蓋條件覆蓋l條件組合覆蓋條件組合覆蓋l修正的判定修正的判定/條件覆蓋。條件覆蓋。但每個(gè)指標(biāo)都無(wú)法保證但每個(gè)指標(biāo)都無(wú)法保證100%100%的覆蓋。的覆蓋。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)小結(jié)任務(wù)小結(jié)582 23.3.因受到因受到“與與”、“或或”關(guān)系的限制,判斷條件之間關(guān)系的限制,判斷條件之間存在屏蔽作用,設(shè)計(jì)測(cè)試用例時(shí)要充分注意這一點(diǎn)。存在屏蔽作用,設(shè)計(jì)測(cè)試用例時(shí)要充分注意這一點(diǎn)。4.4.在實(shí)際項(xiàng)目中,由于程序內(nèi)部的邏輯存在不確定性在實(shí)際項(xiàng)目中,由于程序內(nèi)部的邏輯存在不確定性和無(wú)窮性,尤其對(duì)于大規(guī)模復(fù)雜軟件,不必采用所和無(wú)窮性,尤其對(duì)于大規(guī)模復(fù)雜軟件,不必采用所有的覆蓋指標(biāo),而應(yīng)根據(jù)實(shí)際情況選擇合適的覆蓋有的覆蓋指標(biāo),而應(yīng)根據(jù)實(shí)際情況選擇合適的覆蓋指標(biāo)指標(biāo)5.5.常見(jiàn)的覆蓋指標(biāo):常見(jiàn)的覆蓋指標(biāo):l語(yǔ)句覆蓋率:語(yǔ)句覆蓋率:100%100%l 判定覆蓋率:判定覆蓋率:80%80%以上以上 l 路徑覆蓋率:路徑覆蓋率:100%100%南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試public boolean isLeap(int year)boolean leap;if(year%4=0)if(year%100=0)if(year%400=0)leap=true;else leap=false;else leap=true;else leap=false;return leap;拓展訓(xùn)練拓展訓(xùn)練59進(jìn)一步練習(xí)進(jìn)一步練習(xí)l請(qǐng)用邏輯覆蓋法對(duì)右請(qǐng)用邏輯覆蓋法對(duì)右側(cè)的判斷閏年的側(cè)的判斷閏年的javajava代碼段設(shè)計(jì)測(cè)試用例。代碼段設(shè)計(jì)測(cè)試用例。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)二:路徑測(cè)試任務(wù)二:路徑測(cè)試60 任務(wù)簡(jiǎn)介 任務(wù)分析 相關(guān)知識(shí)點(diǎn) 任務(wù)實(shí)施 任務(wù)小結(jié) 拓展訓(xùn)練南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)簡(jiǎn)介任務(wù)簡(jiǎn)介611 1l本任務(wù)主要學(xué)習(xí)采用基本路徑測(cè)試法和循環(huán)測(cè)試法來(lái)本任務(wù)主要學(xué)習(xí)采用基本路徑測(cè)試法和循環(huán)測(cè)試法來(lái)設(shè)計(jì)測(cè)試用例。設(shè)計(jì)測(cè)試用例。l用路徑測(cè)試方法(基路徑測(cè)試法和循環(huán)測(cè)試法)對(duì)下用路徑測(cè)試方法(基路徑測(cè)試法和循環(huán)測(cè)試法)對(duì)下頁(yè)的頁(yè)的c+c+代碼進(jìn)行測(cè)試。代碼的功能是:輸入三個(gè)整數(shù)代碼進(jìn)行測(cè)試。代碼的功能是:輸入三個(gè)整數(shù)a a、b b、c c,分別作為三角形的三條邊,通過(guò)調(diào)用程序判,分別作為三角形的三條邊,通過(guò)調(diào)用程序判斷這三條邊是否能構(gòu)成三角形?如果能構(gòu)成三角形,斷這三條邊是否能構(gòu)成三角形?如果能構(gòu)成三角形,則判斷三角形的類型(等邊三角形、等腰三角形、一則判斷三角形的類型(等邊三角形、等腰三角形、一般三角形)。要求輸入三個(gè)整數(shù)般三角形)。要求輸入三個(gè)整數(shù)a a、b b、c c,必須滿足以,必須滿足以下條件:下條件:1a2001a200;1b2001b200;1c2001c200。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)簡(jiǎn)介任務(wù)簡(jiǎn)介622 2 void input(int num,int n)1int a;2for(int i=0;in;i+)3 do4 couta;6 while(a200);7 numi=a;89南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)分析任務(wù)分析63路徑測(cè)試的特點(diǎn)路徑測(cè)試的特點(diǎn)l從廣義的角度講,任何有關(guān)路徑分析的測(cè)試都可以被從廣義的角度講,任何有關(guān)路徑分析的測(cè)試都可以被成為路徑測(cè)試。這里給出路徑測(cè)試的最簡(jiǎn)單描述:路成為路徑測(cè)試。這里給出路徑測(cè)試的最簡(jiǎn)單描述:路徑測(cè)試就是從一個(gè)程序的入口開(kāi)始,執(zhí)行所經(jīng)歷的各徑測(cè)試就是從一個(gè)程序的入口開(kāi)始,執(zhí)行所經(jīng)歷的各個(gè)語(yǔ)句的完整過(guò)程。個(gè)語(yǔ)句的完整過(guò)程。l路徑測(cè)試是白盒測(cè)試最為典型的問(wèn)題,完成路經(jīng)測(cè)試路徑測(cè)試是白盒測(cè)試最為典型的問(wèn)題,完成路經(jīng)測(cè)試的理想情況是做到路徑覆蓋。但從路徑覆蓋的討論中的理想情況是做到路徑覆蓋。但從路徑覆蓋的討論中已經(jīng)得知,對(duì)于比較簡(jiǎn)單的程序?qū)崿F(xiàn)路徑測(cè)試是可能已經(jīng)得知,對(duì)于比較簡(jiǎn)單的程序?qū)崿F(xiàn)路徑測(cè)試是可能做到的,而對(duì)于程序中出現(xiàn)較多個(gè)判定和較多個(gè)循環(huán),做到的,而對(duì)于程序中出現(xiàn)較多個(gè)判定和較多個(gè)循環(huán),則路徑數(shù)目將會(huì)急劇增加,不可能實(shí)現(xiàn)路徑覆蓋。則路徑數(shù)目將會(huì)急劇增加,不可能實(shí)現(xiàn)路徑覆蓋。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)分析任務(wù)分析64路徑測(cè)試的方法路徑測(cè)試的方法l基路徑測(cè)試方法:在程序控制流圖的基礎(chǔ)上,通過(guò)分基路徑測(cè)試方法:在程序控制流圖的基礎(chǔ)上,通過(guò)分析控制構(gòu)造的環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑集合,析控制構(gòu)造的環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑集合,從而設(shè)計(jì)測(cè)試用例的方法。從而設(shè)計(jì)測(cè)試用例的方法。l循環(huán)測(cè)試方法:重點(diǎn)檢查循環(huán)結(jié)構(gòu)的有效性。循環(huán)測(cè)試方法:重點(diǎn)檢查循環(huán)結(jié)構(gòu)的有效性。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試相關(guān)知識(shí)點(diǎn)相關(guān)知識(shí)點(diǎn)65知識(shí)點(diǎn)列表知識(shí)點(diǎn)列表l基路徑測(cè)試l循環(huán)測(cè)試南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試基路徑測(cè)試基路徑測(cè)試66定義定義l基本路徑測(cè)試法是在程序控制流圖的基礎(chǔ)上,通過(guò)分析控制構(gòu)造的環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑集合,從而設(shè)計(jì)測(cè)試用例的方法。l設(shè)計(jì)出的測(cè)試用例要保證在測(cè)試中程序的每個(gè)可執(zhí)行語(yǔ)句至少執(zhí)行一次。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試控制流圖控制流圖67定義定義l程序的控制流圖:描述程序控制流的一種圖示方法。l流圖只有2種圖形符號(hào):l圖中的每一個(gè)圓稱為流圖的結(jié)點(diǎn),代表一條或多條語(yǔ)句。l流圖中的箭頭稱為邊或連接,代表控制流南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試控制流圖控制流圖68注意事項(xiàng)注意事項(xiàng)l在選擇或多分支結(jié)構(gòu)中,分支的匯聚處應(yīng)有一個(gè)匯聚結(jié)點(diǎn)。l邊和結(jié)點(diǎn)圈定的區(qū)域叫做區(qū)域,當(dāng)對(duì)區(qū)域計(jì)數(shù)時(shí),圖形外的區(qū)域也應(yīng)記為一個(gè)區(qū)域。l如果判斷中的條件表達(dá)式是由一個(gè)或多個(gè)邏輯運(yùn)算符(OR,AND,NAND,NOR)連接的復(fù)合條件表達(dá)式,則需要改為一系列只有單條件的嵌套的判斷。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試控制流圖控制流圖69區(qū)域計(jì)數(shù)舉例區(qū)域計(jì)數(shù)舉例南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試控制流圖控制流圖70復(fù)合條件復(fù)合條件1 if a or b2 x3 else4 y南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試控制流圖控制流圖71獨(dú)立路徑獨(dú)立路徑l至少沿一條新的邊移動(dòng)的路徑。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試基路徑測(cè)試基路徑測(cè)試72舉例舉例南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試基路徑測(cè)試基路徑測(cè)試73步驟步驟1.畫出程序的控制流圖2.2.計(jì)算計(jì)算程序圈復(fù)雜度3.導(dǎo)出獨(dú)立路徑4.準(zhǔn)備測(cè)試用例南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試基路徑測(cè)試基路徑測(cè)試74步驟步驟1 1南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試基路徑測(cè)試基路徑測(cè)試75步驟步驟2 2l圈復(fù)雜度是一種為程序邏輯復(fù)雜性提供定量測(cè)度的軟圈復(fù)雜度是一種為程序邏輯復(fù)雜性提供定量測(cè)度的軟件度量,將該度量用于計(jì)算程序的基本的獨(dú)立路徑數(shù)件度量,將該度量用于計(jì)算程序的基本的獨(dú)立路徑數(shù)目,為確保所有語(yǔ)句至少執(zhí)行一次的測(cè)試數(shù)量的上界。目,為確保所有語(yǔ)句至少執(zhí)行一次的測(cè)試數(shù)量的上界。獨(dú)立路徑必須包含一條在定義之前不曾用到的邊。獨(dú)立路徑必須包含一條在定義之前不曾用到的邊。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試基路徑測(cè)試基路徑測(cè)試76步驟步驟2 2l有以下三種方法計(jì)算圈復(fù)雜度:有以下三種方法計(jì)算圈復(fù)雜度:l流圖中封閉區(qū)域的數(shù)量流圖中封閉區(qū)域的數(shù)量+1+1個(gè)開(kāi)放區(qū)域個(gè)開(kāi)放區(qū)域=總的區(qū)域總的區(qū)域數(shù)數(shù)=圈復(fù)雜度圈復(fù)雜度l給定流圖給定流圖G G的圈復(fù)雜度的圈復(fù)雜度V(G)V(G),定義為,定義為V(G)=E-N+2V(G)=E-N+2,E E是流圖中邊的數(shù)量,是流圖中邊的數(shù)量,N N是流圖中結(jié)點(diǎn)的數(shù)量是流圖中結(jié)點(diǎn)的數(shù)量;l給定流圖給定流圖G G的圈復(fù)雜度的圈復(fù)雜度V(G)V(G),定義為,定義為V(G)=P+1V(G)=P+1,P P是流圖是流圖G G中判定結(jié)點(diǎn)的數(shù)量。中判定結(jié)點(diǎn)的數(shù)量。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試基路徑測(cè)試基路徑測(cè)試77步驟步驟2 2南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試基路徑測(cè)試基路徑測(cè)試78步驟步驟3 3l獨(dú)立路徑是指,和其他的獨(dú)立路徑相比,至少引入一個(gè)新處理語(yǔ)句或一個(gè)新判斷的程序通路。lV(G)值正好等于該程序的獨(dú)立路徑的條數(shù)。l得出得出4 4條獨(dú)立路徑條獨(dú)立路徑路徑1:4-14路徑2:4-6-7-14路徑3:4-6-8-10-13-4-14路徑4:4-6-8-11-13-4-14南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試基路徑測(cè)試基路徑測(cè)試79步驟步驟4 4南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試循環(huán)測(cè)試循環(huán)測(cè)試80定義和分類定義和分類l循環(huán)測(cè)試的目的就是檢查循環(huán)結(jié)構(gòu)的有效性。l循環(huán)測(cè)試是一種白盒測(cè)試技術(shù),它專注于測(cè)試循環(huán)結(jié)構(gòu)的有效性。l在結(jié)構(gòu)化的程序中通常只有 3 種循環(huán),即 l簡(jiǎn)單循環(huán)l串接循環(huán)l嵌套循環(huán)南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試循環(huán)測(cè)試循環(huán)測(cè)試81分類分類南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試循環(huán)測(cè)試循環(huán)測(cè)試82簡(jiǎn)單循環(huán)簡(jiǎn)單循環(huán)l簡(jiǎn)單循環(huán)。應(yīng)該使用下列測(cè)試集來(lái)測(cè)試簡(jiǎn)單循 環(huán),其中 n 是允許通過(guò)循環(huán)的最大次數(shù)。l跳過(guò)循環(huán)。l只通過(guò)循環(huán)一次。l通過(guò)循環(huán)兩次。l通過(guò)循環(huán) m 次,其中 m=1=1,不可能測(cè)到內(nèi)層循環(huán),不可能測(cè)到內(nèi)層循環(huán)=0=0的情況。且內(nèi)層循環(huán)的循環(huán)次數(shù)取決于輸入的數(shù)是的情況。且內(nèi)層循環(huán)的循環(huán)次數(shù)取決于輸入的數(shù)是否符合規(guī)則,具有不確定性,因此內(nèi)層循環(huán)的測(cè)試僅否符合規(guī)則,具有不確定性,因此內(nèi)層循環(huán)的測(cè)試僅能取循環(huán)能取循環(huán)1 1次、循環(huán)次、循環(huán)2 2次和循環(huán)正常次數(shù),這里取次和循環(huán)正常次數(shù),這里取5 5次。次。l外層循環(huán):外層循環(huán)的循環(huán)次數(shù)取決于參數(shù)外層循環(huán):外層循環(huán)的循環(huán)次數(shù)取決于參數(shù)n,n=0n,n=0時(shí),時(shí),不執(zhí)行循環(huán)體,不執(zhí)行循環(huán)體,n1n1時(shí),將進(jìn)入循環(huán)體,考慮各種循環(huán)時(shí),將進(jìn)入循環(huán)體,考慮各種循環(huán)次數(shù)都能測(cè)試到,取次數(shù)都能測(cè)試到,取n=10n=10,此時(shí)最大循環(huán)次數(shù)為,此時(shí)最大循環(huán)次數(shù)為9.9.南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試循環(huán)測(cè)試用例編寫循環(huán)測(cè)試用例編寫91測(cè)試用例測(cè)試用例測(cè)試項(xiàng)測(cè)試項(xiàng)輸入輸入預(yù)期結(jié)果預(yù)期結(jié)果內(nèi)內(nèi) 層層循環(huán)循環(huán)循環(huán)1次tri數(shù)組,n=1,依次輸入0,201,-5,300,50a=0循環(huán)2次a=201循環(huán)5次a=50,tri0=50外外 層層循環(huán)循環(huán)循環(huán)0次n=0循環(huán)1次tri數(shù)組,n=10,依次輸入10,20,30,40,50,60,70,80,90,100tri0=10循環(huán)2次tri1=20循環(huán)5次tri4=60循環(huán)9次tri9=100南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)小結(jié)任務(wù)小結(jié)921 11.1.路徑測(cè)試是最早被應(yīng)用的測(cè)試方法之一,它有點(diǎn)類路徑測(cè)試是最早被應(yīng)用的測(cè)試方法之一,它有點(diǎn)類似于遍歷。通常的過(guò)程是,首先選定一些路徑,然似于遍歷。通常的過(guò)程是,首先選定一些路徑,然后據(jù)此寫出測(cè)試用例。后據(jù)此寫出測(cè)試用例。2.2.由于在實(shí)踐中對(duì)程序的所有路徑組合進(jìn)行測(cè)試是不由于在實(shí)踐中對(duì)程序的所有路徑組合進(jìn)行測(cè)試是不可能的,所以研究了許多策略來(lái)簡(jiǎn)化問(wèn)題,降低選可能的,所以研究了許多策略來(lái)簡(jiǎn)化問(wèn)題,降低選取出來(lái)的路徑數(shù)。取出來(lái)的路徑數(shù)。3.3.基路徑測(cè)試方法著眼于獨(dú)立路徑的尋找,要求在測(cè)基路徑測(cè)試方法著眼于獨(dú)立路徑的尋找,要求在測(cè)試中程序的每個(gè)可執(zhí)行語(yǔ)句至少執(zhí)行一次。試中程序的每個(gè)可執(zhí)行語(yǔ)句至少執(zhí)行一次。4.4.循環(huán)測(cè)試法主要解決的是對(duì)循環(huán)的測(cè)試方法。循環(huán)測(cè)試法主要解決的是對(duì)循環(huán)的測(cè)試方法。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試public void select_sort(int a)int i,j,k,t,n;n=a.length;for(i=0;i n-1;i+)k=i;for(j=i+1;j n;j+)if(a j a k)k=j;if(i!=k)t=ak;ak=ai;ai=t;拓展訓(xùn)練拓展訓(xùn)練93進(jìn)一步練習(xí)進(jìn)一步練習(xí)l請(qǐng)用基路徑測(cè)試法和循環(huán)測(cè)試法對(duì)下面的選擇排序java代碼段進(jìn)行測(cè)試。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)三:綜合案例分析任務(wù)三:綜合案例分析94 任務(wù)簡(jiǎn)介 任務(wù)分析 相關(guān)知識(shí)點(diǎn) 任務(wù)實(shí)施 任務(wù)小結(jié) 拓展訓(xùn)練南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)簡(jiǎn)介任務(wù)簡(jiǎn)介951 1l下頁(yè)程序流程圖描述了最多輸入50個(gè)值(以1作為輸入結(jié)束標(biāo)志),計(jì)算其中有效的學(xué)生分?jǐn)?shù)的個(gè)數(shù)、總分?jǐn)?shù)和平均值。l使用白盒測(cè)試方法對(duì)其進(jìn)行分析測(cè)試。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)簡(jiǎn)介任務(wù)簡(jiǎn)介v流程圖96南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)分析任務(wù)分析97分析分析l對(duì)于該流程圖而言,首先我們要分析其結(jié)構(gòu),確定判定節(jié)點(diǎn)和條件的個(gè)數(shù),在決定覆蓋指標(biāo)和具體采取的白盒測(cè)試方法。l也可以用多種方法共同驗(yàn)證選取的測(cè)試用例是否充分,是否需要補(bǔ)充。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試相關(guān)知識(shí)點(diǎn)相關(guān)知識(shí)點(diǎn)98知識(shí)點(diǎn)列表知識(shí)點(diǎn)列表l白盒測(cè)試方法總結(jié)l白盒測(cè)試的應(yīng)用策略南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試白盒測(cè)試方法總結(jié)白盒測(cè)試方法總結(jié)99白盒方法白盒方法l白盒測(cè)試是基于被測(cè)程序的源代碼設(shè)計(jì)測(cè)試用例的測(cè)試方法。l常見(jiàn)的白盒測(cè)試方法l邏輯覆蓋測(cè)試l路徑分析測(cè)試南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試白盒方法白盒方法100邏輯覆蓋邏輯覆蓋l語(yǔ)句覆蓋:每個(gè)語(yǔ)句至少執(zhí)行一次。語(yǔ)句覆蓋:每個(gè)語(yǔ)句至少執(zhí)行一次。l判定覆蓋:在語(yǔ)句覆蓋的基礎(chǔ)上,每個(gè)判定的每個(gè)分支至少執(zhí)判定覆蓋:在語(yǔ)句覆蓋的基礎(chǔ)上,每個(gè)判定的每個(gè)分支至少執(zhí)行一次。行一次。l條件覆蓋:在語(yǔ)句覆蓋的基礎(chǔ)上,使每個(gè)判定表達(dá)式的每個(gè)條條件覆蓋:在語(yǔ)句覆蓋的基礎(chǔ)上,使每個(gè)判定表達(dá)式的每個(gè)條件都取到各種可能的結(jié)果。件都取到各種可能的結(jié)果。l判定判定/條件覆蓋:即判定覆蓋和條件覆蓋的交集。條件覆蓋:即判定覆蓋和條件覆蓋的交集。l條件組合覆蓋:每個(gè)判定表達(dá)式中條件的各種可能組合都至少條件組合覆蓋:每個(gè)判定表達(dá)式中條件的各種可能組合都至少出現(xiàn)一次。出現(xiàn)一次。l修正的條件修正的條件/判定覆蓋:要求在滿足判定判定覆蓋:要求在滿足判定/條件覆蓋的基礎(chǔ)上,條件覆蓋的基礎(chǔ)上,每個(gè)簡(jiǎn)單邏輯判定條件都應(yīng)能夠獨(dú)立影響整個(gè)判定表達(dá)式。每個(gè)簡(jiǎn)單邏輯判定條件都應(yīng)能夠獨(dú)立影響整個(gè)判定表達(dá)式。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試白盒方法白盒方法101路徑分析路徑分析l基路徑測(cè)試:基本路徑測(cè)試法是在程序控制流圖的基基路徑測(cè)試:基本路徑測(cè)試法是在程序控制流圖的基礎(chǔ)上,通過(guò)分析控制構(gòu)造的環(huán)路復(fù)雜性,導(dǎo)出基本可礎(chǔ)上,通過(guò)分析控制構(gòu)造的環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑集合,從而設(shè)計(jì)測(cè)試用例的方法。執(zhí)行路徑集合,從而設(shè)計(jì)測(cè)試用例的方法。l循環(huán)測(cè)試是一種著重循環(huán)結(jié)構(gòu)有效性測(cè)試的測(cè)試方法。循環(huán)測(cè)試是一種著重循環(huán)結(jié)構(gòu)有效性測(cè)試的測(cè)試方法。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試白盒方法應(yīng)用策略白盒方法應(yīng)用策略1021 1l靜態(tài)白盒測(cè)試有助于直接定位缺陷,所以應(yīng)優(yōu)先進(jìn)行靜態(tài)白盒測(cè)試有助于直接定位缺陷,所以應(yīng)優(yōu)先進(jìn)行靜態(tài)白盒測(cè)試,特別是重要的、核心的功能模塊,應(yīng)靜態(tài)白盒測(cè)試,特別是重要的、核心的功能模塊,應(yīng)進(jìn)行嚴(yán)格的評(píng)審。檢查的內(nèi)容包括對(duì)程序代碼的結(jié)構(gòu)進(jìn)行嚴(yán)格的評(píng)審。檢查的內(nèi)容包括對(duì)程序代碼的結(jié)構(gòu)進(jìn)行分析、對(duì)代碼質(zhì)量進(jìn)行度量。同時(shí)在靜態(tài)測(cè)試的進(jìn)行分析、對(duì)代碼質(zhì)量進(jìn)行度量。同時(shí)在靜態(tài)測(cè)試的過(guò)程中,應(yīng)不斷總結(jié)經(jīng)驗(yàn),更新缺陷檢查表等規(guī)范性過(guò)程中,應(yīng)不斷總結(jié)經(jīng)驗(yàn),更新缺陷檢查表等規(guī)范性文檔。文檔。l應(yīng)盡量采用現(xiàn)有的測(cè)試工具來(lái)幫助分析代碼的結(jié)構(gòu)和應(yīng)盡量采用現(xiàn)有的測(cè)試工具來(lái)幫助分析代碼的結(jié)構(gòu)和評(píng)估代碼質(zhì)量。評(píng)估代碼質(zhì)量。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試白盒方法應(yīng)用策略白盒方法應(yīng)用策略1032 2l針對(duì)黑盒測(cè)試檢查不到或難以檢查的地方(如內(nèi)存泄針對(duì)黑盒測(cè)試檢查不到或難以檢查的地方(如內(nèi)存泄漏)使用特殊的白盒測(cè)試方法。漏)使用特殊的白盒測(cè)試方法。l根據(jù)代碼的不同結(jié)構(gòu),選用合理的測(cè)試覆蓋指標(biāo),評(píng)根據(jù)代碼的不同結(jié)構(gòu),選用合理的測(cè)試覆蓋指標(biāo),評(píng)估黑盒測(cè)試方法是否存在漏洞和冗余,若有漏洞,應(yīng)估黑盒測(cè)試方法是否存在漏洞和冗余,若有漏洞,應(yīng)有針對(duì)性地補(bǔ)充更多必要的測(cè)試用例。有針對(duì)性地補(bǔ)充更多必要的測(cè)試用例。l對(duì)于系統(tǒng)測(cè)試,也可以借鑒白盒測(cè)試中的路徑測(cè)試方對(duì)于系統(tǒng)測(cè)試,也可以借鑒白盒測(cè)試中的路徑測(cè)試方法的思想,展開(kāi)相應(yīng)的測(cè)試工作。法的思想,展開(kāi)相應(yīng)的測(cè)試工作。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)實(shí)施任務(wù)實(shí)施104策略分析策略分析l白盒測(cè)試主要針對(duì)被測(cè)軟件的內(nèi)部如何進(jìn)行工作的測(cè)試。邏輯覆蓋的關(guān)注點(diǎn)主要在于條件判定表達(dá)式本身的復(fù)雜度。而路徑測(cè)試必然滿足基本的邏輯覆蓋指標(biāo),所以優(yōu)先考慮路徑測(cè)試。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)實(shí)施任務(wù)實(shí)施105步驟步驟l導(dǎo)出過(guò)程的流圖l確定環(huán)形復(fù)雜性度量V(G)l確定基本路徑集合(即獨(dú)立路徑集合)。l為每一條獨(dú)立路徑各設(shè)計(jì)一組測(cè)試用例,以便強(qiáng)迫程序沿著該路徑至少執(zhí)行一次。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)實(shí)施任務(wù)實(shí)施106步驟步驟1 1南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)實(shí)施任務(wù)實(shí)施107步驟步驟2 21.1.V(G)=6(V(G)=6(個(gè)區(qū)域個(gè)區(qū)域)2.2.V(G)=EV(G)=EN+2=16N+2=1612+2=612+2=6其中其中E E為流圖中的邊數(shù),為流圖中的邊數(shù),N N為結(jié)點(diǎn)數(shù)為結(jié)點(diǎn)數(shù);3.3.V(G)=P+1=5+1=6V(G)=P+1=5+1=6其中其中P P為謂詞結(jié)點(diǎn)的個(gè)數(shù)。在流圖中,結(jié)點(diǎn)為謂詞結(jié)點(diǎn)的個(gè)數(shù)。在流圖中,結(jié)點(diǎn)2 2、3 3、5 5、6 6、9 9是謂詞結(jié)點(diǎn)。是謂詞結(jié)點(diǎn)。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)實(shí)施任務(wù)實(shí)施108步驟步驟3 3l可確定6條獨(dú)立的路徑:路徑1:1-2-9-10-12路徑2:1-2-9-11-12路徑3:1-2-3-9-10-12路徑4:1-2-3-4-5-8-2路徑5:1-2-3-4-5-6-8-2路徑6:1-2-3-4-5-6-7-8-2南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)實(shí)施任務(wù)實(shí)施109步驟步驟4-14-1l為每一條獨(dú)立路徑各設(shè)計(jì)一組測(cè)試用例,以便強(qiáng)迫程序沿著該路徑至少執(zhí)行一次。1.路徑1(1-2-9-10-12)的測(cè)試用例:scorek=有效分?jǐn)?shù)值,當(dāng)k i;scorei=1,2i50;期望結(jié)果:根據(jù)輸入的有效分?jǐn)?shù)算出正確的分?jǐn)?shù)個(gè)數(shù)n1、總分sum和平均分average。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)實(shí)施任務(wù)實(shí)施110步驟步驟4-24-22.路徑2(1-2-9-11-12)的測(cè)試用例:score 1=1;期望的結(jié)果:average=1,其他量保持初值。3.路徑3(1-2-3-9-10-12)的測(cè)試用例:輸入多于50個(gè)有效分?jǐn)?shù),即試圖處理51個(gè)分?jǐn)?shù),要求前51個(gè)為有效分?jǐn)?shù);期望結(jié)果:n1=50、且算出正確的總分和平均分。3.路徑4(1-2-3-4-5-8-2)的測(cè)試用例:scorei=有效分?jǐn)?shù),當(dāng)i50;2.scorek0,k i;期望結(jié)果:根據(jù)輸入的有效分?jǐn)?shù)算出正確的分?jǐn)?shù)個(gè)數(shù)n1、總分sum和平均分average。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試任務(wù)實(shí)施任務(wù)實(shí)施111步驟步驟4-34-35.路徑5(1-2-3-4-5-6-8-2)的測(cè)試用例:scorei=有效分?jǐn)?shù),當(dāng)i100,k i;期望結(jié)果:根據(jù)輸入的有效分?jǐn)?shù)算出正確的分?jǐn)?shù)個(gè)數(shù)n1、總分sum和平均分average。5.路徑6(1-2-3-4-5-6-7-8-2)的測(cè)試用例:scorei=有效分?jǐn)?shù),當(dāng)i1010的程序,的程序,一般會(huì)認(rèn)為過(guò)于復(fù)雜而難以測(cè)試。一般會(huì)認(rèn)為過(guò)于復(fù)雜而難以測(cè)試。2.2.在采用了路徑測(cè)試的基礎(chǔ)上在采用了路徑測(cè)試的基礎(chǔ)上 ,可針對(duì)循環(huán),進(jìn)而,可針對(duì)循環(huán),進(jìn)而采用循環(huán)測(cè)試,以驗(yàn)證循環(huán)結(jié)構(gòu)的正確性。采用循環(huán)測(cè)試,以驗(yàn)證循環(huán)結(jié)構(gòu)的正確性。南京工業(yè)職業(yè)技術(shù)學(xué)院 軟件測(cè)試軟件測(cè)試void ReadPara(CString temp)if(temp=)m_oper.SetCurSel(0);elseif(temp=)m_oper.SetCurSel(1);elseif(temp=)m_oper.SetCurSel(2);else If(temp=)m_oper.SetCurSel(3);else if(temp=)m_oper.SetCurSel(4);elsem_oper.SetCurSel(5);return;拓展訓(xùn)練拓展訓(xùn)練113進(jìn)一步練習(xí)進(jìn)一步練習(xí)l請(qǐng)綜合考慮使用各白盒測(cè)試方法對(duì)下面的程序代碼段進(jìn)行測(cè)試。
收藏
編號(hào):66077335
類型:共享資源
大?。?span id="i0gtqyg" class="font-tahoma">13.30MB
格式:ZIP
上傳時(shí)間:2022-03-26
25
積分
- 關(guān) 鍵 詞:
-
軟件測(cè)試
教學(xué)PPT課件
軟件
測(cè)試
教學(xué)
PPT
課件
- 資源描述:
-
軟件測(cè)試教學(xué)PPT課件,軟件測(cè)試,教學(xué)PPT課件,軟件,測(cè)試,教學(xué),PPT,課件
展開(kāi)閱讀全文
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
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ì)自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學(xué)習(xí)交流,未經(jīng)上傳用戶書面授權(quán),請(qǐng)勿作他用。