Java的参数值覆盖(PVC)工具

3

传统的代码覆盖率对于一些包含深层类层次结构和通用方法使用的代码来说并不足够好。有时候所有行都被覆盖了,但是某些被调用方法的参数在值上并没有被覆盖。我急需找到一些自动化的PVC工具,可以分析测试执行,并结合常规测试覆盖率,为我提供一些参数值覆盖率。是否存在这样的工具?还是我必须手动工作来创建矩阵,以分析给定方法的所有参数组合。谢谢!

1个回答

1
不同的参数值对应用程序唯一的重要影响是导致其采取另一条执行路径。所有导致它采取一条路径的值在测试方面都是等效的。
因此,与其担心参数值,您可能更好地寻找一个工具,坚持覆盖所有执行路径。这些工具似乎并不容易找到。
每条路径将由一些测试序列控制;这些测试将有效地将程序状态和参数值分成有趣的不同区域。
虽然您希望该工具帮助验证您已经练习了这些路径,但我可以看出您可能希望能够提取参数值的范围,以便编写测试来练习这些路径。
因此,您需要另一个工具来提取将导致执行不同路径的参数范围。
我不知道任何解决方案。您可能能够构建一个(请参见我的个人简介);对于大型系统而言,手动完成这项工作似乎非常令人生畏。

我同意在许多情况下这可能是不必要的。例如,为每个参数测试许多常见值可能非常冗余,因为在给定应用程序中可能没有这样的参数值的情况。但是当您无法获得适当的QA并且需要生成测试用例时,很有可能会错过一些非常关键的情况,特别是当您拥有非常深的类层次结构且行覆盖率几乎没有意义时。因此,我想到了这个自动化工具,它不存在...如果对参数值有适当的限制,它可能是一个可行的产品。 - buræquete

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接