程序的结构主要有三种:顺序结构,分支结构和循环结构。传统的白盒测试技术-逻辑覆盖测试,是专门用来测试程序中的分支结构和循环结构。顺序结构测试比较简单,只需要构造合适的测试用例,使得程序的每一条语句都要执行一遍即可。之前关于白盒测试(语句覆盖,分支覆盖,分支-条件覆盖,条件组合覆盖以及路径覆盖)的博文都是针对分支结构测试的。
逻辑驱动覆盖包括分支结构的测试和循环结构测试
循环语句测试
我们一般把循环结构分为以下4中:简单循环,串接循环,嵌套循环和不规则循环
1.简单循环
简单循环中应该重点测试以下几个方面:
循环变量的初值是否正确
循环变量的最大值是否正确
何时退出循环循环变量的增量是否正确
2.串接循环
如果串接循环的循环体是彼此之间独立的话,可以使用简单循环的测试方法。但是如果两个循环串接起来,并且第一个循环是第二个循环的的初始值,则考虑使用嵌套循环。
3.嵌套循环
对于嵌套循环应该重点测试以下几个方面:
当外循环变量为最小值,内层循环也为最小值时,运算结果
当外循环变量为最小值,内层循环也为最大值时,运算结果
当外循环变量为最大值,内层循环也为最小值时,运算结果
当外循环变量为最大值,内层循环也为最大值时,运算结果
循环变量的增量是否正确
何时退出内循环
何时退出外循环
4.不规则循环
这种循环不能进行测试,需要重新设计成结构化的程序后再进行测试