白盒测试之逻辑覆盖(个人见解)

Gelsey ·
更新时间:2024-09-20
· 765 次阅读

逻辑覆盖
逻辑覆盖是白盒测试中以程序内部的逻辑结构为基础的设计测试用例的技术。因为不可能进行穷尽的测试,有选择的执行程序中某些最具代表性的通路是对穷举测试唯一可行的代替方法。 语句覆盖:每个语句至少执行一次 判定覆盖:每个判定的每个分支至少执行一次 条件覆盖:每个判定的每个条件应取到各种相同的值 条件判定覆盖:同时满足判定覆盖与条件覆盖。 条件组合覆盖:每个判定中各条件的每一种组合至少出现出一次。 路径覆盖:程序中每一条可能的路径至少执行一次。

例如

public static int Test(int x,int y,int z){ if(x>3&&z5) y=x*y-10; return y; } PS: &&同时为真才为真,有一个为假即为假。 ||同时为假才为假,有一个为真即为真。 y=y/x+4 即 y除x后再加4;并不是 y/(x+4)。

设计测试用例

1.语句覆盖

x y z x>3 z<10 x==4 y>5 x>3&&z<10 x==4 || y>5 最终结果
4 8 4 T T T T T T 14
可以简单理解为:条件以及判断分支都为true。

2.判定覆盖

x y z x>3 z<10 x==4 y>5 x>3&&z<10 x==4 || y>5 最终结果
6 4 4 T T F F T F 4
4 8 10 T F T T F T 22
可以简单理解为:两个判断分支,分别都有一次true与false。

3.条件覆盖

x y z x>3 z<10 x==4 y>5 x>3&&z<10 x==4 || y>5 最终结果
4 4 10 T F T F F T 6
2 6 4 F T F T F T 2
可以简单理解为:每个条件都分别有一次true与false。

4.条件判定覆盖

x y z x>3 z<10 x==4 y>5 x>3&&z<10 x==4 || y>5 最终结果
4 8 4 T T T T T T 14
2 4 10 F F F F F F 4
可以简单理解为:全都为true或者全都为false。

5.条件组合覆盖

x y z x>3 z<10 x==4 y>5 x>3&&z<10 x==4 || y>5 最终结果
4 8 4 T T T T T T 14
4 4 10 T F T F F T 6
3 7 4 F T F T F T 11
2 4 10 F F F F F F 4
可以简单理解为:同时满足条件覆盖与条件判定覆盖。

6.路径覆盖

x y z x>3 z<10 x==4 y>5 x>3&&z<10 x==4 || y>5 最终结果
4 8 4 T T T T T T 14
6 4 4 T T F F T F 4
4 8 10 T F T T F T 22
2 4 10 F F F F F F 4
可以简单理解为:两个判断分支全真、第一个为真,第二个为假、第一个为假,第二个为真、全假。

最后:
测试代码时所执行的路径占总路径数越高,则覆盖程度越大。
那么覆盖准则最强的是路径覆盖,最弱的是语句覆盖

卟卟· 原创文章 1获赞 1访问量 12 关注 私信 展开阅读全文
作者:卟卟·



白盒 白盒测试 测试

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章