文章目錄
具體Idea總結
- 分析現在Bug和漏測案例的源代碼,並基於現有靜態代碼檢查工具補充規則;
- 使用靜態代碼測試的手段來拓展安全測試等方面;
- 使用靜態代碼測試的手段來拓展前端/客戶端測試等領域;
- 自動使用類似窮舉的方式完成功能驗證;
- 自動生成單元測試用例輔助完成單元測試驗證;
其他:
- 使得靜態代碼檢查工具的規則可以對接第三方的規則進行迭代更新;
- 將檢查結果以報告形式自動嵌入到流程中;
靜態代碼問題檢查
SonarQube
https://github.com/SonarSource/sonarqube
靜態代碼檢查分析,發現問題比如空指針引用、邏輯錯誤、資源泄漏等等;提供大量API接口可以方便集成到CI流程;
Codacy
靜態代碼檢查分析,發現和報告安全問題,代碼覆蓋率,代碼重複率,代碼複雜度;支持對每個commit的增量檢查;
PMD
一個源代碼分析器,尋找常見的編程缺陷,例如未使用的變量、空的catch塊、多餘的對象創建等等;也可以尋找重複的代碼;
shipshape,errorprone,infer,fireline,spotbugs等
https://hacpai.com/article/1536722559569
基於靜態代碼的其他方面測試
KeY
https://www.key-project.org/applications/program-verification/ (非開源)
基於JML描述屬性,自動進行功能驗證;
自動生成單元測試的工具
evosuite等,也有很多IDE插件,支持生成或輔助生成單元測試代碼;一般是在IDE內操作;