软件工程白盒测试
白盒测试包括逻辑覆盖测试、基本路径测试、数据流测试和循环测试。
逻辑覆盖测试
逻辑覆盖测试其实就是对于分支情况进行测试。分为语句覆盖、判定覆盖、条件覆盖、条件/判定覆盖、路径覆盖。
语句覆盖
每个语句都要能够执行到,一般只有if没有else的语句都直接进if就可以执行到全部语句了。
判定覆盖
每一次if(条件1|条件2|条件3)这个整体称为一次判定,每一个判定的真和假全部执行一遍就可以了。
判定覆盖了,肯定是语句覆盖了。
条件覆盖
上面那个判定里面有很多个条件,条件覆盖就是让每一个条件真和假的情况全都执行一遍就可以了。
判定/条件覆盖
所有的条件的真假都执行可不一定能保证这个判定的真假都能执行,于是判定的真和假都有也必须执行。
判定/条件覆盖了,肯定判定覆盖了,也肯定条件覆盖了。
路径覆盖
覆盖所有的路径,比如一个分支可以选1也可以选2。合并到一个结点之后又可以选3或者选4。这时候路径就有13、14、23、24这么四条路。都要覆盖到。
基本路径测试
将程序画成程序流图,程序流图中while可以有一个自己返回自己的箭头,但是也只有一条,画法如图所示。
然后给每一个独立路径都标记出来就可以设计测试样例了。
数据流测试 不重要
定义使用链:就是只要这个使用这个变量的地方和定义这个变量的地方没有新的定义,就是一个定义使用链。
每个变量的定义使用DU链必须被测试一次。适用于多嵌套if或者多嵌套循环语句中。
循环测试 不重要
循环分为简单循环、嵌套循环、串接循环、非结构循环。
简单循环
0次、1次、2次、多次、最大次、最大+1次、最大-1次循环的变量值设定。
嵌套循环
一开始外层设置为最小值,内层用简单循环来做。
接下来由内向外,内层设为经典值,外层还是最小值。
最后再将所有循环同时设置最小值或者最大值。这是内外搞完后的测试
串接循环
如果是互不影响,采用简单循环。
如果变量之间有影响,那么前面的循环可以看做是外层循环这样就可以做嵌套循环。
非结构循环
先进行结构化,然后再测试。
亲爱的小伙伴,可以打两毛钱支持一下作者哦!
接下来作者一定会越做越好的!