Parasoft C/C++ test 自動(dòng)化用戶指南(十六):靜態(tài)分析的分析類型
Parasoft C/C++test針對C/C++開發(fā)的專業(yè)白盒自動(dòng)化測試方案,能有效提高軟件開發(fā)效率和代碼質(zhì)量。C++test 可以進(jìn)行靜態(tài)分析,全面代碼審查,運(yùn)行時(shí)錯(cuò)誤檢測,并在單元測試和組件測試中集成覆蓋率分析。
基于模式的分析
基于模式的分析檢測源代碼中已知會(huì)導(dǎo)致基于編程標(biāo)準(zhǔn)(例如 CWE 和 OWASP)的軟件缺陷的構(gòu)造?;谀J降?a href="http://www.xiangyinys.com/consult/parasoft" target="_blank">靜態(tài)分析有助于確保開發(fā)人員遵循編碼最佳實(shí)踐、單元測試最佳實(shí)踐以及組織的開發(fā)政策。此分析類型和以下所有分析類型均使用內(nèi)置或用戶定義的測試配置執(zhí)行。
代碼重復(fù)分析
Parasoft C/C++test 可以檢查重復(fù)代碼,幫助您改進(jìn)應(yīng)用程序設(shè)計(jì)并降低維護(hù)成本。在代碼重復(fù)分析期間,代碼被解析為更小的語言元素(標(biāo)記)。令牌根據(jù)一組規(guī)則進(jìn)行分析,這些規(guī)則指定什么應(yīng)該被視為重復(fù)代碼。分析令牌有兩種類型的規(guī)則:
- 查找單個(gè)標(biāo)記重復(fù)項(xiàng)的簡單規(guī)則,例如字符串文字
- 查找多個(gè)令牌重復(fù)項(xiàng)的復(fù)雜規(guī)則,例如,重復(fù)的方法或語句
在分析過程中運(yùn)行 Find Duplicated Code 內(nèi)置測試配置,執(zhí)行代碼重復(fù)檢測規(guī)則:
builtin://Find Duplicated Code代碼重復(fù)分析
Parasoft C/C++test 可以計(jì)算多個(gè)代碼指標(biāo),例如代碼復(fù)雜度、對象之間的耦合或缺乏內(nèi)聚度,可以幫助您了解代碼中潛在的弱點(diǎn)。在分析期間運(yùn)行 Metrics 測試配置以執(zhí)行指標(biāo)分析規(guī)則:
1builtin://Metrics
設(shè)置指標(biāo)閾值
您可以設(shè)置上限和下限,以便在計(jì)算出的度量超出指定值范圍時(shí)報(bào)告靜態(tài)分析結(jié)果。例如,如果您想限制項(xiàng)目中的邏輯行數(shù),您可以配置指標(biāo)測試配置,以便在邏輯行數(shù)指標(biāo)超出限制時(shí)報(bào)告結(jié)果。
內(nèi)置的 Metrics 測試配置包括默認(rèn)閾值。有一些規(guī)則,例如文件數(shù) (METRIC.NOF),無法為其設(shè)置閾值。
可以使用以下方法指定指標(biāo)閾值:
- 通過使用 DTP 中的測試配置界面(詳見 DTP 用戶手冊中的“報(bào)告中心>測試配置>編輯測試配置>指標(biāo)選項(xiàng)卡”)。
- 通過使用 IDE 中的界面編輯 Metrics 測試配置(請參閱 創(chuàng)建自定義測試配置)。
-
通過手動(dòng)編輯測試配置文件:
1. 將內(nèi)置 Metrics 測試配置 ( <INSTALL_DIR>/configs/builtin)復(fù)制到用戶配置目錄 ( <INSTALL_DIR>/configs/user)。 2. 在編輯器中打開復(fù)制配置并將[METRIC.ID].ThresholdEnabled屬性設(shè)置為true。 3.[METRIC.ID].Threshold按照以下格式在屬性中配置上下邊界:[METRIC.ID].Threshold=l [lower boundary value] g [upper boundary value] 4. 保存測試配置并使用自定義指標(biāo)測試配置運(yùn)行分析。
流量分析
Flow Analysis 是一種靜態(tài)分析技術(shù),它使用多種分析技術(shù)(包括應(yīng)用程序執(zhí)行路徑的模擬)來識(shí)別可能觸發(fā)運(yùn)行時(shí)缺陷的路徑。檢測到的缺陷包括使用未初始化的內(nèi)存、空指針解引用、被零除、內(nèi)存和資源泄漏。
由于此分析涉及識(shí)別和跟蹤復(fù)雜路徑,因此它會(huì)暴露通常會(huì)逃避靜態(tài)代碼分析和單元測試的錯(cuò)誤,并且很難通過手動(dòng)測試或檢查找到。
Flow Analysis 在不執(zhí)行代碼的情況下暴露錯(cuò)誤的能力對于具有遺留代碼庫和嵌入式代碼(此類錯(cuò)誤的運(yùn)行時(shí)檢測無效或不可能)的用戶特別有價(jià)值。
在分析期間運(yùn)行 Flow Analysis 測試配置之一以執(zhí)行流分析規(guī)則:
builtin://Flow Analysis Fast
builtin://Flow Analysis Standard
builtin://Flow Analysis Aggressive
Parasoft——領(lǐng)先的自動(dòng)化測試工具,滿足絕大多數(shù)行業(yè)標(biāo)準(zhǔn)
Parasoft是一家專門提供軟件測試解決方案的公司,幫助企業(yè)打造無缺陷的軟件。
從開發(fā)到質(zhì)量檢查,Parasoft的技術(shù)通過集成靜態(tài)和運(yùn)行時(shí)分析,單元、功能和API測試,以及服務(wù)虛擬化,在不犧牲質(zhì)量和安全性的情況下加快軟件交付,節(jié)約交付成本。
強(qiáng)大的報(bào)告和分析功能可幫助用戶快速查明有風(fēng)險(xiǎn)的代碼區(qū)域,并了解新代碼更改如何影響其軟件質(zhì)量,而突破性的技術(shù)將人工智能和機(jī)器學(xué)習(xí)添加到軟件測試中,使組織更容易采用和擴(kuò)展跨開發(fā)和測試團(tuán)隊(duì)的有效的軟件測試實(shí)踐。
Parasoft針對C/C++、Java、.NET和嵌入式的開發(fā)測試都有著30多年的深入研究,很多全國500強(qiáng)企業(yè)使用Parasoft的產(chǎn)品實(shí)現(xiàn)了軟件快速、高質(zhì)量的交付。
獲取Parasoft資料或申請?jiān)囉每杉観Q:2867205852