当前位置: 首页 > news >正文

在pc端预览手机网站安徽平台网站建设费用

在pc端预览手机网站,安徽平台网站建设费用,上海网站建设服务分录,wordpress 付费 破解目录 3.1 逻辑覆盖法 3.1.1 语句覆盖 3.1.2 判定覆盖 3.1.3 条件覆盖 3.1.4 判定—条件覆盖 3.1.5 条件组合覆盖 3.1.6 实例:三角形逻辑覆盖问题 白盒测试又称为透明盒测试、结构测试,它基于程序内部结构进行测试,而不是测试应用程序…

目录

3.1 逻辑覆盖法

3.1.1 语句覆盖

3.1.2 判定覆盖

3.1.3 条件覆盖

3.1.4 判定—条件覆盖 

3.1.5 条件组合覆盖

3.1.6 实例:三角形逻辑覆盖问题


白盒测试又称为透明盒测试结构测试,它基于程序内部结构进行测试,而不是测试应用程序的功能(黑盒测试)。因此,测试人员需要了解程序内部逻辑结构,从编程语言的角度设计测试用例。白盒测试可用于单元测试、集成测试和系统测试

3.1 逻辑覆盖法

逻辑覆盖法是白盒测试最常用的测试方法,它包括语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖5种。

3.1.1 语句覆盖

语句覆盖(Statement Coverage)又称行覆盖、段覆盖、基本块覆盖,它是最常见的覆盖方式。

语句覆盖的目的是测试程序中的代码是否被执行,它只测试代码中的执行语句,这里的执行语句不包括头文件、注释、空行等。

语句覆盖在多分支的程序中,只能覆盖某一条路径,使得该路径中的每一个语句至少被执行一次,但不会考虑各种分支组合情况。

1 IF x>0 AND y<0    //条件1
2   z=z-(x-y)
3 IF x>2 OR z>0     //条件2
4   z=z+(x+y)

该段程序的流程图如:(a、b、c、d、e表示程序执行分支)

在语句覆盖测试用例中,使程序中每个可执行语句至少被执行一次。根据程序流程图中标示的语句执行路径设计测试用例:Test1:x=1 y=-1 z=2

执行上述测试用例,程序运行路径为acd。可以看出程序中acd路径上的每个语句都能被执行,但是语句覆盖对多分支的逻辑无法全面反映,仅仅执行一次不能进行全面覆盖,因此,语句覆盖是弱覆盖方法。

语句覆盖虽然可以测试执行语句是否被执行到,但却无法测试程序中存在的逻辑错误,例如,如果上述程序中的逻辑判断符号“AND”误写成了“OR”,使用测试用例Test1同样可以覆盖acd路径上的全部执行语句,但却无法发现错误。

3.1.2 判定覆盖

判定覆盖(Decision Coverage)又称为分支覆盖,其原则是设计足够多的测试用例,在测试过程中保证每个判定至少有一次为真值,有一次为假值

判定覆盖的作用是使真假分支均被执行,虽然判定覆盖比语句覆盖测试能力强,但仍然具有和语句覆盖一样的单一性。

以上面的流程图及其程序为例,设计判定覆盖测试用例:

这4个测试用例覆盖了acd、abd、ace、abe 4条路径,使得每个判定语句的取值都满足了各有一次“真”与“假”。相比于语句覆盖,判定覆盖的覆盖范围更广泛。

判定覆盖虽然保证了每个判定至少有一次为真值,有一次为假值,但是却没有考虑到程序内部的取值情况,例如,测试用例test4,没有将x>2作为条件进行判断,仅仅判断了z>0的条件。 

判定覆盖语句一般是由多个逻辑条件组成的,如果仅仅判断测试程序执行的最终结果而忽略每个条件的取值,必然会遗漏部分测试路径,因此,判定覆盖也属于弱覆盖。

3.1.3 条件覆盖

条件覆盖(Condition Coverage)指的是设计足够多的测试用例,使判定语句中的每个逻辑条件取真值与取假值至少出现一次,例如,对于判定语句IF(a>1 OR c<0)中存在a>1、c<0 2个逻辑条件,设计条件覆盖测试用例时,要保证a>1、c<0的“真”“假”值至少出现一次。

以上面的流程图及其程序为例,设计条件覆盖测试用例,在该程序中,有2个判定语句,每个判定语句有2个逻辑条件,共有4个逻辑条件,使用标识符标识各个逻辑条件取真值与取假值的情况:

 

设计测试用例时,要保证每种状态都至少出现一次。设计测试用例的原则是尽量以最少的测试用例达到最大的覆盖率,则该段程序的条件覆盖测试用例如:(这里保证了每种状态都出现了一次,但并没有列出所有的可能)

3.1.4 判定—条件覆盖 

