依赖关系分析工具 - 更新回归测试用例

Pul*_*wal 18 java testing dependencies static-analysis qa

问题

这是我想要的一个常见问题.添加新代码转换为回归 - 现有的测试用例已过时.代码中的依赖关系意味着即使您知道如何修复此特定回归,也可能在两个方向的更多位置进行间接回归 - 传入和传出.

需求

我有一个运行SVN,Maven + Nexus,Sonar,Jenkins和JIRA,QC,QTP的商店.总而言之,这是一个良好的CI环境.

每一个新的构建我都会有新的回归案例.我希望在两个方向上找到Java包依赖关系并正确更新测试用例,以便涵盖所有类型的回归 - 直接和间接.这是一个更大的问题,因为我的单元测试覆盖率甚至没有接近50%,并且集成测试的自动化无法跟上开发的步伐.

我的选择

  1. SONAR
  2. Google CodePRo
  3. JArchitect
  4. Jtest(与供应商Parasoft讨论过.他们没有这方面的工具)
  5. 利用现有的环境,比如Atlassian插件
  6. Kalisitck(供应商演示 - 漂亮的工具 - 涉及学习曲线和成本)
  7. Coverity(像Kalistick一样 - 学习曲线和复杂的安装.非常昂贵的许可证.
  8. 还有其他开源/付费吗?

JArchitect,SONAR和CodePro将为您提供一个像这样这样的简单矩阵.通过告诉我哪些用户使用过的类受到影响,满足了我的一半要求.我想要的是更进一步,让工具告诉我哪些相应的测试用例受到影响,以及我是否需要更新和/或执行它们以覆盖我的回归风险.

Kalistick,Coverity和其他人可能会做我想做的事情 - 他们很难设置和配置,慢慢地与你的系统一起成长,因此不会立即产生效率,需要花费成本并需要学习曲线.

简短的问题

考虑到所有因素,如安装,学习曲线,成本,可用性或任何其他参数,我在上面使用哪些工具进行设置.



我已经阅读了关于的FAQ部分,很少有线程像Java的静态分析工具推荐?, /sf/ask/260134241/以及 对代码指标的迷恋是什么? 和许多相关的,但他们没有回答我的具体问题.

wrm*_*wrm 2

使用JDepend,您可以分析包之间的依赖关系,甚至可以创建单元测试来确保依赖关系,或者将其与Fitnesse集成以进行良好的依赖关系表测试。如果您的测试位于特定包中,这可能会有所帮助......