顶点覆盖(vertex coverage,VC):图覆盖中最简单,给定一张图,VC派生出来的测试需求集TR是指包括里面每一个可达顶点,对应每一个测试需求即可达顶点,都可以从一个测试用例集T中找到t,走过的路径可以覆盖这个顶点,就说测试用例集T满足顶点覆盖
边覆盖(edge coverage,EC):给定一张图,派生出来的的测试需求集TR中的每一个tr都是一个可达边,对每一个可达边都存在一个测试用例t去覆盖它,就称T满足边覆盖
满足EC即满足VC,满足VC不一定满足EC
边对覆盖(edge-pair coverage,EPC):相邻的边
完全路径覆盖(complete path coverage,CPC):TR包括G中的所有路径
n路径覆盖(nPC):VC(n=0),EC(n=1),EPC(n=0),CPC(n=无穷)
讨论:
1.单点图不存在边,规定边覆盖是指覆盖长度≤1的所有路径
2.有的图只有一条边,规定边对覆盖是指覆盖所有长度≤2的子路径
3.图中存在测试路径长度为n2,对于n1(n1≥n2)路径覆盖来说,可能会存在问题,所以要求覆盖≤n1的所有路径
重要概念:
subsume(蕴含):测试准则C1蕴含测试准则C2(C1≥C2),则对于任意测试用例集T,满足C1一定满足C2,称C1蕴含C2
推论:n1PC≥n2PC if n1≥n2
C1≥C2不代表满足C1的测试用例集T检测错误能力更强
例子:可以看出来边对覆盖subsume边覆盖,边覆盖subsume点覆盖,符合subsume推论
存在循环所以不能做到完全路径覆盖,如何解决且听下回分解