代码窗口显示以下信息
当前用例所执行的代码;
语句覆盖状况; 条件覆盖状况; 判定覆盖状况;
修正判定条件覆盖(MC/DC)状况;
子函数调用状态。如上图。当前用例所执行的代码
当前用例所执行的代码用黑色显示,当前用例未执行的代码用红色显示。注释用绿色显示,其他代码(流程控制关键字及其括号,{},逻辑操作符,字符和字符串)一概用蓝色显示。
未覆盖代码
字体颜色为红色且背景色为淡红色的代码是未覆盖代码(所有用例均未执行)。语句覆盖的统计单位是语句块,语句块是指一组语句序列,在该语句序列中,如果第一条语句执行了,在未发生异常的前提下,其他语句也会执行。
判定中的每个条件,按一个语句块计算。语句覆盖率 =
已覆盖语句块数 / 全部语句块数,请参考信息窗口。
浏览当前用例所执行的代码,结合数据窗口,程序行为一目了然,可以实现VTDD,也容易找出错误原因。
条件覆盖、判定覆盖与MC/DC
条件覆盖的统计单位是条件的取值(真/假)。条件前面的[T]表示该条件的真值未覆盖,[F]表示假值未覆盖。条件覆盖率 = 已覆盖条件数 / 全部条件数,请参考信息窗口。 判定覆盖的统计单位是整个判定的计算结果(真/假)。判定表达式开头部分的<T>表示该判定的真值未覆盖,<F>表示假值未覆盖。
MC/DC的核心意思是每个条件独立影响判定结果,如果某个条件未独立影响判定结果,将在前面加上[M]。
用例设计
点击未覆盖的逻辑单位(语句,或条件前面的[T]、[F]、[M],
或<T>、<F>),右键菜单
选择“用例设计”,即可切换到用例设计器,为选中的逻辑单位设计覆盖用例。条件的覆盖分为三个层次:最低层次是条件语句的覆盖、其次是真值和假值的覆盖、最高层次是MC/DC。由于完成了[T]或[F]覆盖,条件语句即可完成覆盖,因此,没必要为条件语句覆盖设计用例
。条件完成覆盖后,判定、判定后的语句也会完成覆盖,因此,在代码窗口一般只需要点击[T]、[F]、[M]来设计用例就可以了。
删除/恢复逻辑单位
如果某个逻辑单位无法覆盖(测试用例设计器中,待满足条件和已满足条件冲突),则可以标示为删除。
点击一个逻辑单位,用例菜单选择“删除逻辑单位”,即标示为不可覆盖,并从覆盖统计中删除。点击一个已删除的逻辑单位,用例菜单选择“恢复逻辑单位”,即恢复为正常状态。 如果已删除的逻辑单位又被覆盖,则自动恢复为正常状态。
子函数调用标记及浏览子函数代码
函数名后的,意为Stub,表示函数被打桩
(函数实现不存在或被隔离,VU生成桩函数来代替)。
函数名后的,意为mock,表示函数设置了底层输入。
表示函数被打桩,且设置了底层输入,只有表示函数调用了实际代码,但设置了底层输入
(实际代码未执行)。
函数名后的,表示执行了实际代码,点击,将跳转到子函数代码
,可查看子函数代码的执行状态。
点击跳转到子函数代码后,中间工具栏的和变成有效状态,
点击可返回上一级函数或直接返回顶级函数。 |