【发布时间】:2012-02-10 07:24:20
【问题描述】:
假设我有这段 C/C++ 代码:
int c = 12; // Should I count this line as basic block?
if (a != 0 && b > 10) {
c += (a + b);
} else {
c += 1;
}
printf("%d", c); // Should I count this line as basic block?
测试用例a = 1, b = 12的基本块覆盖率是什么?
是 75% 还是 50%?
我应该将第一行和最后一行算作基本块吗? 基本块的准确定义是什么?
另一个混淆点:
int c = 16;
d += c;
是1个基本块还是2个基本块?每一行都应该算作一个基本块吗?
【问题讨论】:
标签: unit-testing testing code-coverage