单元5(3)白盒测试_第1页
已阅读1页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

白盒测试软件工程白盒测试:White-boxTesting又称逻辑驱动测试或者结构测试把测试对象看作一个打开的盒子利用白盒测试法进行动态测试时,需要测试软件产品的内部结构和处理过程,不需测试软件产品的功能。白盒测试定义白盒测试分类(1)白盒测试分类静态白盒测试代码检查法静态结构分析法静态质量度量法动态白盒测试基于逻辑覆盖的测试,尽可能覆盖程序的结构特性和逻辑路径保证一个模块中的所有独立路径至少被使用一次;对所有逻辑值均需测试true和false;对程序进行边界检查;在上下边界及可操作范围内运行所有循环;检查内部数据结构以确保其有效性。白盒测试的动态测试要根据程序的控制结构设计测试用例,其原则是:白盒测试原则分类:根据覆盖目标的不同和覆盖源程序语句的详尽程度,逻辑覆盖又可分为:1.语句覆盖(StatementCoverage,SC):可执行语句2.判定覆盖(DecisionCoverage,DC):每个判定true、false3.条件覆盖(ConditionCoverage,CC):每个逻辑条件4.条件判定覆盖(Condition/DecisionCoverage,C/DC):每个判定的每个条件的所有可能5.条件组合覆盖(ConditionCombinationCoverage,CCC)几种逻辑覆盖标准发现错误的能力呈由弱至强的变化逻辑覆盖定义语句覆盖是白盒测试的一种。语句覆盖SC(StatementCoverage),就是设计尽可能少的测试用例,运行被测程序使得程序中每一可执行语句至少执行一次。语句覆盖在测试中主要发现缺陷或错误语句。可执行语句:不包含空白行【语句覆盖率计算】语句覆盖率=被评价到的语句数量/可执行的语句总数x100%【缺点】对程序执行逻辑的覆盖很低语句覆盖语句覆盖判定覆盖是白盒测试的一种。判定覆盖SC(Decisioncoverage),就是设计尽可能少的测试用例,运行被测程序使得程序中每个判定节点的取真和取假分支至少执行一次。【判定节点】菱形框【判定覆盖率计算】被评价到的判定路径数量/判定路径的总数X100%【缺点】判定覆盖虽然把程序所有分支均覆盖到了,但其主要对整个表达式最终取值进行度量,忽略了表达式内部取值。定义:判定覆盖判定覆盖比语句覆盖有更强的测试能力单分支条件结构:判定覆盖比语句覆盖会增加几乎一倍的测试路径。双分支或多分支条:判定覆盖和语句覆盖测试路径类似或相同。判定覆盖不需要仔细分析每个判定节点。并未深入到测试符合判定表达式的细节,并未测试到每个简单逻辑判定条件的正确性判定覆盖能够避免语句覆盖的第3个缺点(对隐式分支无效)。但仍然不能避免其余的2个缺点。判定覆盖与语句覆盖分析条件覆盖是白盒测试的一种。条件覆盖CC(ConditionCoverage),设计足够多的测试用例,运行被测程序,使得每一判定语句中每个逻辑条件的可能取值至少满足一次。逻辑条件【条件覆盖率计算】条件覆盖率的公式:条件覆盖率=被评价到的条件取值的数量/条件取值的总数X100%【缺点】只考虑到每个判定语句中的每个表达式,没有考虑到各个条件分支(或者涉及不到全部分支),即不能够满足判定覆盖定义:条件覆盖条件判定覆盖是白盒测试的一种。条件判定覆盖CDC(Condition/DecisionCoverage),设计足够多的测试用例,使得判定中的每个条件的所有可能(真/假)至少出现一次,并且每个判定本身的判定结果也至少出现一次。【条件判定覆盖率计算】条件判定覆盖率=被评价到的条件取值和判定分支的数量/(条件取值总数+判定分支总数)【缺点】没有考虑单个判定对整体结果的影响,无法发现逻辑错误。定义:判定语句逻辑条件条件/判定覆盖条件/判定覆盖仍有缺陷。从表面上看,它测试了所有条件的所有可能结果,但事实上并不是这样。因为某些条件掩盖了另一些条件。例如,在逻辑表达式中,如果“与”表达式中某一条件为“假”,则整个表达式的值为“假”,这个表达式中另外的几个条件就不起作用了。同样地,如果在“或”表达式中,某一条件为“真”,则整个表达式的值为“真”,其它条件也就不起作用了。因此,采用判定/条件覆盖时,逻辑表达式中的错误不一定能测试出来。条件/判定覆盖测试分析【条件判定覆盖率计算】条件组合覆盖率=被评价到的条件取值组合的数量/条件取值组合的总数【缺点】判定语句较多时,条件组合值比较多。定义:多个逻辑条件条件组合覆盖,是白盒测试的一种。条件组合覆盖,也称多条件覆盖MCC(MultipleConditionCoverage),设计足够多的测试用例,使得每个判定中条件的各种可能组合都至少出现一次满足条件覆盖一定满足判定覆盖、条件覆盖、条件判定覆盖。条件组合覆盖设计足够的测试用例,使得每条可能的路径都至少执行一次。Testcases:①A=1,B=1,X=1FF②A=1,B=1,X=2FT③A=3,B=0,X=1TF④A=2,B=0,X=4TT路径覆盖白盒测试——基本路径测试法

路径测试:从广义的角度讲,任何有关路径分析的测试都可以称为路径测试。理想情况:完成路径测试的理想情况是做到路径覆盖。实际情况:对于比较简单的程序实现路径覆盖是可能做到的,而对于程序中出现较多的判定和较多的循环时,路径数目将急剧增加,不可能实现路径覆盖。解决方法:基本路径测试法。路径分析测试程序流程图:用于描述程序的结构性,采用不同图形符号表明条件或者处理的有向图,为了突出控制流结构,将其简化为控制流图。控制流图:由许多结点和连接结点的边组成,其中一个结点代表一条语句或数条语句,边代表结点间控制流向,用于显示函数的内部逻辑结构。包含条件的结点被称为判断结点,由判断结点发出的边必须终止于某一个结点。可以将一个程序的流程图转化为控制流图,转化的过程如图所示。控制流图概念给定一个控制流图G,设其环形复杂度为V(G),在这里介绍3种常见的计算方法来求解V(G)。方法1V(G)=E-N+2,其中E是控制流图G中边的数量,N是控制流图中结点的数目。方法2V(G)=P+1,其中P是控制流图G中判断结点的数目方法3V(G)=A,其中A是控制流图G中区域的数目。由边和结点围成的区域叫做

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论