判定-条件覆盖(Condition/Decision Coverage)要求设计足够多的测试用例,使得判定语句中所有条件的可能取值至少出现一次,同时,所有判定语句的可能结果也至少出现一次

表中的3个测试用例满足了所有条件可能取值至少出现一次,以及所有判定语句可能结果也至少出现一次的要求。(但依然没有列出所有的可能)

相比于条件覆盖、判定覆盖,判定-条件覆盖弥补了两者的不足之处,但是由于判定-条件覆盖没有考虑判定语句与条件判断的组合情况,其覆盖范围并没有比条件覆盖更全面,判定-条件覆盖也没有覆盖acd路径,因此判定-条件覆盖仍旧存在遗漏测试的情况。

3.1.5 条件组合覆盖

条件组合(Multiple Condition Coverage)指的是设计足够多的测试用例,使判定语句中每个条件的所有可能至少出现一次,并且每个判定语句本身的判定结果也至少出现一次,它与判定-条件覆盖的差别是,条件组合覆盖不是简单地要求每个条件都出现“真”与“假”两种结果,而是要求让这些结果的所有可能组合都至少出现一次

还是以上述的流程图及其程序为例,该程序中共有4个条件:x>0、y<0、x>2、z>0,依然用S1、S2、S3、S4标记这4个条件成立,用-S1、-S2、-S3、-S4标记这些条件不成立。由于这4个条件每个条件都有取“真”“假”两个值,因此所有条件结果的组合有2^4=16种:

 

表中列出了4个条件所有结果的组合情况,经过分析可以发现,第2、6、8、13这4种情况是不存在的,这几种情况要求x>0不成立,x>2成立,这2种结果相悖,因此最终图中的所有条件组合情况有12种。根据这12种情况设计测试用例:

表中有12个测试用例,这12个测试用例覆盖了4个条件结果的所有组合,与判定-条件覆盖相比,条件组合覆盖包括了所有判定-条件覆盖,因此它的覆盖范围更广。但是当程序中条件比较多时,条件组合的数量会呈指数型增长,组合情况非常多,要设计的测试用例也会增加,这样反而会使测试效率降低

3.1.6 实例:三角形逻辑覆盖问题

1  INT A B C                          //三角形的 3 条边
2  IF((A+B>C)&&(A+C>B)&&(B+C)>A)      //是否满足三角形成立条件
3     IF((A==B)&&(B==C))              //等边三角形
4          等边三角形
5    ELSE IF((A==B)||(B==C)||(A==C))  //等腰三角形
6         等腰三角形
7  ELSE                               //一般三角形
8      一般三角形
9  ELSE
10     不是三角形
11 END

    

如果使用判定覆盖,使程序中每个判定语句至少有一次“真”值,至少有一次“假”值,根据图2和图3可设计4个测试用例:

http://www.yayakq.cn/news/467734/

相关文章:

  • 云南网站建设崇左深圳公司注册要求
  • 西安电商网站WordPress 微盘
  • 爱站查询工具旅游网站项目计划书
  • 网站被k怎么响应式网站头部
  • 论坛建立网站网络舆情优化公司
  • 网站主题旁边的图标怎么做手机wap网站免费建站
  • 广东外贸型网站建设制作网站 公司简介
  • 网站图标素材图片网页开发者工具怎么用
  • 企业做网站都需要准备哪些材料长沙会议网站设计哪家专业
  • 外贸网站建设不可缺少的灵活性网络游戏排行榜前十手游
  • 开个网站平台要多少钱wordpress如何上传产品
  • 天津如何做百度的网站浏览器正能量网站免费图片
  • 做网站是什么职业怎么查询网站的外链
  • dede手机医院网站模板网站建设和执纪监督
  • 泉州网站建设公司推荐国外最新创意产品网站
  • wordpress 主题教程 水煮鱼廊坊seo公司
  • 网站推介方案2018 84号建设厅网站
  • 购买主机可以做网站吗wordpress的rrs feed地址是什么
  • 用asp做网站网站布局分析
  • 大同网站建设制作哪家好工业设计公司推荐
  • 网站开发有没有前途自建网站怎么关闭
  • 类似淘宝网站建设有哪些模板网站服务器ip查询
  • 淘宝客都在什么平台建网站精准扶贫网站建设目的
  • 深圳机票网站建设北京市企业信用信息查询网
  • 网站托管服务适用于哪种类型的网站网址下载软件
  • 重庆专业企业建设网站全国企业信息查询系统入口官网
  • ppt模板去哪个网站下载广州网站建设公司品牌
  • 茂名建站模板搭建百度站长工具平台登录
  • 简约网站模板htmlwordpress无插件
  • 保洁产品网站建设价格网站备案核实单