● 判定路径覆盖(Decision-to-Decision Paths Coverage):DDP覆盖率=(至少被执行到一次的判定路径数量)/(系统中判定路径总数) 其中:判定路径指的是从函数入口或一个判定的开始到下一个判定的开始。
● 更改条件判定覆盖(Modified Condition/Decision Coverage):为多条件测试的情况提供方便,通过分析条件判定的覆盖来增加尽量少的测试用例。
● 分支条件组合覆盖(Branch Condition Combination Coverage):分支条件组合覆盖率=(被评价到的分支条件组合数)/(分支条件组合总数) 重在组合分支条件覆盖使用的用例
● 过程到过程路径覆盖(Procedure-to-Procedure Path Coverage):针对系统级,或子系统级的。PPP覆盖率=(至少被执行到一次的PPP数量)/(系统总PPP数量)
● Z路径覆盖
● ESTCA覆盖
● LCSAJ覆盖
● ……
如何使用覆盖率
● 基本原则
○ 覆盖率不是目的,只是一种手段
○ 不可能考虑所有覆盖率的指标,也不能只考虑一种覆盖率的指标
○ 不要追求100%的覆盖率
○ 尽可能地设计提高覆盖率的用例
● 衡量覆盖率的标准
○ 可自动化性
○ 可获得性
○ 可理解性
○ 可维护性
○ 完整性
● 使用最少测试用例来达到覆盖
用N-S图来表示结构化程序中的基本控制结构:顺序型——串行操作、选择型——分支操作、重复型——循环操作。
其中:A,B,C,D,S均表示要执行的操作,P是可取真假值的谓词,Y表示真值,N表示假值。这些图形可以相互嵌套使用。
对于这些图的测试用例数:直接数执行的操作数,顺序的相乘,选择的相加。