是否有工具显示提供决策/条件覆盖的测试用例数量?
代表:
if(x>0)
if(x<=10 && y>0)
3个案例足以作出决定/条件覆盖。
if(x>0)
if(x<=10 || y>0)
4个案例足以作出决定/条件覆盖。
是真的吗?
答案 0 :(得分:1)
可能不是。*除了像这样的微不足道的情况之外,很难弄清楚可能的案件数量。
另一方面,还有代码覆盖工具,可以跟踪代码在测试中实际运行的百分比。
<小时/> *我正在对冲我的赌注;它很难证明是消极的;)
答案 1 :(得分:0)
是的,有些工具可以生成测试用例以实现覆盖。如果您感兴趣的只是数字,那么一旦它们全部存在,您就可以计算它们。生成的测试套件通常至少具有每个测试用例在添加时(按顺序)改善覆盖范围的属性。由于它们的工作方式,这些工具通常在覆盖标准方面具有灵活性。我猜它们都允许决策/条件覆盖。
我们提供了一种新的符号执行工具KLEE,能够自动生成测试,以便在各种复杂和环境密集型程序中实现高覆盖率。
来自http://llvm.org/pubs/2008-12-OSDI-KLEE.html
另一个测试用例生成工具是PathCrawler
第三个是Microsoft使用的内部工具Sage。
这些工具所依赖的技术的通用名称是concolic testing。因为正如Oli在他的回答中指出的那样,这些工具正在解决这个问题,设计空间非常大,而且这些工具之间的细节差异很大。