函数一:
getMaxInTwo(int a,int b)
{
if a>=b return a;
else return b;
}
函数二:
getMaxInThree(int a,int b,int c)
{
a=a+1;
int max=getMaxInTwo(a,b);
max=getMaxInTwo(max,c);
}
单元测试用例的设计:
getMaxInTwo的UT用例:
(3,2)
(1,3)
(2,2)
语句覆盖率为100%;
getMaxInThree的UT用例
(1,2,3)
语句覆盖率为100%
如果2个函数都执行了单元测试,则语句的覆盖率为100%。
如果仅对getMaxInThree执行了单元测试,则getMaxInTwo的语句覆盖率仅为50%。
集成测试用例的设计:
2个函数的接口的分析:
getMaxInThree需要传递2个参数给getMaxInTwo。这2个参数的正常等价类划分为:
a>b
b>a
a=b
我们希望getMaxInThree可以输出这样2个参数,使我们可以覆盖上述的3个等价类,那么getMaxInThree的输入应该是什么呢:
考虑(1,2,3)此用例仅覆盖了第2个和3个等价类。因此要完全覆盖接口的各种情况,需要我们设计另外一个新的用例:
(2,2,2)
因此我们得到的集成测试用例为:
(1,2,3)
(2,2,2)
这2个用例覆盖了接口的3种情况,比较充分。即当2个函数集成后,需要执行这样2个用例才可以。
例解:集成测试用例与单元测试用例的区别
最新推荐文章于 2024-07-02 20:22:19 发布