版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
白盒测试技术白盒测试应该根据程序的控制结构设计测试用例,原则是:保证模块中每一独立的路径至少执行一次;保证所有判断的每一分枝至少执行一次;保证每一循环都在边界条件和一般条件下至少各执行一次;验证所有内部数据结构的有效性。白盒测试方法程序控制流分析(Programcontrol-flow)数据流分析(Data-flowcoverage)逻辑覆盖域测试符号测试路径分析程序插装控制流图是描述程序控制流的一种图示方式。其中基本的控制结构对应的图形符号如图3-8所示。在图3-8所示的图形符号中,圆圈称为控制流图的一个结点,它表示一个或多个无分支的语句或源程序语句。
1.程序的控制流图
图3-8控制流图的图形符号图3-9(a)所示的是一个程序的流程图,它可以映射成图(b)所示的控制流图。图3-9程序流程图和对应的控制流图逻辑覆盖逻辑覆盖是以程序内部的逻辑结构为基础的设计测试用例的技术。这一方法要求测试人员对程序的逻辑结构有清楚的了解,甚至要能掌握源程序的所有细节。由于覆盖测试的目标不同,逻辑覆盖又可分为:语句覆盖判定覆盖条件覆盖判定/条件覆盖条件组合覆盖路径覆盖图3-7参考例子流程图intfunction1(boola,boolb,boolc){
intx;x=0;if(a&&(b||c))x=1;returnx;}1.语句覆盖为了暴露程序中的错误,程序中的每条语句至少应该执行一次。所以,语句覆盖的含义是:选择足够多的测试数据,使被测程序中每条语句至少执行一次。2.判定覆盖比语句覆盖稍强的覆盖标准是判定覆盖。按判定覆盖准则进行测试是指,设计若干测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断的真假值均曾被满足。判定覆盖又称为分支覆盖。3.条件覆盖在设计程序中,一个判定语句是由多个条件组合而成的复合判定。条件覆盖的含义是:构造一组测试用例,使得每一判定语句中每个逻辑条件的可能值至少满足一次。4.条件判定组合覆盖条件判定组合覆盖的含义是:设计足够的测试用例,使得判定中每个条件的所有可能(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。5.多条件覆盖多条件覆盖也称为条件组合覆盖,它的含义是:设计足够的测试用例,使得每个判定中条件的各种可能组合都至少出现一次。显然满足多条件覆盖的测试用例是一定满足判定覆盖、条件覆盖和条件判定组合覆盖的。6.修正条件判定覆盖它要求满足两个条件:首先,每一个程序模块的入口和出口点都要考虑至少被调用一次,每个程序的判定到所有可能的结果值要至少转换一次;其次,程序的判定被分解为通过逻辑操作符(and、or)连接的bool条件,每个条件对于判定的结果值是独立的。7.测试覆盖准则(1)Foster的ESTCA覆盖准则前面所介绍的逻辑覆盖其出发点似乎是合理的。所谓“覆盖”,就是想要做到全面而无遗漏。但是,事实表明,它并不能真的做到无遗漏。
K.A.Foster从测试工作实践的教训出发,吸收了计算机硬件的测试原理,提出了一种经验型的测试覆盖准则。3.2.3程序插桩在软件动态测试中,程序插桩是一种基本的测试手段,有着广泛的应用。1.方法简介程序插桩方法是借助往被测程序中插入操作,来实现测试目的的方法。设计插桩程序时需要考虑的问题包括:①探测哪些信息;②在程序的什么部位设置探测点;③需要设置多少个探测点。如果我们想要了解一个程序在某次运行中所有可执行语句被覆盖的情况,或是每个语句的实际执行次数,最好的办法是利用插桩技术。这里仅以计算整数X和整数Y的最大公约数程序为例,说明插桩方法的要点。图3-3给出了这一程序的流程图。图3-3插桩后求最大公约数程序的流程图2.断言语句在程序中特定部位插入某些用以判断变量特性的语句,使得程序执行中这些语句得以证实,从而使程序的运行特性得到证实。我们把插入的这些语句称为断言。这一做法是程序正确性证明的基本步骤,尽管算不上严格的证明,但方法本身仍然是很实用的。下面以求两个非负数NUM和DEN之商的Wensley迭代算法为例,对断言语句的作用做一简要说明。图3-5计算非负数之商的迭代程序图3-6插入断言后的迭代程序点覆盖
NodeCoverage如果连通图G的子图G´是连通的,而且包含G的所有节点,则称G´是G的点覆盖。与语句覆盖标准相同。
语句覆盖
Statementcoverage语句覆盖就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。这种覆盖又称为点覆盖,它使得程序中每个可执行语句都得到执行,但它是最弱的逻辑覆盖准,效果有限,必须与其它方法交互使用。Tobecontinue…PROCEDUREExample(A,B:real;X:real);BeginIF(A>1)AND(B=0)THENX:=X/A;IF(A=2)OR(X>1)THENX:=X+1END;I.A=2,B=0,X=4----sacbed语句覆盖所有的语句至少执行一次!是最弱的逻辑覆盖eF(A>1)
and
(B=0)(A=2)
or(X>1)X=X/AX=X+12sd1aF4cTb5T637语句覆盖优缺点优点:可以很直观地从源代码得到测试用例,无须细分每条判定表达式。缺点:由于这种测试方法仅仅针对程序逻辑中显式存在的语句,但对于隐藏的条件和可能到达的隐式逻辑分支,是无法测试的。例如:IF(A>1)AND(B=0)THEN,“nullelse”,用例不需要考虑迫使A<1的出错情况。判定覆盖
DecisionCoverage判定覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次,即程序中的每个分支至少执行一次
。判定覆盖又称为分支覆盖(Branchcoverage)。判定覆盖只比语句覆盖稍强一些,实际效果表明,只是判定覆盖,还不能保证一定能查出在判断的条件中存在的错误。因此,还需要更强的逻辑覆盖准则去检验判断内部条件。
Tobecontinue…X=X/AI:A=3,B=0,X=1:sacbdII:A=2,B=1,X=1:sabed满足判定覆盖的测试用例一定满足语句覆盖:判定覆盖比语句覆盖强。但仍是弱的逻辑覆盖。(A>1)
and
(B=0)(A=2)
or(X>1)X=X+12sd1aF4cTb5TeF37满足判定覆盖(A>1)and(B=0)为一个判定A>1为一个条件每个语句至少执行一次!每个判定的每种可能都至少执行一次!即每个判定的真假分支都至少执行一次!6边覆盖
EdgeCoverage如果连通图G的子图G´是连通的,而且包含G的所有边,则称G´是G的边覆盖。通常与判定覆盖标准相同。17Ⅰ:A=3,B=0,X=3(1-4-5-3);Ⅱ:A=2,B=1,X=1(1-2-6-7)Ⅲ:A=1,B=1,X=1(1-2-3);Ⅳ:A=2,B=0,X=4(1-4-5-6-7)243567
判定覆盖的优缺点优点:判定覆盖比语句覆盖要多几乎一倍的测试路径,当然也就具有比语句覆盖更强的测试能力。同样判定覆盖也具有和语句覆盖一样的简单性,无须细分每个判定就可以得到测试用例。缺点:往往大部分的判定语句是由多个逻辑条件组合而成(如,判定语句中包含AND、OR、CASE),若仅仅判断其整个最终结果,而忽略每个条件的取值情况,必然会遗漏部分测试路径。
判定-判定路径覆盖
DD-pathsDD-path:decision-decisionpath.DD-path,定义:开始于判定点-结束于判定点并且中间不包含其他的判定点。例如:1451226723与判定覆盖等价条件覆盖
ConditionCoverage条件覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判断的每个条件的可能取值至少执行一次。条件覆盖深入到判定中的每个条件,但可能不能满足判定覆盖的要求。Tobecontinue…每个语句至少执行一次,而且判定表达式中的每个条件都要取得各种可能的结果。第一判定表达式:设条件A>1取真记为T1
假F1
条件B=0取真记为T2
假F2第二判定表达式:设条件A=2取真记为T3
假F3
条件X>1取真记为T4
假F4条件覆盖要求这8种值都要取到(A>1)
and
(B=0)(A=2)
or(X>1)X=X/AX=X+12sd1aF4cTb5T637eF(A>1)(A≤1)(B=0)(B≠0)(A=2)(A≠2)(X>1)(X≤1)Ⅱ:A=1,B=1,X=1:sabdⅠ:A=2,B=0,X=4:sacbed测试用例通过路径满足的条件ABX204sacbedT1,T2,T3,T4111sabdF1,F2,F3,F4同时满足判定覆盖(A>1)
and
(B=0)(A=2)
or(X>1)X=X/AX=X+12sd1aF4cTb5T637eF(A>1)(A≤1)(B=0)(B≠0)(A=2)(A≠2)(X>1)(X≤1)Ⅳ:A=1,B=1,X=2:sabedⅢ:A=2,B=0,X=1:sacbed测试用例通过路径满足的条件ABX201sacbedT1,T2,T3,F4112sabedF1,F2,F3,T4不满足判定覆盖(A>1)
and
(B=0)(A=2)
or(X>1)X=X/AX=X+12sd1aF4cTb5T637eF
条件覆盖的优缺点优点:
显然条件覆盖比判定覆盖增加了对符合判定情况的测试,增加了测试路径。缺点:
要达到条件覆盖,需要足够多的测试用例,但条件覆盖并不能保证判定覆盖。条件覆盖只能保证每个条件至少有一次为真,而不考虑所有的判定结果。
条件覆盖不一定包含判定覆盖判定覆盖也不一定包含条件覆盖
条件覆盖通常比判定覆盖强,因为它使判定表达式中每个条件都取到了两个不同的结果,判定覆盖却关心整个判定表达式的值。但也可能有相反的情况:虽然每个条件都取到了不同值,但判定表达式却始终只取一个值。判定覆盖和条件覆盖(DC)判定-条件覆盖既然判定条件不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖,就自然会提出一种能同时满足两种覆盖标准的逻辑覆盖,这就是判定--条件覆盖。判定-条件覆盖就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断本身的所有可能判断结果至少执行一次。换言之,即是要求各个判断的所有可能的条件取值组合至少执行一次。Tobecontinue…判定-条件覆盖测试用例I,II既满足判定覆盖也满足条件覆盖的要求。严格来讲,合适的条件覆盖测试用例设计应该做到满足判定--条件覆盖的标准:判定-条件覆盖并不比条件覆盖更强。判定-条件覆盖有缺陷。表面上,它测试了所有条件的取值,但事实并非如此,往往某些条件掩盖了另一些条件,会遗漏某些条件取值错误的情况。为彻底地检查所有条件的取值,需要将判定语句中给出的复合条件表达式进行分解,形成由多个基本判定嵌套的流程图。这样就可以有效地检查所有的条件是否正确了。
判定-条件覆盖的优缺点优点:判定/条件覆盖满足判定覆盖准则和条件覆盖准则,弥补了二者的不足。缺点:判定/条件覆盖准则的缺点是未考虑条件的组合情况。
条件组合覆盖
(MultipleCondition)条件组合覆盖就是设计足够的测试用例,运行被测程序,使得每个判断的所有可能的条件取值组合至少执行一次。这是一种相当强的覆盖准则,可以有效地检查各种可能的条件取值的组合是否正确。它不但可覆盖所有条件的可能取值的组合,还可覆盖所有判断的可取分支,但可能有的路径会遗漏掉。测试还不完全。A>1,B=0A>1,B≠0A≤1,B=0A≤1,B≠0A=2,X>1A=2,X≤1A≠2,X>1A≠2,X≤1选取足够多的测试数据,使得每个判定表达式中条件的各种可能组合都至少出现一次。(A>1)
and
(B=0)(A=2)
or(X>1)X=X/AX=X+12sd1aF4cTb5T637eF(A>1)
and
(B=0)(A=2)
or(X>1)X=X/AX=X+12sd1aF4cTb5T637e(A>1)(A≤1)(B=0)(B≠0)(A=2)(A≠2)(X>1)(X≤1)I.A=2,B=0,X=4II.A=2,B=1,X=1III.A=1,B=0,X=2IV.A=1,B=1,X=1I:sacbedII:sabedIII:sabedIV:sabd覆盖路径满足条件组合覆盖标准的测试数据,也一定满足判定覆盖、条件覆盖和判定/条件覆盖标准。F测试用例通过路径满足的条件条件组合覆盖分支ABX204sacbedT1,T2,T3,T41,54563211sabedT1,F2,T3,F42,6263102sabedF1,T2,F3,T43,7263111sabdF1,F2,F3,F44,8234组测试数据可以使8种条件组合每种至少出现一次显然,满足条件组合覆盖的测试用例,也一定满足判定覆盖、条件覆盖和判定/条件覆盖。所以,条件组合覆盖是前述几种覆盖中最强的。但满足条件组合覆盖的不一定能使程序中的每条路径都执行到,如sacbd。
条件组合覆盖的优缺点优点:多重条件覆盖准则满足判定覆盖、条件覆盖和判定/条件覆盖准则。更改的判定/条件覆盖要求设计足够多的测试用例,使得判定中每个条件的所有可能结果至少出现一次,每个判定本身的所有可能结果也至少出现一次。并且每个条件都显示能单独影响判定结果。缺点:线性地增加了测试用例的数量。路径覆盖路径测试就是设计足够的测试用例,覆盖程序中所有可能的路径。这是最强的覆盖准则。但在路径数目很大时,真正做到完全覆盖是很困难的,必须把覆盖路径数目压缩到一定限度。测试用例通过路径满足的条件ABX111sabdF1,F2,F3,F4112sabedF1,F2,F3,T4301sacbdT1,T2,F3,F4204sacbedT1,T2,T3,T4路径覆盖是相当强的逻辑覆盖,它保证程序中每条可能的路径都至少执行一次,因此更具代表性,暴露错误的能力也比较强。但为了做到路径覆盖,只需考虑每个判定式的取值,并没有检验表达式中条件的各种可能组合。如果将路径覆盖和条件组合覆盖结合起来,可以设计出检错能力更强的测试数据。路径覆盖
(Pathcoverage)条件3A≤1,B=0
没有被覆盖
路径覆盖的优缺点优点:这种测试方法可以对程序进行彻底的测试,比前面五种的覆盖面都广。缺点:由于路径覆盖需要对所有可能的路径进行测试(包括循环、条件组合、分支选择等),那么需要设计大量、复杂的测试用例,使得工作量呈指数级增长。而在有些情况下,一些执行路径是不可能被执行的,如:
If
(A)B++;
If
(!A)D--;这两个语句实际只包括了2条执行路径,即A为真或假时候对B和D的处理,真或假不可能都存在,而路径覆盖测试则认为是包含了真与假的4条执行路径。这样不仅降低了测试效率,而且大量的测试结果的累积,也为排错带来麻烦。Level-iPathLevel-0path,是从起点到终点的一条无圈路,即不包含循环、圈。Level-ipath,开始于level-(i-1)path中的点,并且可能含有圈。一般来说表示嵌套循环的语句结构。123456713121110981415161718
图1-18Project/Settings...,Pre-Linkstep增加
Pre-LinkCommand:copye:\cppunit\lib\cppunitd_dll.dll$(OutDir)Project/Settings...,Post-Buildstep增加
Post-buildCommand:copye:\cppunit\lib\cppunitd_dll.dll$(OutDir)Tools/Options…directions,在showdirectionsfor中选择includefiles,添加目录:E:\cppunit\include,E:\cppunit\include\cppunit.如图:完成上述步骤后,点击Build-rebuildall.输出结果为:如图动态技术的应用黑盒测试黑盒测试功能测试或者数据驱动测试。它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用:
1)是否有不正确或遗漏的功能
2)在接口上,是否能正确的接受输入数据,能否产生正确的输出
3)访问外部信息是否有错
4)性能上是否满足要求
5)界面是否错误、是否不美观
6)初始化和终止错误
黑盒测试用例设计方法等价类划分边界值分析法错误推测法因果图法功能图法等价类指某个输入域的子集合,在该集合中,各个输入数据对于揭露程序中的错误都是等效的,具有等价性。例如:对所有实数进行开方运算的程序的测试将实数分类:正实数、负实数、零。划分等价类等价类的划分有两种不同的情况:有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。
划分等价类的原则如果输入条件规定了取值范围,或值的个数,则可以确立一个有效等价类和两个无效等价类。例如,在规格说明中,对输入条件有一句话: “……项数可以从1到999……”
则有效等价类是“1≤项数≤999”;
两个无效等价类是“项数<1”或“项数>999”。在数轴上表示成:1999有效等价类无效等价类无效等价类
划分等价类的原则如果输入条件规定了输入值的集合,或者是规定了“必须如何”的条件,这时可确立一个有效等价类和一个无效等价类。例如,程序输入条件为x=10,则有效等价类为x=10,无效等价类为x≠10.在编程语言中对变量标识符规定为“以字母打头的……串”。那么所有以字母打头的构成有效等价类,而不在此集合内(不以字母打头)的归于无效等价类。
划分等价类的原则如果输入条件是一个布尔量,则可以确定一个有效等价类和一个无效等价类。例如:输入条件为x=true,则有效等价类为x=true,无效等价类为x=false
划分等价类的原则④
如果规定了输入数据的一组值,而且程序要对每个输入值分别进行处理。这时可为每一个输入值确立一个有效等价类,此外针对这组值确立一个无效等价类,它是所有不允许的输入值的集合。例如,在教师上岗方案中规定对教授、副教授、讲师和助教分别计算分数,做相应的处理。因此可以确定4个有效等价类为教授、副教授、讲师和助教,一个无效等价类,它是所有不符合以上身分的人员的输入值的集合。
划分等价类的原则如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
例如,Pascal语言规定“一个语句必须以分号‘;’结束”。这时,可以确定一个有效等价类“以‘;’结束”,若干个无效等价类“以‘:’结束”、“以‘,’结束”、“以‘’结束”、“以LF结束”等。有效Email地址的规则:含有﹫,﹫后面是*.*,Emaild地址不带特殊符号”,#,&,’等。有效等价类:满足所有的条件的输入的集合。无效等价类:任何不满足一个或者多个条件的输入的集合
划分等价类的原则⑥在确定已知的等价类中各元素在程序处理中的方式不同的情况下,应再将该等价类进一步划分为更小的等价类。
等价类划分法设计测试用例形成等价类表,每一等价类规定一个唯一的编号;设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步骤,直到所有有效等价类均被测试用例所覆盖;且分割有效等价类直至最小。设计一新的测试用例,使其尽可能多的覆盖尚未被覆盖的无效等价类,重复这一步骤直到所有无效等价类均被覆盖,即分割无效等价类直至最小。某报表处理系统要求用户输入处理报表的日期,日期限制在2003年1月至2008年12月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错误信息。系统日期规定由年、月的6位数字字符组成,前四位代表年,后两位代表月。如何用等价类划分法设计测试用例,来测试程序的日期检查功能?
等价类划分法—实例
第一步:等价类划分输入条件有效等价类无效等价类报表日期的类型及长度6位数字字符(1)有非数字字符
(4)少于6个数字字符
(5)多于6个数字字符
(6)年份范围在2003~2008之间
(2)小于2003
(7)大于2008
(8)月份范围在1~12之间(3)小于1
(9)大于12
(10)“报表日期”输入条件的等价类表
第二步:为有效等价类设计测试用例对表中编号为1,2,3的3个有效等价类用一个测试用例覆盖:测试数据期望结果覆盖范围200306输入有效等价类(1)(2)(3)(1)
6位数字字符(2)
年在2003~2008之间(3)
月在1~12之间
第三步:为每一个无效等价类 至少设计一个测试用例测试数据期望结果覆盖范围003MAY输入无效等价类(4)20035输入无效等价类(5)2003005输入无效等价类(6)200105输入无效等价类(7)200905输入无效等价类(8)200300输入无效等价类(9)200313输入无效等价类(10)不能出现相同的测试用例本例的10个等价类至少需要8个测试用例有非数字字符
(4)少于6个数字字符
(5)多于6个数字字符
(6)小于2003
(7)大于2008
(8)月份小于1
(9)月份大于12
(10)边界值分析法边界值分析也是一种黑盒测试方法,是对等价类划分方法的补充。边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。被测试子域测试内点测试外点测试边界
边界值地确定如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一、比最大个数多一的数作为测试数据。如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。分析规格说明,找出其他可能的边界条件。边界点图示闭区间半开半闭区间开区间外点外点外点外点外点外点上点上点上点上点上点上点内点内点内点闭区间[50,100]的上点为50和100,外点是49和101,在域范围内的都是内点; 半开半闭区间(50,100]的上点为50和100,外点是51和101,在域范围内的都是内点; 开区间(50,100)的上点为50和100,外点是51和99,在域范围内的都是内点上点:就是边界上的点,不管它是开区间还是闭区间,就是说,如果该点是封闭的,那上点就在域范围内,如果该点是开放的,那上点就在域范围外;内点:就是在域范围内的任意一个点;外点:就是离上点最近的一个点,如果边界是封闭的,那离点就是域范围外离上点最近的点,如果边界是开放的,那离点就是域范围内离上点最近的点。
内部边界值地确定
(隐含)项范围或值位(bit)0或1字节(byte)0~255千(K)1024兆(M)1048576吉(G)1073741824太(T)1099511627776
内部边界值地确定字符的边界值检查:ASCII和Unicode,其他边界值检验“报表日期”边界值--用例输入条件测试用例说明测试数据期望结果选取理由报表日期类型及长度1个数字字符5显示出错仅有1个合法字符6个数字字符200305输入有效类型及长度均有效5个数字字符20035显示出错比有效长度少17个数字字符2003005显示出错比有效长度多1有1个非数字字符2003.5显示出错只有1个非法字符全是非数字字符MAY---显示出错6个非法字符年份范围年份为2003年200305输入有效最小年份年份为2008年200805输入有效最大年份年份<2003年200205显示出错刚好小于最小年份年份>2008年200905显示出错刚好大于最大年份月份范围月份为1月200301输入有效最小月份月份为12月200312输入有效最大月份月份<1200300显示出错刚好小于最小月份月份>12200313显示出错刚好大于最大月份错误推测法基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地设计测试用例。经验表明,一段程序中已经发现的错误数往往和尚未发现的错误数成正比。因此进一步测试要着重测试发现错误较多的程序段。
错误推测法测试用例设计发现程序经常出现的错误的方法:单元测试中发现的模块错误;产品的以前版本曾经发现的错误;输入数据为0或字符为空;当软件要求输入时(比如在文本框中),不是没有输入正确的信息,而是根本没有输入任何内容,单单按了Enter键;这种情况在产品说明书中常常忽视,程序员也可能经常遗忘,但是在实际使用中却时有发生。程序员总会习惯性的认为用户要么输入信息,不管是看起来合法的或非法的信息,要不就会选择Cancel键放弃输入。因果图法等价分类法和边界分析法,均没有考虑到输入情况的组合。因果图法:一种利用图解法分析输入的各种条件组合(相应产生多个动作的形式),从而设计测试用例的方法。分析关联转换输出输入/输出数据输入/输出数据间的关系不同组合间的关联约束或限制条件将因果图转换成判定表导出测试用例例子第一列字符必须是A或者B,第二列字符必须是一个数字,在此情况下进行文件的修改;但如果第一列字符不正确
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年企业安全系列培训内容实操要点
- 国企职业安全培训内容
- 2026年班前安全培训讲话内容核心要点
- 建筑节后安全培训内容有哪些
- 2026年中南林业科技大学教师招聘笔试备考试题及答案解析
- 2026年BIM技术应用培训试题及答案
- 2026浙江温州市瓯海区第三人民医院社会招聘3人农业考试备考题库及答案解析
- 2026年太原工业学院教师招聘考试参考试题及答案解析
- 2026广东仲恺农业工程学院招聘辅导员20人(编制)农业笔试模拟试题及答案解析
- 2026年郑州财税金融职业学院教师招聘考试参考题库及答案解析
- 智研咨询发布:2026年中国生活垃圾转运站行业竞争格局及发展前景研究报告
- 山东青州第一中学2025-2026学年高三普通部二轮专题复习模拟考试(四)语文试题(含答案)
- 2025-2030港口码头运营服务行业供求状况研究投资项目规划
- 《危险化学品安全法》与《危化品安全管理条例》条款对照表
- 【新教材】人教版小学三年级音乐下册4.3《紧缩与放大》《珠峰脚下乐声扬》教学课件
- 应用心理学专业-《变态心理学》-2024版教学大纲
- 企业HSE绩效考核指标体系
- 慢性顽固性疼痛的护理课件
- 2026年江苏航空职业技术学院单招职业技能考试题库附答案
- 蜜雪冰城成本管理
- 2025年赛事运营经理招聘面试参考题库及答案
评论
0/150
提交评论