欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    教学课件第五章:白盒测试ppt(全).pptx

    • 资源ID:87487917       资源大小:598.22KB        全文页数:17页
    • 资源格式: PPTX        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    教学课件第五章:白盒测试ppt(全).pptx

    教学课件第五章:白盒测试软件测试项目实战(第四版)技术学院教师:于艳华第4章:白盒测试目录录CONTENTS知识储备5.5.1 1020203030404添加标题 添加标题在此输入您的标题添加标题 添加标题在此输入您的标题添加标题 添加标题在此输入您的标题添加标题 添加标题Click here to enter your text.Click here to enter your text.Click here to enter your text.Click here to enter your text.Click here to enter your text.Click here to enter your text.5.1 5.1知识储备第第5章章 测试技划测试技划白盒测试用例的设计方法从大的方面来说包括两个:逻辑覆盖法和基本路径测试法。5.1.1逻辑覆盖法逻辑覆盖法逻辑覆盖是以程序内部的逻辑结构为基础的测试用例设计技术,这一方法要求测试人员对程序的逻辑结构有清楚的了解。它是通过对程序逻辑结构遍历实现程序的覆盖,是一系列测试过程的总称,这组测试过程逐渐进行越来越完整的通路测试。从覆盖源程序语句的详尽程度分析,逻辑覆盖可分为:语句覆盖(SC)、判定覆盖(DC)、条件覆盖(CC)、判定-条件覆盖(CDC)、多条件覆盖(MCC)与修正判定条件覆盖(MCDC)。intfunction(boola,boolb,boolc)intx;x=0;if(a&(b|c)x=1;returnx;第第5章章 白盒测试白盒测试程序流程图如图6-1所示。图6-1程序流程图第第5章章 白盒测试白盒测试一、语句覆盖一、语句覆盖语句覆盖就是设计若干个测试用例,运行所测程序,使得每一可执行语句至少执行一次。要想使每个语句都覆盖一次,我们设计以下的测试用例即可实现:a=T,b=T,c=T通过上面的用例,可以实现执行上述程序中的所有语句,但是语句覆盖的方法并不能测试到程序的逻辑错误,比如,在if(a&(b|c)中,&错写成|,或者|错写成&,上述测试用例虽然可以达到语句100%的覆盖率,但该逻辑错误却无法发现。因此一般认为语句覆盖是很弱的逻辑覆盖法。二、判定覆盖二、判定覆盖判定覆盖就是设计足够的若干个测试用例,运行所测程序,使得程序中每个判断的取真分支和取假分支至少经历一次,因此判定覆盖又称分支覆盖。判定覆盖比逻辑覆盖稍强。除了双值(“真”或“假”)的判定语句以外,还有多值判定语句,如case语句,因此判定覆盖更一般的含义是:使得每一个判定获得每一种可能的结果至少一次。以上述代码为例,构造下面的测试用例即可实现判定覆盖标准:a=T,b=T,c=Ta=F,b=F,c=F第第5章章 白盒测试白盒测试试用上述用例测试代码,它不仅满足了判定覆盖,而且包含满足了语句覆盖,因此判定覆盖比语句覆盖更强。但是,假设本段程序中有逻辑错误,第一个运算符&错写成了|,或者第二个运算符错写成了&。这时,虽然上述测试用例可以达到100%的判定覆盖(真假条件都走了一遍),但是并不能发现上述的逻辑错误,如表6-1所示,当a=T,b=T,c=T时,a&(b|c)如预期一样为T,但是如果把a&(b|c)错写成a|(b|c),其结果仍然为T,并不能发现这个逻辑错误。因此需要更强的逻辑覆盖标准。序号abca&(b|c)a|(b|c)判定覆盖1TTTTT502FFFFF50三、条件覆盖三、条件覆盖由于程序中的判定条件可能是由多个条件组合而成的复合条件,条件覆盖就是设计若干个测试用例,运行所测程序,使得程序中每个判断的每个条件的可能取值至少执行一次。按照这个想法,设计一个测试用例,使得上述代码达到100%的条件覆盖:a=F,b=T,c=Fa=T,b=F,c=T经过研究可以发现,上述两个测试用例,在满足了条件覆盖的同时,也覆盖了两个分支条件,但是,如果选用下面的测试用例:a=F,b=T,c=Ta=T,b=F,c=F你会发现,它们满足了条件覆盖,但并没有满足判定覆盖,如表6-2所示。那么为了解决这个问题,需要对条件和分支兼顾。第第5章章 白盒测试白盒测试表6-2 条件覆盖序号abca&(b|c)条件覆盖判定覆盖1TTTT100502FFFF四、判定四、判定-条件覆盖条件覆盖判定-条件覆盖就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断的所有可能判断结果也至少执行一次。针对代码中的条件,选用下面的测试用例:a=T,b=T,c=Ta=F,b=F,c=F但是如前所述,这时虽然可以满足判定-条件覆盖,仍无法测试出一些逻辑错误,如表6-3所示。序号abca&(b|c)a&(b&c)判定-条件覆盖%1TTTTT1002FFFFF表6-3 判定-条件覆盖第第5章章 白盒测试白盒测试五、条件组合覆盖条件组合覆盖也称多条件覆盖,就是设计足够的测试用例,运行所测程序,使得每个判断的所有可能的条件取值组合至少执行一次,显然满足条件组合覆盖的测试用例一定是满足判定覆盖、条件覆盖和判定-条件覆盖的。我们用排列组合的方法得出测试用例,该例子代码中的判定语句有三个逻辑条件a,b,c,每个逻辑条件有两种可能取值,因此共有23种可能的组合,如表6-4所示,满足了条件组合覆盖。序号abca&(b|c)1TTTT2TTFT3TFTT4TFFF5FTTF6FTFF7FFTF8FFFF表6-4 条件组合覆盖虽然上述测试用例满足了条件组覆盖,但是一旦判定语句中的逻辑条件较多时,排列组合的数目是非常巨大的。第第5章章 白盒测试白盒测试六、修正条件判定覆盖六、修正条件判定覆盖修正条件判定覆盖是由欧美的航空/航天制造厂商和使用单位联合制定的“航空运输和装备系统软件认证标准”,目前在国外的国防、航空航天领域应用广泛。这个覆盖度量需要足够的测试用例来确定各个条件能够影响到包含的判定的结果。它要求满足两个条件:首先,每一个程序模块的入口和出口点都要考虑至少要被调用一次,每个程序的判定到所有可能的结果值要至少转换一次;其次,程序的判定被分解为通过逻辑操作符(and和or)连接的bool条件,每个条件对于判定的结果值是独立的。可以设计如表6-5所示的测试用例,在这些用例的基础上,按照修正条件判定覆盖要求的条件选择需要的用例。表6-5 修正条件判定覆盖序号abca&(b|c)abc1TTTT52TTFT643TFTT744TFFF235FTTF16FTFF27FFTF38FFFF由表6-4可知,a可以通过用例1和5达到修正条件判定覆盖的要求(用例2和6或用例3和7也可以满足相应要求),变量b可以通过用例2和4达到修正条件判定覆盖的要求,变量c可以通过用例3和4达到修正条件判定覆盖的要求,因此使用用例集1,2,3,4,5即可满足修正条件判定覆盖的要求。当然,这不是唯一的用例组合,可以用其他的组合实现同样的目标。第第5章章 白盒测试白盒测试5.2.2基本路径测试法基本路径测试法基本路径测试法就是一种压缩路径数的方法,它在程序控制流图的基础上,通过分析控制流图的复杂环路复杂性,导出基本可执行的路径的集合,然后据此设计测试用例。设计出的测试用例要保证在测试中程序的每一条可执行语句至少执行一次。一、程序的控制流图一、程序的控制流图控制流图是描述程序控制流的一种图示方式。其中基本的控制结构对应的图形符号如图6-2所示。在如图6-2所示的图形符号中,圆圈称为控制流图的一个结点,它表示一个或多个元分支的语句或源程序语句。图6-2控制流程图的图形符号第第5章章 白盒测试白盒测试这里我们假定在流程图中用菱形框表示的判定条件内没有复合条件,而一组顺序处理框可以映射为一个单一的结点。控制流程图中的箭头(边)表示控制流的方向,类似于流程图中的流线,一条边必须终止于一个结点,但在选择或者是多分支结构中分支的汇聚处,即使汇聚处没有执行语句也应该添加一个汇聚结点。边和结点圈定的部分叫区域,当对区域计数时,图形外的部分也应记为一个区域。但是如果判断中的条件表达式是复合条件,即条件表达式是由一个或多个逻辑运算符(or、and)连接的逻辑表达式,那么需要改变复合条件的判断为一系列只有单个条件的嵌套的判断。例如,有下面这样一段代码:ifaandbthenx;代码中的判定条件是复合逻辑的,对应的控制流图应该画成如图6-3所示。条件语句ifaandb中条件a和条件b各有一个单个条件的判断结点。第第5章章 白盒测试白盒测试二、程序环路复杂性二、程序环路复杂性在进行程序的基本路径测试时,从程序的环路复杂性可导出程序基本路径集合中的独立路径条数,这是确保程序中每个可执行语句至少要执行一次所必须的测试用例数目的上界。独立路径是指包括一组以前没有处理的语句或条件的一条路径。从控制流图来看,一条独立路径是至少包含有一条在其他独立路径中从没有过的边的路径。图6-3控制流图程序环路复杂度的计算方法:方法一:使用公式:V(G)=E-N+2(E是流图中的边数,N是流程图中的结点数)V(G)=12-9+2=5方法二:计算独立路径数,从控制流图来看,一条独立路径就是包含一条在其他独立路径中从没有用过的边的路径。我们可知有5条,这个方法比较麻烦。方法三:计算控制流图中区域的数量,简单来说就是闭合环路+外面的区域。这个题是4+1=5。第第5章章 白盒测试白盒测试三、基本路径测试法步骤三、基本路径测试法步骤基本路径测试法适用于模块的详细设计及源程序,其主要步骤如下:(1)以详细设计或源代码为基础,得出程序的控制流图;(2)计算得到的控制流图G的环路复杂性V(G);(3)确定线性无关的路径的基本集;(4)生成测试用例,确保基本路径集中每路径的执行。voidsort(intiRecordNum,intiType)12intx=0;3inty=0;4while(iRecordNum-0)56if(0=iType)7x=y+2;break;8else9if(1=iType)10 x=y+10;11else12x=y+20;1314第第5章章 白盒测试白盒测试第一步:先分析该模块,绘制流程图,如图6-4所示。该模块是一个函数,有了整型参数。控制结构是有一个while循环,循环中有一个if嵌套语句。为了讲解方便,我们把该函数体中的语句进行标上行号。第二步:绘制控制流图,最好先画出程序的流程图,再根据流程图映射成控制流图,如图6-5所示。在上面的流程图中控制结构是使用行号来标记的,最后的14相当于出口。图6-4流程图图6-5控制流图图6-6控制流图在流图中(图6-6):(1)每一个圆,称为流图的结点,代表一个或多个语句。(2)一个处理方框序列和一个菱形判断决策框可被映射为一个结点。(3)流图中的箭头,称为边或连接,代表控制流的方向,类似于流程图中的箭头。(4)使用流程图描述程序控制结构。可将流程图映射到一个相应的流图(假设流程图的菱形决定框中不包含复合条件)。(5)一条边必须终止于一个结点,即使该结点并不代表任何语句(例如:参见if-else-then结构的符号)。(6)由边和结点限定的范围称为区域。(7)计算区域时应包括图外部的范围。如何计算环路复杂度?环路复杂度也叫圈复杂度,下面找出2007年上半年的软件评测师试题中的相关问题进行剖析。题目如下:以下控制流程图的环路复杂度V(G)。分析:方法一:使用公式:V(G)=E-N+2(E是流图中的边数,N是流程图中的结点数)V(G)=12-9+2=5。方法二:计算独立路径数,从控制流图来看,一条独立路径就是包含一条在其他独立路径中从没有用过的边的路径。我们可知有5条,这个方法比较麻烦。方法三:计算控制流图中区域的数量,简单来说就是闭合环路+外面的区域。这个题是4+1=5。THANKSTHANKS谢谢观看

    注意事项

    本文(教学课件第五章:白盒测试ppt(全).pptx)为本站会员(春哥&#****71;)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开