最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

軟件測(cè)試 | 白盒測(cè)試方法

2023-03-06 10:06 作者:愛(ài)測(cè)軟件測(cè)試  | 我要投稿

簡(jiǎn)介

白盒測(cè)試又稱結(jié)構(gòu)測(cè)試、透明盒測(cè)試、邏輯驅(qū)動(dòng)測(cè)試或基于代碼的測(cè)試。白盒測(cè)試是一種測(cè)試用例設(shè)計(jì)方法,盒子指的是被測(cè)試的軟件,白盒指的是盒子是可視的,即清楚盒子內(nèi)部的東西以及里面是如何運(yùn)作的。"白盒"法全面了解程序內(nèi)部邏輯結(jié)構(gòu)、對(duì)所有邏輯路徑進(jìn)行測(cè)試。"白盒"法是窮舉路徑測(cè)試。在使用這一方案時(shí),測(cè)試者必須檢查程序的內(nèi)部結(jié)構(gòu),從檢查程序的邏輯著手,得出測(cè)試數(shù)據(jù)。

白盒測(cè)試通過(guò)檢查軟件內(nèi)部的邏輯結(jié)構(gòu),對(duì)軟件中的邏輯路徑進(jìn)行覆蓋測(cè)試。在程序不同地方設(shè)立檢查點(diǎn),檢查程序的狀態(tài),以確定實(shí)際運(yùn)行狀態(tài)與預(yù)期狀態(tài)是否一致。

1.白盒測(cè)試的度量

根據(jù)待測(cè)產(chǎn)品的內(nèi)部實(shí)現(xiàn)細(xì)節(jié)來(lái)設(shè)計(jì)測(cè)試用例。白盒測(cè)試的執(zhí)行手段是可以涵蓋單元測(cè)試、集成測(cè)試。一般使用代碼覆蓋率作為白盒測(cè)試的主要度量指標(biāo)。

2.代碼覆蓋率常見(jiàn)概念

  • 語(yǔ)句覆蓋:每行代碼都要覆蓋至少一次(最基礎(chǔ),不能保證完整度)

  • 判定覆蓋:判定表達(dá)式的真假至少覆蓋一次

  • 判定/條件覆蓋:判定覆蓋與條件覆蓋都必須覆蓋

  • 條件組合覆蓋:判定表達(dá)式中的所有條件組合都需要覆蓋

  • 分支覆蓋:控制流中的每條邊都要被覆蓋一次

  • 路徑覆蓋:所有的路徑都要盡量覆蓋

  • 指令覆蓋:一行代碼會(huì)被編譯為多條指令,盡可能的覆蓋所有指令

  • 方法覆蓋:每個(gè)方法至少要被覆蓋一次

  • 類覆蓋:每個(gè)類至少被覆蓋一次

3.覆蓋率統(tǒng)計(jì)的工具

  • EMMA:一個(gè)面向 Java 代碼的測(cè)試覆蓋率收集工具。在測(cè)試過(guò)程中,使用 EMMA 能使收集和報(bào)告測(cè)試覆蓋率的過(guò)程更加靈活、簡(jiǎn)單。EMMA 是一個(gè)開(kāi)源、面向 Java 程序測(cè)試覆蓋率收集和報(bào)告工具。它通過(guò)對(duì)編譯后的 Java 字節(jié)碼文件進(jìn)行插裝,在測(cè)試執(zhí)行過(guò)程中收集覆蓋率信息,并通過(guò)支持多種報(bào)表格式對(duì)覆蓋率結(jié)果進(jìn)行展示。

  • Cobertura:是一款優(yōu)秀的開(kāi)源測(cè)試覆蓋率統(tǒng)計(jì)工具,它與單元測(cè)試代碼結(jié)合,標(biāo)記并分析在測(cè)試包運(yùn)行時(shí)執(zhí)行了哪些代碼和沒(méi)有執(zhí)行哪些代碼以及所經(jīng)過(guò)的條件分支,來(lái)測(cè)量測(cè)試覆蓋率。除了找出未測(cè)試到的代碼并發(fā)現(xiàn) bug 外,Cobertura 還可以通過(guò)標(biāo)記無(wú)用的、執(zhí)行不到的代碼來(lái)優(yōu)化代碼,最終生成一份美觀詳盡的 HTML 覆蓋率檢測(cè)報(bào)告。

  • Jacoco:是一個(gè)開(kāi)源的覆蓋率工具,針對(duì)java語(yǔ)言。是現(xiàn)在最流行的java覆蓋率統(tǒng)計(jì)工具。

4.流程覆蓋

流程覆蓋用路徑覆蓋率表達(dá),是利用代碼執(zhí)行流代表流程。執(zhí)行時(shí)需要對(duì)流程進(jìn)行裁剪獲得一個(gè)適合業(yè)務(wù)的小規(guī)模的業(yè)務(wù)子集。

