您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 第5部分-软件测试评价--北风
北风网教师:小林测试有有效性评价方法测试覆盖率对软件测试作用如何正确使用测试覆盖率覆盖率是用来度量测试完整性的一个手段。覆盖率可以通过一个比率公式来表示:覆盖率=(至少被执行一次的item数)/item的总数功能覆盖中最常见的是需求覆盖,其含义是通过设计一定的测试用例,要求每个需求点都被测试到。需求覆盖率=(被验证到的需求数量)/(总的需求数量)在黑盒测试中,还有一种覆盖称为接口覆盖,又叫入口点覆盖。语句覆盖:选择足够的测试用例是程序中每个可执行语句至少执行一次语句覆盖率=(至少被执行一次的语句数量)/(可执行的语句总数)1PRINT“Helloyou”2PRINT“Thedateis:”;Date&3PRINT“Thetimeis:”;Time&4END判定覆盖(分枝覆盖):选择足够的测试用例,使得程序中每个判定至少都获得一次“真”值和“假”值。判定覆盖率=(判定结果被评价的次数)/(判定结果的总数)1PRINT“Helloyou”2IFDate=“01-01-2000”THEN3PRINT“HappyNewYear”4ENDIF5PRINT“Thedateis:”;Date6PRINT“Thetimeis:”;Time7END条件覆盖:设计若干测试用例,执行被测程序后是每个判定中每个条件的可能值至少满足一次。条件覆盖率=(条件操作数值至少被评价一次的数量)/(条件操作数值的总数)1PRINT“Helloyou”2IFDate=“01-01-2000”ANDTime=“00:00:00”THEN3PRINT“HappyNewYear”4ENDIF5PRINT“Thedateis:”;Date6PRINT“Thetimeis:”;Time7END判定/条件覆盖:判定/条件覆盖要求设计足够的测试用例,使得判定中的每个条件的所有可能(真/假)至少出现一次并且每个判定本身的结果(真/假)也至少出现一次条件组合覆盖:执行足够的测试用例,使得每个判定中条件的各种可能组合都至少出现一次,显然满足条件组合覆盖的测试用例一定满足“判定覆盖”、“条件覆盖”和“判定/条件覆盖”路径覆盖:设计足够的测试用例要求覆盖程序中所有可能的路径简单循环其循环的最大次数为n测试:◦跳过整个循环◦只循环一次◦循环两次◦循环m次其中mn◦分别循环n-1次,n次,n+1次串接循环如两个串接循环是独立的,则可分别采用简单循环的测试方法测试不独立第一个循环计数器是第二个循环的初值,则可采用嵌套循环方法进行测试嵌套循环如果嵌套循环也采用简单循环的办法此时会随嵌套层数成几何级数增加导致不可测Beizer提出一种减少测试级数的方法◦从最内层循环开始测试,内层循环按简单循环策略,所有外层循环次数设到最小数◦由内向外一次向上回退一次嵌套循环,回退后进行测试,本层循环的所有外层循环仍取最小值,本层循环嵌套的循环取一次“典型”值◦继续向外回退,直到所有循环测试完毕非结构循环按结构化程序设计思想首先将程序结构化再进行测试函数覆盖:在测试中有哪些函数被测试到了,其被测试到的频率有多大,这些函数在系统所有函数中占的比例由多大。函数覆盖率=(至少被执行一次的函数数量)/(系统中函数的总量)指令块表示函数内部的一系列语句,在这一语句中不存在控制语句(会引起分支)。指令块覆盖=(至少被执行的一次的指令块数量)/(系统中指令块总数)全路径全定义-使用路径全使用全计算使用/部分谓词使用全谓词使用/部分计算使用全节点全边全谓词使用全定义覆盖率不是目标,只是一种手段;你不可能针对所有的覆盖率指标去进行测试;相反,只考虑一种覆盖率指标也是不恰当的;不要追求绝对100%的覆盖率
本文标题:第5部分-软件测试评价--北风
链接地址:https://www.777doc.com/doc-6791373 .html