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