流程覆蓋率 = 測(cè)試經(jīng)過(guò)的路徑 / 業(yè)務(wù)子集路徑

5.精準(zhǔn)化測(cè)試

精準(zhǔn)化測(cè)試是一套計(jì)算機(jī)測(cè)試輔助分析系統(tǒng)。精準(zhǔn)化測(cè)試的核心組件包含的軟件測(cè)試示波器、用例和代碼的雙向追溯、智能回歸測(cè)試用例選取、覆蓋率分析、缺陷定位、測(cè)試用例聚類分析、測(cè)試用例自動(dòng)生成系統(tǒng),這些功能完整的構(gòu)成了精準(zhǔn)化測(cè)試技術(shù)體系。

精準(zhǔn)化測(cè)試強(qiáng)調(diào)代碼調(diào)用鏈與黑盒測(cè)試用例之間的關(guān)聯(lián)??梢愿鶕?jù)代碼變更自動(dòng)分析影響范圍。比如說(shuō)研發(fā)修改了 1 行代碼,功能用例有 1000條,其實(shí)很多用例和這1行代碼是沒(méi)有關(guān)系的。精準(zhǔn)化測(cè)試可以判斷出有哪些測(cè)試用例和改動(dòng)的這 1 行代碼有關(guān)系。比如說(shuō)這 1000 條用例當(dāng)中,只有 20 條和修改的代碼有關(guān)系。那么測(cè)試的范圍可以大大縮減,測(cè)試效率就會(huì)提高。

精準(zhǔn)化測(cè)試還有一個(gè)很有價(jià)值的作用,就是在黑盒測(cè)試過(guò)程中,借助代碼流程覆蓋率指導(dǎo)測(cè)試活動(dòng)。比如在黑盒測(cè)試結(jié)束之后,觀察代碼的覆蓋情況,發(fā)現(xiàn)有一些路徑?jīng)]有被覆蓋到,這個(gè)時(shí)候就需要繼續(xù)補(bǔ)充用例,一直到代碼流程可以很全面的覆蓋。這是系統(tǒng)測(cè)試與底層白盒測(cè)試相結(jié)合的一個(gè)方法。

還可以用線上數(shù)據(jù)推導(dǎo)有效的測(cè)試用例。比如測(cè)試一個(gè)系統(tǒng),這個(gè)系統(tǒng)是有大量歷史數(shù)據(jù)的。這時(shí)就可以提取其中一段時(shí)間的數(shù)據(jù),使用這些數(shù)據(jù)繼續(xù)測(cè)試這個(gè)系統(tǒng)。測(cè)試完成后統(tǒng)計(jì)這些測(cè)試數(shù)據(jù)中哪些數(shù)據(jù)對(duì)于測(cè)試覆蓋率的增加是有幫助的??梢允褂么髷?shù)據(jù)的方法,自動(dòng)提取出對(duì)于測(cè)試覆蓋率有增益效果的數(shù)據(jù)。這種方法可以看出哪些測(cè)試數(shù)據(jù)覆蓋的代碼是相同的。這些測(cè)試數(shù)據(jù)其實(shí)就屬于同一個(gè)集合,在這種集合中,只取一個(gè)測(cè)試數(shù)據(jù)就可以。利用線上數(shù)據(jù)反推有效測(cè)試用例也是精準(zhǔn)化測(cè)試的重要作用。

由于精準(zhǔn)化測(cè)試需要對(duì)底層白盒測(cè)試相當(dāng)了解,對(duì)于測(cè)試人員要求比較高,所以現(xiàn)在實(shí)現(xiàn)起來(lái)有一定的難度。目前行業(yè)中還沒(méi)有開(kāi)源的精準(zhǔn)化測(cè)試的工具?,F(xiàn)階段只能通過(guò) Jacoco 等覆蓋率統(tǒng)計(jì)的工具,自己去實(shí)現(xiàn)精準(zhǔn)化測(cè)試平臺(tái)。


軟件測(cè)試 | 白盒測(cè)試方法的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
武鸣县| 大方县| 西丰县| 如东县| 屯留县| 昭通市| 互助| 辉南县| 万全县| 宜都市| 阳西县| 宜丰县| 新宁县| 梁河县| 平舆县| 安西县| 九江市| 炉霍县| 绥滨县| 永泰县| 乌鲁木齐县| SHOW| 昌邑市| 榆社县| 黄骅市| 宁蒗| 年辖:市辖区| 凌海市| 安阳县| 白朗县| 寿宁县| 顺昌县| 旺苍县| 东阿县| 鄂尔多斯市| 阳东县| 定州市| 财经| 商洛市| 湾仔区| 宝山区|