目錄
軟件測(cè)試期末復(fù)習(xí)系列
課件知識(shí)點(diǎn)整合:
- 軟件測(cè)試基礎(chǔ)
- 白盒測(cè)試
- 黑盒測(cè)試
PTA習(xí)題匯總:
- 軟件測(cè)試基礎(chǔ)
- 白盒測(cè)試-邏輯覆蓋測(cè)試
- 白盒測(cè)試-基本路徑測(cè)試
- 白盒測(cè)試-靜態(tài)測(cè)試
- 黑盒測(cè)試-等價(jià)類劃分
- 黑盒測(cè)試-邊界值測(cè)試
- 黑盒測(cè)試-場(chǎng)景法
概念與定義
-
白盒測(cè)試:側(cè)重于系統(tǒng)或部件內(nèi)部機(jī)制的測(cè)試,類型分為分支測(cè)試(判定節(jié)點(diǎn)測(cè)試)、路徑測(cè)試、語句測(cè)試。
-
控制流分析(基于程序結(jié)構(gòu)):控制流分析是一類用于分析程序控制流結(jié)構(gòu)的靜態(tài)分析技術(shù),目的在于生成程序的控制流圖,在編譯器設(shè)計(jì)程序分析、程序理解等領(lǐng)域都有重要應(yīng)用。
-
邏輯覆蓋測(cè)試(對(duì)判定的測(cè)試)的原理:以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)的用例設(shè)計(jì)方法,它通過對(duì)程序的邏輯結(jié)構(gòu)的遍歷,來實(shí)現(xiàn)測(cè)試對(duì)程序的覆蓋。
-
測(cè)試覆蓋率:度量測(cè)試完整性的指標(biāo),是測(cè)試有效性的一個(gè)度量。
\[覆蓋率 = \frac{至少被執(zhí)行一次的item總數(shù)}{item總數(shù)} \]測(cè)試覆蓋率不需要100%,因?yàn)楦采w率越高,測(cè)試成本越高。
通??梢栽O(shè)置一個(gè)覆蓋率達(dá)標(biāo)標(biāo)準(zhǔn)。
-
語句覆蓋:設(shè)計(jì)測(cè)試用例時(shí)應(yīng)保證程序中每一條可執(zhí)行語句至少應(yīng)執(zhí)行一次。(點(diǎn)覆蓋)
-
判定覆蓋(分支覆蓋):設(shè)計(jì)測(cè)試用例時(shí)應(yīng)保證程序中每個(gè)判定節(jié)點(diǎn)取得每種可能的結(jié)果至少一次?;蛘叱绦蛑忻總€(gè)判定的真分支和假分支至少執(zhí)行一次。(邊覆蓋)
-
條件覆蓋:設(shè)計(jì)測(cè)試用例時(shí)應(yīng)保證程序中每個(gè)復(fù)合判定表達(dá)式中,每個(gè)簡(jiǎn)單判定條件(子條件)的取真和取假情況至少執(zhí)行一次。
-
判定-條件覆蓋:設(shè)計(jì)測(cè)試用例時(shí)應(yīng)滿足判定節(jié)點(diǎn)的取真、取假分支至少執(zhí)行一次,且每個(gè)簡(jiǎn)單判定條件(子條件)的取真和取假情況也至少執(zhí)行一次。即判定覆蓋+條件覆蓋。
-
條件組合覆蓋:條件組合覆蓋,設(shè)計(jì)測(cè)試用例時(shí)應(yīng)滿足每個(gè)判定節(jié)點(diǎn)中,所有簡(jiǎn)單判定條件(子條件)的所有可能的取值組合情況至少執(zhí)行一次。通過列出真值表的方式來得到完全的覆蓋。
-
路徑覆蓋:要求設(shè)計(jì)足夠的測(cè)試用例,運(yùn)行被測(cè)程序,覆蓋程序中所有可能組合的路徑。
-
程序圖:簡(jiǎn)化的程序流程圖,不關(guān)注源代碼細(xì)節(jié),只關(guān)注程序的基本結(jié)構(gòu)。
-
環(huán)復(fù)雜度:用于描述程序結(jié)構(gòu)復(fù)雜度的度量。
-
基本路徑測(cè)試:在程序的控制流圖的基礎(chǔ)上,通過分析控制流程的環(huán)路復(fù)雜性,導(dǎo)出獨(dú)立可執(zhí)行路徑集合,從而設(shè)計(jì)測(cè)試用例的方法。
-
靜態(tài)白盒測(cè)試:又稱為結(jié)構(gòu)分析,是在不執(zhí)行程序的條件下審查軟件設(shè)計(jì)、體系結(jié)構(gòu)和代碼,從而找出軟件缺陷的過程。測(cè)試對(duì)象是文檔、代碼等非計(jì)算機(jī)執(zhí)行的部分。
簡(jiǎn)答
白盒測(cè)試關(guān)注的對(duì)象
源代碼和程序結(jié)構(gòu)。
白盒測(cè)試的優(yōu)缺點(diǎn)
優(yōu)點(diǎn):
- 針對(duì)性強(qiáng),便于快速定位,測(cè)試效率高;
- 在函數(shù)級(jí)別開始測(cè)試工作,缺陷修復(fù)的成本低;
- 通過不同的白盒覆蓋指標(biāo)有助于了解和衡量對(duì)被測(cè)對(duì)象的測(cè)試覆蓋程度,
- 有助于代碼優(yōu)化和缺陷預(yù)防。
缺點(diǎn):
- 對(duì)測(cè)試人員的技術(shù)要求高。
- 成本高。
白盒測(cè)試的問題
- 軟件測(cè)試是不完備的;
- 軟件測(cè)試是有風(fēng)險(xiǎn)的;
- 測(cè)試設(shè)計(jì)應(yīng)達(dá)到的目標(biāo):提高效率、降低風(fēng)險(xiǎn)、在代碼級(jí)別上提高軟件質(zhì)量。
各種程序結(jié)構(gòu)以及它們的復(fù)雜程度
程序結(jié)構(gòu)有:線性結(jié)構(gòu)(順序結(jié)構(gòu)),條件判定結(jié)構(gòu),循環(huán)結(jié)構(gòu),以及這些結(jié)構(gòu)的組合。
復(fù)雜程度:
邏輯覆蓋測(cè)試的六種測(cè)試方法
-
語句覆蓋
缺點(diǎn):關(guān)注語句,而非關(guān)注判定節(jié)點(diǎn)。對(duì)隱式分支無效。
-
判定覆蓋(分支覆蓋)
局限性:判定覆蓋僅關(guān)心表達(dá)式的整體取值,并不關(guān)心表達(dá)式如何構(gòu)成,不能覆蓋到每個(gè)子條件的所有取值情況,由此導(dǎo)致測(cè)試的漏洞。
-
條件覆蓋
局限性:條件覆蓋并不能確保滿足判定覆蓋。
-
判定-條件覆蓋(分支-條件覆蓋)
-
條件組合覆蓋
優(yōu)點(diǎn):
- 條件組合覆蓋準(zhǔn)則滿足語句覆蓋、判定覆蓋、條件覆蓋、判定-條件覆蓋準(zhǔn)則;
- 方法簡(jiǎn)單;只需要找到所有簡(jiǎn)單條件,并列出真值表,窮盡所有組合情況即可。
局限性:
- 條件組合覆蓋不能保證所有組合的路徑被執(zhí)行;
- 測(cè)試用例太多;
- 冗余嚴(yán)重。
-
路徑覆蓋
覆蓋面最廣。
100%滿足路徑覆蓋,一定能100%滿足判定覆蓋標(biāo)準(zhǔn);但并不一定能100%滿足條件覆蓋和判定-條件覆蓋,也就不能滿足100%條件組合覆蓋。
各種覆蓋之間的關(guān)系
- 語句覆蓋太弱;
- 判定覆蓋、條件覆蓋不夠全面;
- 判定-條件覆蓋設(shè)計(jì)難度大;
- 條件組合覆蓋的測(cè)試用例數(shù)量太多,不能將所有路徑覆蓋;
- 路徑覆蓋的測(cè)試用例復(fù)雜且數(shù)量多,不能將所有的條件組合覆蓋。
單獨(dú)采用任何一種邏輯覆蓋方法都不能完全覆蓋所有的測(cè)試用例,任何一個(gè)高效的測(cè)試用例,都是針對(duì)具體測(cè)試場(chǎng)景的。
環(huán)復(fù)雜度的計(jì)算
直觀觀察法
觀察程序圖將二維平面分割為封閉區(qū)域和開放區(qū)域的個(gè)數(shù)。
公式計(jì)算法
方法一:
其中,\(E\) 是邊數(shù), \(N\) 是節(jié)點(diǎn)或頂點(diǎn)數(shù)。
前提條件:?jiǎn)稳肟趩纬隹凇?/strong>
例題:
方法二:
前提條件:無孤立節(jié)點(diǎn),強(qiáng)連通圖。如果非強(qiáng)連通圖,則需要先添加輔助線。如下圖的藍(lán)線。
簡(jiǎn)單地說,強(qiáng)連通圖就是圖中任意兩個(gè)點(diǎn)相互可達(dá)。
判定節(jié)點(diǎn)法
其中,\(P\) 是二分支判定節(jié)點(diǎn)的個(gè)數(shù)。
前提條件:僅計(jì)算二分支的判定節(jié)點(diǎn)。
如果沒有判定節(jié)點(diǎn),只有一條執(zhí)行路徑,則\(V=1\)。
如上圖,二分支判定節(jié)點(diǎn)分別有:A,B,C,D。
因此,\(V(G)=P+1=4+1=5\).
特殊情況的計(jì)算
環(huán)復(fù)雜度的計(jì)算公式都有特定的前提條件,遇到特殊情況,則使用其它可以使用的公式。
- 左圖,非單入單出,不能使用公式計(jì)算法的方法一,可以使用判定節(jié)點(diǎn)法,V=5
- 右圖,非二分支判定節(jié)點(diǎn),不能使用判定節(jié)點(diǎn)法,可以使用公式計(jì)算法方法一,V=13
基本路徑測(cè)試的流程
-
生成路徑地圖
-
確定獨(dú)立路徑集合的規(guī)模
計(jì)算環(huán)復(fù)雜度\(V\),則需要\(V\)條獨(dú)立路徑。文章來源:http://www.zghlxwxcb.cn/news/detail-765564.html
-
找出一組獨(dú)立路徑。文章來源地址http://www.zghlxwxcb.cn/news/detail-765564.html
- 確定主路徑(出錯(cuò)概率最高的路徑,或者缺陷對(duì)用戶影響最大的路徑)。
- 根據(jù)主路徑抽取其它獨(dú)立路徑。
靜態(tài)白盒測(cè)試的方法
- 代碼檢查
- 靜態(tài)結(jié)構(gòu)分析
- 靜態(tài)質(zhì)量度量
同行評(píng)審的一般流程
- 計(jì)劃評(píng)審會(huì)議
- 召開評(píng)審預(yù)備會(huì)
- 準(zhǔn)備評(píng)審會(huì)議
- 召開評(píng)審會(huì)議
- 召開第三小時(shí)會(huì)議
- 修復(fù)缺陷
- 確認(rèn)修復(fù)
同行評(píng)審的五種角色
- 主持人:負(fù)責(zé)組織評(píng)審會(huì)議;
- 講解員:負(fù)責(zé)講解被評(píng)審的工作產(chǎn)品;
- 記錄員:負(fù)責(zé)記錄缺陷和決議;
- 作者:程序編寫者,負(fù)責(zé)提供被提審的工作產(chǎn)品;
- 評(píng)審員:程序設(shè)計(jì)者、測(cè)試專家,負(fù)責(zé)評(píng)審工作產(chǎn)品,也負(fù)責(zé)設(shè)計(jì)測(cè)試用例。
到了這里,關(guān)于[軟件測(cè)試] 第二部分 白盒測(cè)試的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!