靜態代碼測試

具體Idea總結

  1. 分析現在Bug和漏測案例的源代碼,並基於現有靜態代碼檢查工具補充規則;
  2. 使用靜態代碼測試的手段來拓展安全測試等方面;
  3. 使用靜態代碼測試的手段來拓展前端/客戶端測試等領域;
  4. 自動使用類似窮舉的方式完成功能驗證;
  5. 自動生成單元測試用例輔助完成單元測試驗證;

其他:

  1. 使得靜態代碼檢查工具的規則可以對接第三方的規則進行迭代更新;
  2. 將檢查結果以報告形式自動嵌入到流程中;

靜態代碼問題檢查

SonarQube

https://github.com/SonarSource/sonarqube

靜態代碼檢查分析,發現問題比如空指針引用、邏輯錯誤、資源泄漏等等;提供大量API接口可以方便集成到CI流程;

Codacy

https://github.com/codacy

https://www.codacy.com/

靜態代碼檢查分析,發現和報告安全問題,代碼覆蓋率,代碼重複率,代碼複雜度;支持對每個commit的增量檢查;

PMD

https://github.com/pmd

https://pmd.github.io/

一個源代碼分析器,尋找常見的編程缺陷,例如未使用的變量、空的catch塊、多餘的對象創建等等;也可以尋找重複的代碼;

shipshape,errorprone,infer,fireline,spotbugs等

https://hacpai.com/article/1536722559569

基於靜態代碼的其他方面測試

KeY

https://www.key-project.org/applications/program-verification/ (非開源)

基於JML描述屬性,自動進行功能驗證;

自動生成單元測試的工具

evosuite等,也有很多IDE插件,支持生成或輔助生成單元測試代碼;一般是在IDE內操作;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章