原創|使用教程|編輯:蔣永|2017-02-20 10:41:47.000|閱讀 864 次
概述:本教程講解了Jtest中RuleWizard和BugDetective靜態分析的講解,歡迎收藏和分享~
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
RuleWizard(僅在Architect and Server edition中提供)允許您為Java代碼語法、JSP代碼和代碼風格問題創建自定義的代碼規范規則。Jtest可以自動實施任何在 RuleWizard 中創建的有效規則。通過創建和檢查自定義規則,團隊可以驗證獨特的項目和組織需求、以及防止最常見的錯誤重復出現。
使用 RuleWizard,就能以圖形化的方式創建規則(通過創建流程圖形式的規則表示法),或者自動創建規則(通過提供演示樣本規則違例的代碼)。編寫或修改規則時,無需任何編碼或解析器的知識。
打開 RuleWizard的方法有兩種:
BugDetective 是一類新的靜態分析技術,該技術使用了幾種分析技巧,包括模擬應用程序執行路徑,以識別可能觸發運行時缺陷的路徑。檢測到的缺陷包括,空指針異常、資源泄漏、SQL注入和其他安全漏洞問題。
注意:如需使用 BugDetective,則需要用Server Edition (服務器版)。
BugDetective 是一類新的靜態分析技術,該技術使用了幾種分析技巧,包括模擬應用程序執行路徑,以識別可能觸發運行時缺陷的路徑。檢測到的缺陷包括,空指針異常、資源泄漏、SQL注入和其他安全漏洞問題。
由于該分析涉及到識別和跟蹤復雜路徑,它會暴露通常可逃避編碼規則靜態分析和單元測試的錯誤,這些錯誤難以通過手動測試或檢查找到。對于那些具有遺留代碼庫和嵌入式代碼(這些情況下,此類錯誤的運行時檢測效果較差或根本不可能)的用戶而言,BugDetective可在不執行代碼的情況下顯露錯誤的功能,就特別重要。
BugDetective獨特的靜態分析通過搜索代碼中的 “可疑點”,開始分析正在測試的源碼。可疑點是潛在的錯誤點。這些可疑點在 BugDetective 規則中被定義。只要識別了可疑點,BugDetective 就調查導致該可疑點的可能執行路徑,并檢查是否有任何確實違反BugDetective規則的路徑存在。如果找到了這樣的路徑,就報告一個違例。
例如,檢測可能的 “除數為零”情形的規則就規定,任何使用了"/" 或 "%" 運算符的點都是可疑的。然后它檢查分母中的變量,在導致它為零的任何可能執行路徑的點中,是否能保持零值。如果是的話,則會報告一條錯誤。
對于每個發現的錯誤,分層結構流路徑數據都會詳細準確地列出導致被識別錯誤的完整執行路徑,并以顯現出錯誤的那一代碼行作為結束。為減少每個被發現問題的診斷和糾正所需要的時間和工作量,流路徑詳細信息還會補充擴展注釋(例如,一條關于 “避免空指針解除引用”違例的描述就包含這樣的注釋,描述哪些變量、在流路徑的哪一點包含 null 值)。
為使分析過程更靈活、更適合于項目的獨特要求,可以參數化某些規則。因此,BugDetective 甚至可以用來檢測與特定的 API 使用相關的違例。
通過使用 BugDetective,開發團隊可以獲得以下關鍵好處:
查看更多parasoft測試產品
獲取更多活動信息
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn