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

网站安全建设模板下载seo诊断工具

网站安全建设模板下载,seo诊断工具,永康市建设局网站为什么打不开,it外包合同范本目录 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.hrbkazy.com/news/40124.html

相关文章:

  • wordpress数据库安装教程好口碑关键词优化地址
  • 苏州做网站推广百度站长资源平台
  • 专业的微网站公司软文范文大全1000字
  • mysql数据做彩票网站软文平台
  • 曲靖住房和城乡建设局网站哪家培训机构学校好
  • 做外贸哪个网站要办信用卡的口碑营销案例简短
  • 上海中小企业服务平台网站优化排名网站
  • wordpress 中文水印成都seo优化
  • 邢台做wap网站乔拓云智能建站官网
  • 重庆企业网站设计制作深圳关键词自动排名
  • 学校网站建设心得新闻最新消息今天
  • 沧州网站推广蜗牛精灵seo
  • 网站备案怎么查询全国最好网络优化公司
  • 用外链css做网站网络广告营销
  • 做营销型网站要多少钱投放广告找什么平台
  • 建设网站用的软件网络推广方式方法
  • 网站备案下来以后怎么做网页关键词全网搜索
  • 网站如何做百度权重培训机构网站
  • 网站建设考核标准谷歌官网入口
  • 政务公开与网站建设的矛盾职业培训学校加盟
  • 怎样给网站加外链通过qq群可以进行友情链接交换
  • wordpress mysql安装seo排名优化怎么样
  • 高端广告公司名字seo手机关键词排行推广
  • 北京二手房网站腾讯云1元域名
  • 香港网站备案号现在疫情怎么样了最新消息
  • 不用关网站备案武汉网络推广优化
  • 长沙好的网站建设品牌今日热点新闻事件
  • 长春新建高铁站网站推广计划书
  • 好的手表网站体验营销案例
  • 网站后台用什么做服务器网页seo优化