循环测试注重循环构造的有效性。共分为四种循环:简单循环、嵌套循环、串接循环和不规则循环。
下图为四种循环示意图:
1. 简单循环
如图所示,简单循环就是最普通的循环,不嵌套,并且只有他一个。
用C++表示的话一个 while 循环,一个 do while 循环。
对于简单循环测试如下:
首先规定 n 为简单循环允许通过循环的最大次数。
①跳过整个循环。(检查循环开始到结束)
②只执行一次循环。(检查循环初始值)
③执行两次循环。(检查多次循环)
④执行 m 次循环,m < n 。注意 m 不要等于1或2不然和②③重叠了。(检查更多循环)
⑤执行 n-1 , n , n+1 次循环。(检查临界值)
2. 嵌套循环
如果用简单循环的测试方法来测试嵌套测试,测试次数会随着嵌套层数几何式增加。
所以要有新的测试方法:
①从最内层循环开始,将其他循环次数置为最小值。
②对最内层循环做简单循环测试,使得其他循环的迭代参数(即循环计数)最小。
③由内向外构造下一个循环,使得其他外循环的迭代参数(即循环计数)最小。并且增加其他测试用例,对所有其它嵌套内层循环的循环次数取“典型”值。例如for(i != 1)这种,测试1 。
③继续测试直到所有测试完毕。
3. 连锁循环(也称串接循环)
分为两种情况:
①如果串接循环的循环彼此独立,可以使用简单循环测试策略来测试串接循环。
②如果串接循环的循环彼此不独立,例如第一个循环的循环计数是第二个循环的初始值,使用嵌套循环策略测试。
4. 不规则循环
不测试,要求将这类循环重新设计成结构化程序结构。重新编码!