我们公司正在研究在手动回归测试期间使用 cobertura 代码覆盖率的想法,以找出我们在哪里拥有“相邻功能”。一般的想法是,如果回归测试 A 命中方法 businessLogicFoo(),并且回归测试 B 也命中该方法,我们可以说回归测试 A 和 B 具有“相邻功能”。
我们对有效地确定哪些回归测试具有“相邻功能”特别感兴趣,以便我们可以安排更好的回归运行(我们有更多的测试需要测试——所以我们总是最终测试所有回归测试的一个子集)。
有没有人尝试过这样的事情?使用 cobertura 或其他代码覆盖率库?
我的第一个猜测是我们编写了一个 groovy 脚本(我首选的脚本语言)来将 cobertura 报告导出为 XML,然后解析出所涵盖的类/方法 - 过滤掉任何多余的类 - 然后找到两个报告之间的方法/类交集. 理想情况下,所有控制都在 Maven 中。但我只是猜测。