程序执行过程中可能会反复多次执行循环结构中的语句,如果多执行一次或少执行一次都会造成运行结果错误。循环测试是为了检查循环结构的正确性。当程序是可终止时,循环结构总有一个最大执行次数n,但由于开销限制,一般不可能对循环恰好执行0次、1次、……、n次都分别测试一次。这里考虑简单循环(即不考虑循环嵌套、非结构化循环等情况),当循环次数至多为n时,测试用例设计需要考虑以下方面:
(1) 完全跳过循环;
(2) 仅循环一次;
(3) 循环两次;
(4) 循环m次,m<n;
(5) 循环n-1次、n次、n+1次。
这样就可以把循环次数处于范围边界附近和处于范围内部的情况都测试到。
由于白盒测试方法与程序的代码控制结构直接相关,当程序复杂时,其测试开销非常巨大,通常只能在一定的测试充分性准则下进行(见1.3节)。例如,一般应用领域的程序可能达到语句覆盖即可,关键领域的软件测试需要满足多条件覆盖等更加严格的充分性准则。