欢迎来到培训无忧网!

全国切换

咨询热线 400-001-5729

位置:培训无忧网 > 新闻资讯 > 电脑/IT > 软件测试 >  软件测试学习之测试覆盖率了解多少

软件测试学习之测试覆盖率了解多少

来源:培训无忧网 发布人:星星

2022-01-21 11:32:57|已浏览:252次

测试覆盖率

软件测试覆盖率简介

       1、定义:覆盖率是用来度量测试完整性的一个手段,同时也是测试技术有效性的一个度量。
       2、计算:覆盖率=(至少被执行一次的item数)/item的总数
       3、特点:
       1)通过覆盖率数据,可以检测我们的测试是否充分
       2)分析出测试的弱点在哪方面
       3)指导我们设计能够增加覆盖率的测试用例,有效提高测试质量,但是测试用例设计不能一味追求覆盖率,因为测试成本随覆盖率的增加而增加。
软件测试覆盖率分类
       覆盖率按照测试方法大体上可以划分为三大类,即白盒覆盖(white-Box Coverage)、灰盒覆盖(Gray-Box coverage)和黑盒覆盖(Black-Box Coverage)。
白盒覆盖率(white-Box Coverage)
       白盒覆盖率中使用的最常见的就是逻辑覆盖率(Logical Coverage ),也叫代码覆盖率(Code Coverage)或者结构化覆盖率(Structural Coverage),我们常见的逻辑覆盖包括:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。
1、语句覆盖(Statement Coverage)
定义:在测试时,运行被测程序后,程序中被执行的可执行语句的比率。
计算公式:语句覆盖率=(至少被执行一次的语句数量)/(可执行的语句总数)
特点:语句覆盖可以检验每个可执行语句,但是即使语句覆盖率达到了100%,也会有缺陷发现不了,所以覆盖率只是我们度量的手段。
2、判定覆盖(Decision Coverage)/分支覆盖率(Branch Coverage)
定义:在测试时,运行被测程序后,程序中所有判断语句的取真分支和取假分支被执行到的比率。
计算公式:判定覆盖率=(判定结果被评价的次数)/(判定结果的总数)
特点:若判定覆盖达到100%,则语句覆盖必为100%。即使判定覆盖率达到了100%,也会有缺陷发现不了。
3、条件覆盖(Condition Coverage)
定义:在测试时,运行被测程序后,程序中所有判断语句中每个条件的可能取值(真值和假值)出现过的比率。
计算公式:条件覆盖率=(条件操作数值至少被评价一次的数量)/(条件操作数值的总数)
特点:覆盖条件的测试用例不一定覆盖判定。
4、判定-条件覆盖(Decision Condition Coverage)/分支条件覆盖(Branch Condition Coverage)
定义:在测试时,运行被测程序后,程序中所有判断语句中每个条件的可能取值(真值和假值)和每个判断本身的判定结果(为真为假)出现的比率。
计算公式:判定-条件覆盖率=(条件操作数值或判定结果至少被评价一次的数量)/(条件操作数值的总数+判定结果的总数)
特点:判定-条件覆盖率实际上就是判定覆盖率和条件覆盖率的组合。采用判定-条件覆盖,逻辑表达式中的错误不一定能够查得出来。
5、条件组合覆盖(Condition combination coverage)
定义:在测试时,运行被测程序后,所有语句中原子条件所有的可能的取值结果组合出现过的比率。
计算公式:条件组合覆盖率=(至少被执行一次的条件组合)/(总的可能的条件组合数)
特点:若条件组合覆盖率为100%,则语句覆盖率、判定覆盖率、条件覆盖率和判定-条件覆盖率必为100%。
6、路径覆盖(Path Coverage)
定义:在测试时,运行被测程序后,程序中所有可能的路径被执行的比率。
计算公式:路径覆盖率=(至少被执行一次的路径数)/(总的路径数)
特点:路径覆盖比判定条件覆盖更强,但是不能包含判定条件覆盖。若路径覆盖率为100%,则语句覆盖率、判定覆盖率必为100%。
       小结:逻辑覆盖率可以作为软件测试的一个度量,但是,即使达到了100%的逻辑覆盖率,仍然无法保证程序的正确性。
灰盒覆盖率(Gray-Box Coverage)
       函数覆盖和接口覆盖可以归为灰盒测试的范畴。
1、函数覆盖
定义:它表示在测试中,有哪些函数被测试到了,其被测试到的频率有多大,这些函数在系统所有函数中占的比例有多大。
计算公式:函数覆盖=(至少被执行一次的函数数量)/(系统中函数的总数)
特点:是针对一个系统或者子系统测试的。
2、接口覆盖(Interface Coverage)/入口点覆盖(Entry-Point Coverage)
定义:要求通过设计一定的用例使得系统的每个接口被测试到。
计算公式:接口覆盖=(至少被执行一次的接口数量)/(系统中接口的总数)
黑盒覆盖率(Black-Box Coverage)
       在实际测试中,与黑盒相关的覆盖率比较少,主要是功能覆盖率(Function Coverage),其中最常见的是需求覆盖。
需求覆盖
       定义:它表示在测试中,有哪些函数被测试到了,其被测试到的频率有多大,这些函数在系统所有函数中占的比例有多大通过设计一定的测试用例,要求每个需求点都被测试到。
       计算公式:需求覆盖=(被验证到的需求数量)/(需求总数)

      注:尊重原创文章,转载请注明出处和链接 https://www.pxwy.cn/news-id-17262.html 违者必究!部分文章来源于网络由培训无忧网编辑部人员整理发布,内容真实性请自行核实或联系我们,了解更多相关资讯请关注软件测试频道查看更多,了解相关专业课程信息您可在线咨询也可免费申请试课。关注官方微信了解更多:150 3333 6050

留下你的信息,课程顾问老师会一对一帮助你规划更适合你的专业课程!
  • 姓名:

  • 手机:

  • 地区:

  • 想学什么:

  • 培训无忧网
免 费 申 请 试 听
提交申请,《培训无忧网》课程顾问老师会一对一帮助你规划更适合你的专业课程!