2-白盒测试

图和图覆盖准则

测试中的图

控制流图:

有限状态集:(源于规格文档)

各种设计图:

点+边 = 图

点:有穷非空集合

边:点对

初始结点

终结结点

多个初始结点的情况,规定一个哑结点,作为初始结点

 

路径:点的序列,相邻结点必须构成有效边

测试路径:表达测试的执行(出发点是初始结点,终点是终结结点)

此门课:一条测试只能执行一条测试路径(前提条件:测试环境是确定性的)

图覆盖准则

语法可达:在通过语法构建的图结构中存在一条路径

语义可达:在实际程序中存在一个测试可达

测试路径覆盖:

结构覆盖:常见的图覆盖类型

不关心抽象出的图的内容(来源不一,所以内容不一),只考虑抽象出的点和边的覆盖

数据流覆盖:

 

测试准则:描述测试需求的一些规则

测试需求:描述测试路径性质

测试需求集:TR  测试用例集:T 

 

结构化覆盖

顶点覆盖(VC):测试用例集(T)覆盖所有顶点(v)

边覆盖(EC):测试需求集合(TR)里面的每一个测试需求(tr)都是一个可达边,每一个可达边都存在一个测试用例去覆盖。称此测试用例集(T)满足边覆盖

满足EC一定满足VC,满足VC不一定能满足EC

 

边对覆盖:

两个测试路径即可满足此图的VC和EC,却无法满足边对覆盖

如图,至少需要四条路径满足边对覆盖

即2-4-5;2-4-6;3-4-5;3-4-6必须被覆盖,所以至少需要四条路径

 

n路径覆盖:

n=0是零点覆盖

n=1是边覆盖(长度<=1)

n=2是边对覆盖(长度<=2)

n=无穷 是完全路径覆盖 (长度<=n1,n1路径覆盖)

 

蕴含:(“满足”上的包含)

注意:准则1蕴含准则2,不代表准则1的错误检测能力更强

 

边对覆盖Subsume边覆盖;边覆盖Subsume点覆盖

即满足EC一定满足VC,满足VC一定能满足边对覆盖

 

若n1>=n2,n1路径覆盖Subsume n2路径覆盖

因为此图存在循环,所以完全路径覆盖的测试路径是无穷多个

 

控制流测试

控制流图(CFG):表示程序的流转过程          顶点+边

顶点:代码,语句块,函数,方法体

 

 

 

 

在2和3结点后添加终止结点

 

此图2结点后也可加入3结点,即此图为最简版

 

数据流测试

关注节点上的变量的操作是否正确

变量操作:

定义:赋值,初始化等

使用:分支,判断,循环等

 

DU对:定义引用对

定义清晰:li上定义,lj上使用(两者之间无二重定义)

 

DU路径:

v:变量

 

数据流覆盖准则:

定义覆盖:v所有定义的地方都覆盖过一次

引用覆盖:v所有引用的地方都至少覆盖过一次

定义引用路径覆盖:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值