循环测试
问题引入
带有循环的路径覆盖的困难性;
简化循环的假设
- 不进入循环
- 只循环一次
循环结构
1、简单循环 测试
需设计五种测试:
- 0次循环;
- 1次循环;
- 2次通过循环;
- m次通过循环,m<n;
- n-1,n,n+1次通过循环。
n是允许通过循环的最大次数。
2、嵌套循环 测试
测试方法:
- 从内到外开始测试,最内层循环使用简单循环的全部测试,其它层循环次数设为最小值;
- 进行下一层的测试,外层循环设为最小值,内层循环选择典型值。
- 反复测试,直到结束。
3、连锁(串接)循环 测试
如果串接在一起的多个循环相互独立,互不相干,应选择简单循环测试。
如果不独立,相关联,则应选择嵌套循环测试。
4、非结构循环 不能测试
代码打回去重写 /滑稽
实例
求一组数中的最大值。最大循环次数为3。
int max ( int a[ ], int n )
{
int i = 0, j, k;
k = i;
for ( j = i +1, j < n ; j++ ) {
if ( a[j] > a[k] )
k = j;
}
return a[k];
}
结构属于简单循环。
0次循环:n=0;
1次循环:n=2
2次通过循环:n=3(同时也充当了m次,n-1次循环)
3次通过循环:n=4
4次通过循环:???这个怎么做到
这里不太理解,百度循环测试的资料,内容也是少之又少。