数据结构与算法
白盒测试
逻辑覆盖又可分为以下6种
判定覆盖(分支覆盖)
程序中每个判定至少有一次为真值,有一次为假值,使得程序中每个分支至少执行一次
特点
1、满足判定覆盖的测试用例一定满足语句覆盖
2、对整个判定的最终取值(真或假)进行度量,但判定内部每一个子表达式的取值未被考虑
语句覆盖
程序中每一个语句至少能被执行一次
与判定覆盖关系
特点
1、程序中每一个语句执行一次
2、对程序执行逻辑的覆盖率低,属于最弱的覆盖方式
3、无需测试程序的分支情况
4、无需测试程序分支判断的输入值以及输入值的组合
5、无需测试程序执行的不同路径
条件覆盖
程序各判定中的每个条件获得各种可能的取值至少满足一次
特点
1、弥补了判定覆盖的不足——对整个判定的最终取值(真或假)进行度量
2、条件覆盖不一定能满足判定覆盖
3、条件覆盖不一定能满足语句覆盖
条件判定覆盖
条件组合覆盖
路径覆盖
路径测试就是设计足够的测试用例,覆盖程序中所有的路径。
通常在设计测试用例时应该根据代码模块的复杂度,选择覆盖方法
参考:https://www.cnblogs.com/snailrunning/p/11019436.html
题目
设计相应的测试用例,确保能够覆盖对应的分支
方法:根据路径来决定输入的值,再写出测试用例
参考:https://blog.csdn.net/zff13673839907/article/details/102161061
参考:https://blog.csdn.net/u010098159/article/details/50961635
控制流图
画出控制流图
如何根据一段代码,画出其控制流程图,流程图
控制流图中的基本元素
节点和边
节点由带标号的圆圈表示比如一个处理框序列和一个条件判定框(假设不包含复合条件)。
控制流线由带箭头的弧或线表示,可称为边。它代表程序中的控制流。
其中,由边和节点围成的面积称为区域。当计算区域数时,应该包括图外部未被围起来的那个区域。
注意:在选择或多分支结构中,分支的汇聚处应有一个汇聚节点。
原文链接:https://blog.csdn.net/xiadanying/article/details/91419065