从是否关注程序内部的结构的角度出发可以测试类型划分为:白盒测试、黑盒测试和灰盒测试,黑盒测试不关注程序内部的实现结构,仅仅是通过向程序进行输入来观察程序的输出对不对;白盒测试就需要关注程序内部的实现结构,对程序的代码逻辑结构实施相关的测试;下面来简单介绍一下循环路径测试。
白盒测试的基本路径覆盖法中将循环限制在最多一次,这样虽然大大降低了需要覆盖的路径的条数,但对循环的测试却不充分,因此还需要对循环路径进行测试。
循环路径测试包含以下两种类型:
1.简单循环的测试
2.嵌套循环的测试
上图为简单循环的程序流程图,简单循环的测试主要考虑:
(1)零次循环:从循环入口到出口
(2)一次循环:检查循环初始值
(3)二次循环:检查多次循环
(4)m次循环: 检查更多次循环,反映执行典型的循环的执行次数
(5)最大次数循环、比最大次数多一次、少一次的循环
(6)对于增量和减量不是1的循环,要特别注意
上图为嵌套循环的程序流程图,嵌套循环的测试主要考虑:
(1)对最内层循环做简单循环的全部测试。所有其它层的循环次数置为最小值
(2)逐步外推,对其外面一层循环进行测试。测试时保持所有外层循环的循环次数取最小值,所有其它嵌套内层循环的循环次数取“典型”值
(3)反复进行,直到所有各层循环测试完毕
(4)对全部各层循环同时取最小循环次数,或者同时取最大循环次数