应用办公生活信息教育商业
投稿投诉
商业财经
汽车智能
教育国际
房产环球
信息数码
热点科技
生活手机
晨报新闻
办公软件
科学动态
应用生物
体育时事

白盒测试中路径覆盖和基本路径覆盖的不同

  从测试方法会不会关注程序内部的结构可以将其划分为白盒测试和黑盒测试以及灰盒测试,黑盒测试不关注程序内部的实现结构,仅仅是通过向程序进行输入来观察程序的输出对不对;白盒测试就需要关注程序内部的实现结构,对程序的代码逻辑结构实施相关的测试;下面来简单介绍一下路径覆盖法和基本路径覆盖法两种白盒测试方法。路径覆盖法
  路径覆盖法是通过测试代码中的每个可能路径来检查代码的每个部分是否按照预期工作。路径覆盖法要求测试用例覆盖每个可能的路径,包括所有可能的循环和分支情况。这种方法需要编写大量的测试用例来覆盖所有可能的路径,因此它往往比较费时和费力。
  接下来以一段代码作为测试对象:publicstaticinttest(inta,intb,intc){1intresult0;2if(a0orb2){3resultba;}4if(a0andc0){5resultca;}6returnresult;}
  使用路径覆盖法设计测试用例
  第1步:分析待测代码,画出程序的流程图。上述代码的参考流程图如下所示,为了方便分析路径,图中红色字母A、B、C、D标识出了每个判断语句的分支:
  流程图
  第2步:分析流程图
  从上图中可以看出,这段代码共有2个判断语句,每个判断语句分别有取真值、取假值两个分支。那么,程序中共有如下四条路径:路径1:AC路径2:AD路径3:BC路径4:BD
  第3步:编写测试用例。
  根据路径覆盖的定义,我们需要设计一些测试用例,使程序中的每个路径至少被执行一次。因此,我们可以设计如下表中的四个测试用例来覆盖这四条路径。
  测试用例编号
  输入数据
  预期结果
  路径覆盖情况
  testcase01
  a2,b1,c9
  result0
  路径1:AC
  testcase02
  a5,b2,c3
  result15
  路径2:AD
  testcase03
  a0,b3,c3
  result3
  路径3:BC
  testcase04
  a1,b5,c9
  result9
  路径4:BD
  综上所述,路径覆盖可以使程序中的每一条路径都经过测试,确保程序执行路径的正确性。但是,对于判断语句多且复杂、循环次数多的程序,需覆盖的路径数量可能非常庞大,无法在短时间内测试完,例如,下图是一段代码的流程图,图中含有多个判断语句、循环语句,如果要将所有路径都测试到,将花费大量的时间,所以,在实际的项目测试中基本不可能把所有路径都覆盖到。
  复杂流程图
  基本路径覆盖法
  路径覆盖可以使程序中的路径都被测试到,但是,要对程序中的路径做到完全覆盖经常是无法实现的。为了解决这一难题,我们需要在保证测试质量的前提下把测试的路径数量压缩到一定的范围内,基础路径覆盖法正好可以解决该问题。
  基本路径覆盖法是在程序控制流图的基础上,通过分析控制结构的圈复杂度,导出基本可执行的路径集合设计测试用例,运行被测程序,使程序的基本路径都得到覆盖。基本路径覆盖法把测试时需要覆盖的路径压缩到一定的范围内,使程序中的每一个可执行语句都至少执行一次,程序中的循环体最多只执行一次。
  为了方便比较,仍以上述代码作为测试对象,使用基本路径覆盖法来设计白盒测试用例,基本步骤如下:
  第1步:分析待测试代码,画出程序的流程图(和路径覆盖法中流程图一样),如果对该方法比较熟练或对程序流程比较清晰,可省略这个步骤。
  我们知道,在控制流图中如果含有复合条件,需要改为单条件嵌套的形式。为了后续的讲述更加清晰,这里先把上述流程图中的复合条件按控制流图的要求进行拆分,具体如下:
  单条件嵌套流程图
  第2步:根据流程图画出控制流图。
  在控制流图中,圆形符号称为节点,表示一个基本的代码块;包含条件的节点称为判断节点;箭头称为边,表示控制流路径,反向边则表示可能存在循环。按照控制流图的规则,上述流程图可以画成下面的控制流图:
  程序的基本控制流图
  第3步:计算圈复杂度。
  圈复杂度V(G)有三种计算方法,下面简单介绍一下用3种方法计算本例的圈复杂度:
  方法一:V(G)A1,其中A代表控制流图中的封闭区域数量。从下图可以看出,程序的控制流图中共有4个封闭区域,所以,圈复杂度V(G)415。
  程序控制流图
  方法二:V(G)P1,其中P代表控制流图中的判定节点数。从下图可以看出,程序的控制流图中共有4个判定节点,所以,圈复杂度V(G)415。
  程序的控制流图
  方法三:V(G)en2,其中e代表控制流图中的边的数量,即控制流中的箭头数量;n代表控制流图的节点数量,即控制流图中的圆圈数量。从下图中可以看出,程序的控制流图中有11条边(11个箭头),8个节点(8个圆圈),所以,圈复杂度V(G)11825。
  程序控制流图
  第4步:确定基本路径的集合。
  基本路径又称为独立路径,是指至少包含一条其他独立路径中未包含的路径。例如,在上图中,路径12358是一条基本路径,124358则可以看成了另外一条基本路径,因为这条路径中经过4节点的路径在第一条基本路径中未包含。
  圈复杂度是指程序中的独立路径数量,是确保程序中每个可执行语句至少执行一次需要的测试用例数量的最小值。根据第3步的计算结果,本例中我们需要确定5条基本路径,具体如下:路径1:12358路径2:124358路径3:12458路径4:124568路径5:1245678
  第5步:根据基本路径编写测试用例。
  根据基本路径覆盖法的定义,我们需要设计测试用例分别覆盖第4步中的5条基本路径,即设计合理的输入数据使程序运行时经过指定的路径。因此,我们可以设计如下表中的5个测试用例来覆盖这5条基本路径。
  测试用例编号
  输入数据
  预期结果
  路径基本覆盖情况
  testcase01
  a0,b1,c9
  result1
  路径1
  testcase02
  a0,b3,c5
  result3
  路径2
  testcase03
  a2,b1,c3
  result0
  路径3
  testcase04
  a1,b0,c1
  result0
  路径4
  testcase05
  a5,b3,c2
  result10
  路径5
  综上所述,使用基本路径覆盖法设计用例进行测试时,可以使程序中的每条独立路径都至少执行一次。如果程序中的基本路径达到了100覆盖,则分支(判定)覆盖、条件覆盖也能达到100覆盖。如果使用基本路径覆盖法后程序中仍有未覆盖到的路径,可使用逻辑覆盖法补充测试用例保证覆盖全面。
  在本案例中,基本路径法设计出的测试用例反而比路径法多一条,那是因为二者的覆盖方法不一样导致的,如果是在有组合关系或者循环逻辑的代码中,基本路径法就会简单很多。

