|
|
1
5
基本上,所有代码覆盖工具都会对代码进行测试,以检查执行了代码的哪些部分。 正如您提供的链接中所定义的,从编写仪器的人员的角度来看,C0和C1非常相似。唯一的区别是你把代码放在哪里。我将进一步推测C1比C0更容易,因为插装发生在抽象语法级别上,在抽象语法级别上,行尾不太重要。 我说C1更容易的另一个原因是,它处理的是语法实体,而不是词汇实体:您将如何使用工具:
嗯,只是一个想法。 至于C2,我从未在实践中见过它。原因是你可以得到指数放大:
对于n行代码,您需要2^n个测试。还有,你对循环做什么?通常,您将它们抽象为简单的if语句(即,对于您测试的每个循环,其主体在一个测试中执行了0次,在另一个测试中至少执行了一次)。
卡诺映射用于最小化布尔函数,我看不到与代码覆盖工具有任何有用的联系。 此外,您的问题有时也不是很清楚:您是希望技术能够实现更好的代码覆盖率,还是仅仅是您感兴趣的代码覆盖率工具的实现? |
|
2
0
使用程序转换系统。 以下是一篇技术论文: http://www.semdesigns.com/Company/Publications/TestCoverage.pdf 说明了一般情况下如何执行此操作。 我的公司Semantic Design提供了一整套测试覆盖率工具 提供上述所谓的C1覆盖(例如,“分支覆盖”) 所以是的 是 常用),适用于不同的语言 (C++,C+,C,java,COBOL,PHP,所有的多个) 方言)。 请参见www.semdesigns.com/Products/TestCoverage/index.html |
|
|
3
-2
.NET Profiling API ,它基本上在CLR本身中提供了一系列连接点。 |