软件测试基础ppt课件_第1页
软件测试基础ppt课件_第2页
软件测试基础ppt课件_第3页
软件测试基础ppt课件_第4页
软件测试基础ppt课件_第5页
已阅读5页,还剩53页未读 继续免费阅读

VIP免费下载

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

文档简介

.,第二章软件测试基础,2.1软件测试白箱法2.1.1逻辑覆盖法语句覆盖判断覆盖条件覆盖条件组合覆盖判断/条件覆盖路径覆盖2.1.2基本路径测试,.,第二章软件测试基础,2.2软件黑箱测试法2.2.1等价分类法2.2.2边界值分析法小结,.,2.1软件测试白箱法,定义:白箱法是以程序的内部逻辑为依据。合理的白箱测试,就是要选取足够的测试用例,对源代码进行比较充分的覆盖,以便尽可能多地发现程序中的错误。白箱法适用范围:主要用于模块测试、测试等。两种方法:逻辑覆盖法和基本路径法两种。,.,2.1.1逻辑覆盖法,.,2.1.1逻辑覆盖法,语句覆盖:语句覆盖的含义是指在测试的过程中,软件测试者应选择足够多的测试用例,使被测试程序中每个语句至少执行一次。例子:在图2-1所示的流程图中,正好所有的可执行语句都在路径L1上,故选择路径L1设计测试用例,就可以覆盖所有的可执行语句。满足本例的测试用例是:(2,0,4),(2,0,3)覆盖aceL1。,.,问题:本测试用例实际上只测试了条件为真的情况,如果条件为假,则使用本测试用例显然不能发现问题。此外,当第一个判断中的逻辑符“”写成“”,或者第二个判断中的逻辑符号“”写成“”时,本测试用例也不能查出上述错误。所以,语句覆盖是最弱的逻辑覆盖准则。,.,判断覆盖:在测试的过程中,软件测试者应设计若干测试用例,并运行所测程序,使被测试程序中每个判断的真分支和假分支至少经历一次。例如在图2-1所示的流程图中,如果选择路径L1,L2,则可满足判断覆盖,其测试用例如下:(2,0,4),(2,0,3)覆盖aceL1(1,1,1),(1,1,1)覆盖abdL2。如果选择路径L3和L4,则可得另一组测试用例:(2,1,1),(2,1,2)覆盖abeL3(3,0,3),(3,1,1)覆盖acdL4。,.,问题:由此看来,测试用例的取法并不是唯一的。此外,若把图2-1所示流程中的第二个判断中的条件X1错些成X1成立,则取真值为T1,反之,取假值为T1;若条件B=0成立,则取真值为T2,反之,取假值为T2。对第二个判断,若条件A=2成立,则取真值为T3,反之,取假值为T3;若条件X1成立,则取真值为T4,反之,取假值为T4。,.,.,问题:比较这两组测试用例可以发现,第一组测试用例不仅覆盖了所有判断的取真分支和取假分支,而且覆盖了判断中条件的可能取值;第二组测试用例虽然满足了条件覆盖,但由于只覆盖了第一个判断的取假分支和第二个判断的取真分支,不满足判定覆盖的要求。为此,必须引入更强的覆盖,即判定-条件覆盖。,.,判断-条件覆盖:用判断-条件覆盖所设计的测试用例能够使得判断中每一个条件的所有可能取值至少执行一次,同时每个判断的所有可能判断结果至少执行一次。例如:,.,问题:从表面上看,它测试了所有条件的取值,但事实并非如此。这是由某些条件覆盖了另一些条件所致,比如对于条件表达式(A1)and(B=0)来说,若(A1)的测试结果为真,则还要测试(B=0),才能决定表达式的值;而若(A1)的测试结果为假,可以立刻确定表达式的结果为假。这时,往往就不再测试(B=0)的取值了,因此,条件(B=0)就没有检查。同样,对于条件表达式(A=2)or(X1)来说,若(A=2)的测试结果为真,就可以立刻确定表达式的结果为真。这时,条件(X1)就没有检查。因此,采用判断-条件覆盖,也不一定能查出逻辑表达式中的错误。,.,条件组合覆盖能够使得每个判断的所有可能的条件取值组合至少执行一次。测试用例:,.,问题:这里并未要求第一个判断的4个组和与第二个判断的4个组和再进行组合。要是那样的话,就需要24=16个测试用例。,.,路径测试:路径测试就是设计足够的测试用例,覆盖程序中所有可能的路径。测试用例:,.,测试用例逻辑分析法L1(ace)=(A1)and(B=0)and(A=2)or(X/A1)=(A1)and(B=0)and(A=2)or(A1)and(B=0)and(X/A1)=(A=2)and(B=0)or(A1)andB=0and(X/A1)L2(abd)=(A1)and(B=0)and(A=2)or(X1)=(A1)or(B=0)and(A=2)and(X1)=(A0)and(A2)and(X1)and(B=0)and(A=2)or(X1)=(A1)or(B=0)and(A=2)or(X1)=(A1)or(B0)and(A=2)or(B0)and(X1)L4(acd)=(A1)and(B=0)and(A=2)or(X/A1)=(A1)and(B=0)and(A2)and(X/A=1),.,2.1.2基本路径测试法,基本思路:基本路径测试方法允许测试用例设计者导出一个过程设计的逻辑复杂性侧度,并使用该侧度作为指南来定义执行路径的基本集。从该基本集导出的测试用例保证对程序中的每一条语句至少执行一次。流图符号,.,.,流图定义:每一个圆称为流图的节点,代表一个或多个语句。一个处理方框序列和一个菱形决策框可被映射为一个节点。流图中的箭头,称为边或连接,代表控制流,类似于流程图中的箭头。一条边必须终止于一个节点,即使该节点并不代表任何语句。由边和节点限定的范围称为区域。计算区域时应包括图外部的范围。,.,.,.,环形复杂性独立路径是指程序中至少引进一个新的处理语句集合或一个新条件的任一路径。采用流图的术语,即独立路径必须至少包含一条在定义路径之前不曾用到的边。,.,例如:路径1:1-11路径2:1-2-3-4-5-10-1-11路径3:1-2-3-6-8-9-10-1-11路径4:1-2-3-6-7-9-10-1-11注意:每一条新的路径都包含了一条新边。路径1-2-3-4-5-10-1-2-3-6-8-9-10-1-11不是独立路径,意味它只是已有路径的简单合并,并未包含任何新边。应该注意到基本集并不唯一。实际上,给定的过程设计可派生出任意数量的不同基本集。,.,环形复杂性的定义与算法:流图中区域的数量对应于环形的复杂性给定流图G的环形复杂性V(G),定义为V(G)=E-N+2,E是流图中边的数量,N是流图节点数量。给定流图G的环形复杂性V(G),也可定义为V(G)=P+1,P是流图G中判定节点的数量。,.,例子:,.,基本路径法步骤:步骤1:以设计或代码为基础,画出相应的流图。步骤2:确定结果流图的环形复杂性。可采用上一节的任意一种算法来计算环形复杂性V(G)。应该注意到,计算V(G)并不一定要画出流图,计算PDL中的所有条件语句数量(过程求平均值中复合条件语句计数为2),然后加1即可得到环形复杂性。,.,步骤3:确定线性独立的路径的一个基本集。步骤4:准备测试用例,强制执行基本集中每条路径。测试人员可选择数据以便在测试每条路径时适当设置判定结点的条件。,.,.,.,在过程求平均值中,有6条路经:路径1:1-2-10-11-13路径2:1-2-10-12-13路径3:1-2-3-10-11-13路径4:1-2-3-4-5-8-9-2-路径5:1-2-3-4-5-6-8-9-2-.路径6:1-2-3-4-5-6-7-8-9-2-路径4、5和6后面的省略号()表示可以加上控制结构其余部分的任意路径。,.,路径1测试用例(1-2-10-11-13):value(k)=有效输入,其中kivalue(i)=-999,其中2i100期望结果:基于k的正确平均值和总数。注意:路径1无法独立测试,必须作为路径4、5和6测试的一部分。路径2测试用例(1-2-10-12-13):value(1)=-999期望结果:平均值=-999;其它按初值汇总。,.,路径3测试用例(1-2-3-10-11-13):试图处理101或更大的值前100个数值应该有效期望结果:与测试用例1相同路径4测试用例(1-2-3-4-5-8-9-2):value(k)最大值value(i)=有效输入,其中I806)VART$:CHAR;(10)/非字母7)VARGOTO:INTEGER:(11)/保留字作为标示符8)VAR2T:REAL;(13)/数字作为标示符9)VARAPR:REAL;(15)/未说明先使用BEGINPAP:=SIN(3.14*0.8)/6;,.,2.2.2边界值分析,思路:人们从长期的测试工作中总结出经验:大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。经验:应当选择正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选择等价类中的典型值或任意值作为测试数据。,.,边界值分析的有以下原则:如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超过这个范围边界的值作为测试输入数据。例如,若输入值的范围是“-0.11.0”,则可选取“-0.101”,“0.009”,“-0.009”,“1.001”作为测试输入数据。,.,如果输入条件规定了值的个数,则用最大个数、最小个数、比最大个数多1、比最小个数少1的数作为测试数据。例如,若一个输入文件可有1-255个记录,则可以分别设计有一个记录、255个记录以及0个记录和256个记录的输入文件。根据规格说明的每个输出条件,使用原则(1)。例如,某程序的功能是计算折扣量,若最低折扣量是0元,最高折扣量是1050,则设计一些测试用例,使它们恰好产生0元和1050元的结果。此外,还可以考虑设计结果为负值或大于1050元的测试用例。由于输入值的边界不与输出值的边界项对应,所以要检查输出值的边界不一定可行,要产生超出输出值值域之外的结果也不一定可行。尽管如此,在必要时还要试一试。,.,根据规格说明的每个输出条件,使用原则(2)。例如,一个信息检索系统根据用户输入的命令,显示有关文献的摘要,但最多只显示4篇摘要。这时可以设计一些测试用例,使得程序分别显示1篇、4篇、0篇摘要,并设计一个有可能使

温馨提示

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

评论

0/150

提交评论