价格屠夫重现江湖!512G旗舰机低至2999元,这么卷一加A就在最近,手机圈子里传出了重磅消息。RedmiK60全面开启512G普及风暴,K60的512G大内存版本直降300元,其中12512G版本价格低至2999元,而更高阶的1651……菜鸟驿站官方辟谣!收到这样的短信要警惕喜欢网购的网友注意啦最近收到这样的短信要提高警惕了!这些傍上了菜鸟二字的短信打着快递破损邮寄礼品等旗号忽悠消费者加微信、打电话进而实施……国家统计局2月上旬生猪价格下降2。1中新经纬2月14日电据国家统计局网站14日消息,据对全国流通领域9大类50种重要生产资料市场价格的监测显示,2023年2月上旬与1月下旬相比,12种产品价格上涨,35种下降,3……分享日常晚饭,用1小时完成了三菜一汤,是快了还是慢了?分享日常晚餐,三菜一汤除了肉没吃完其它全部光盘了,不知道是太饿了还是太好吃了。肉的烹饪时间最长,所以我会把它安排在第一个烧,虽然炖煮的时间有点儿长,但整个操作并不复杂。这个炖煮……晋级魔都新网红!徐家汇书院所在地块的前世今生海派城市考古徐汇区全新文化地标、坐落于徐家汇源景区核心地带的徐家汇书院,已于近期揭开了自己神秘的面纱,以徐汇区图书馆新馆的身份精彩亮相,并已成为网红打卡建筑。徐家汇书院大楼,是徐家汇……孟晚舟身份突变!任正非曾说她永生永世不可能成为接班人!华为官网的轮值董事长界面上,出现了孟晚舟的名字。华为副董事长、CFO孟晚舟接替郭平,成为新任轮值董事长。这也意味着,孟晚舟拿到了华为接班人角逐赛道的入场券,在当值的6个月……多国留学生南昌老街区感知传统中国年来自华东交大的留学生代表与中国同学在南昌万寿宫历史文化街区合影。华东交通大学宣传部供图中新网南昌1月22日电(记者姜涛)这是我在中国度过的第三个新年,这个街区很热闹,我很……除了西湖没处可去?3个地方带你深入了解杭城内核!市井人间事,烟火最杭州。究竟哪里最能体现杭州的风土人情?那肯定是西湖啊!白娘子许仙的绝美爱情可是杭州的城市名片。不不不,一定是古镇,像什么西兴古镇之类的这种。……Steam每日特惠喋血复仇促销!泰拉瑞亚半价春节特惠、夏季特卖、冬季特卖,每周特惠、限时特惠,对于游弋于Steam平台的正版玩家来说,一定要熟练掌握了解各类游戏折扣的关键技能。每天逛一回Steam每日特价信息,省钱就是超……北京冬奥会克罗地亚前总统表示坚决反对体育运动政治化新华社萨格勒布1月29日电(记者李学军)即将赴华出席北京冬奥会的克罗地亚前总统、国际奥委会委员基塔罗维奇女士28日在此间会见中国驻克罗地亚大使齐前进时表示,国际奥委会和她本人坚……RedmiNote12Pro渲染图5000mAh天玑7000Redmi自从由卢伟冰接手后,就推出了很多爆款,像RedmiK20Pro、RedmiNote9Pro、RedmiNote10Pro、RedmiNote11Pro这些手机,都是百……轻松实现远程开关机和控制电脑远程办公,向日葵智能插线板P1体智能设备的普及大大方便了我们的日常生活,特别是家用电器,即使不在家也可以通过手机远程控制开关,而在家里再也不用到处找遥控,用手机就可以控制电器。当然,也有些设备是不能单凭主机和……
金项链一般多少克?女士佩戴多少克的金项链合适随着黄金饰品工艺的不断提高,黄金项链不只是暴发户的样式,很多黄金饰品尤其是女人的黄金项链都很精致。项链但是黄金价格很贵,那女士金项链一般多少克比较合适呢?女士金项链……预算3000元65英寸电视如何选择?内行人推荐这三款,买完偷寻找数码点评派马上就要到双十一了,不少朋友都开始准备换新家电。那对于一些只有预算3000元的朋友,可以买到哪些65英寸的电视机呢?今天我们就翻遍了第三方电商平台,为大家找……调查丨歌尔股份员工一周前已大量停工,约8000人离职,郑州富其实我们大概从一周前就知道苹果生产线出问题了,但当时没有想到是被砍了单。11月9日,歌尔股份(002241。SZ)在职员工小杨对红星资本局说。11月8日晚间,歌尔股份突发……那英现身米兰时装秀,穿黑装大佬气场全开,她紧挨的男子引起大家近日,歌手那英现身米兰时装周看秀。一组她在米兰大教堂前的摆拍照片曝光,引发网友热议。照片中,那英造型时尚,一身黑色长款束腰马甲搭配红唇妆,显瘦又保暖,沉稳又大气,给人一种利落干……女子剖宫产后3个月发现又怀孕2个月,医生孩子留与不留风险都非9月26日,据荔枝视频报道,近日,在江苏南京,28岁的新晋宝妈陈女士剖宫产产后3个月,例行检查时发现自己竟又怀孕两个月。相对于第一次怀孕,陈女士对这个二胎并没有心理准备。……XboxGamePass会员开通教程XGP即Xboxgamepass在PC端是Xbox平台游戏的通用会员,开通XGP会员后,有效期内可以畅玩Xbox平台(pc上)内所有游戏包括EAplay,比如最近大火的双……30句积极向上的经典语录1、恐惧自己受苦的人,已经因为自己的恐惧在受苦。2、当你一门心思撞南墙的时候,南墙就消失了。3、阳光落在春的枝头,日子便绿了。4、眼睛为你下着雨,心却为你撑着……人民币兑美元汇率跌破6。9,对我们有何影响?近日,人民币兑美元汇率跌破6。9登上热搜,引起了广泛热议,很多网友表示:不是说难的时候已经过去了吗?今年年初,人民币汇率大概是6。3,如今已经贬到了6。9以上,不出意外破……孩子发烧急急急,8个家长最关心的发烧问题儿科医生一次性说清发热是儿科最常见的症状之一,更是父母最担忧的一个问题,碰到孩子发烧家长都会焦急万分,不知道如何护理。有时还会采用一些不当方法影响治疗,甚至导致生命危险。关于孩子发烧的8个……向华强砸5亿力捧向佐,却把向佑送进监狱,俩兄弟为何会区别对待说起向佐,想必大家都不会感到陌生,从小就在父母的帮助下,拜功夫大师李连杰为师学习武术,更是娶了无数人心中的女神郭碧婷,可谓是人生赢家的存在。向华强砸5亿力捧向佐,却把向佑……杨幂的8张美照,每帧都是珍藏版1。我的故事长满天涯海角,其中包括了你和你的故乡。2。只能怪我的眼睛压根藏不住心事,别人一提到你的名字它就温柔泛滥。3。我寻了半生的春天,你一笑便是了。4。。……定了!樊振东孙颖莎领衔国乒10将出战世界杯,许昕小枣或再当解10月24日,带着中国澳门冠军赛双冠的荣耀,国乒众将飞赴新乡,将参加于2730日举行的WTT世界杯,在32人参赛的赛事中,国乒占据了10人。这10人由樊振东、孙颖莎领衔,……
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网