![Ch功能性测试实用实用教案_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-11/24/cb9882fc-69d0-4cc0-bb6d-6806f1fd267c/cb9882fc-69d0-4cc0-bb6d-6806f1fd267c1.gif)
![Ch功能性测试实用实用教案_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-11/24/cb9882fc-69d0-4cc0-bb6d-6806f1fd267c/cb9882fc-69d0-4cc0-bb6d-6806f1fd267c2.gif)
![Ch功能性测试实用实用教案_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-11/24/cb9882fc-69d0-4cc0-bb6d-6806f1fd267c/cb9882fc-69d0-4cc0-bb6d-6806f1fd267c3.gif)
![Ch功能性测试实用实用教案_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-11/24/cb9882fc-69d0-4cc0-bb6d-6806f1fd267c/cb9882fc-69d0-4cc0-bb6d-6806f1fd267c4.gif)
![Ch功能性测试实用实用教案_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-11/24/cb9882fc-69d0-4cc0-bb6d-6806f1fd267c/cb9882fc-69d0-4cc0-bb6d-6806f1fd267c5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1.边界值分析(fnx)Boundary Value Analysis第1页/共110页第一页,共111页。1.边界值测试(csh) 边界值分析 健壮性测试(csh) 最坏情况测试(csh) 特殊值测试(csh) 举例 随机测试(csh)第2页/共110页第二页,共111页。常见(chn jin)的边界值 对16-bit 的整数而言 32767 和 -32768 是边界(binji) 屏幕上光标在最左上、最右下位置 报表的第一行和最后一行 数组元素的第一个和最后一个 循环的第 0 次、第 1 次和倒数第 2 次、最后一次第3页/共110页第三页,共111页。1.1边界值分析(fnx) 依据原理
2、:错误更可能出现在输入变量(binling)的极值附近 基本思想:使用在最小值、略高于最小值、正常值、略低于最大值、最大值处输入变量(binling)值。 生成测试用例 使所有变量(binling)取正常值,只使一个变量(binling)取极值(依据“单缺陷”假设:失效极少是由两个或多个缺陷同时发生引起的) n个变量(binling)函数:1个变量(binling)取最小值、略高于最小值、正常值、略低于最大值、最大值,n-1个变量(binling)取正常值;对每个变量(binling)重复此过程,4n+1个测试用例第4页/共110页第四页,共111页。1.1例如(lr):x1x2第5页/共11
3、0页第五页,共111页。1.1对边界值分析(fnx)的说明 值域取决于变量的性质 容易确定值域:离散(lsn)值、有界值 人工确定值域:三角形问题,最大边长? 对布尔值无意义(可选决策表) 边界值分析的局限性 NextDate():2月,闰年第6页/共110页第六页,共111页。1.2健壮性测试(csh) 对边界值分析(fnx)的扩展x1x2第7页/共110页第七页,共111页。1.3最坏情况(qngkung)测试 当多个变量取极值时会出现什么情况? 生成测试用例: 对每个变量:首先进行包含最小值、略高于最小值、正常值、略低于最大值、最大值5元素集合测试,然后对这些集合进行笛卡尔积计算,生成测
4、试用例 n变量函数(hnsh)的最坏测试情况测试,会产生5n个测试用例第8页/共110页第八页,共111页。1.3两变量(binling)函数的最坏情况测试用例x1x2第9页/共110页第九页,共111页。1.3两变量(binling)函数的健壮最坏情况测试用例x1x2第10页/共110页第十页,共111页。1.4特殊(tsh)值测试 测试人员依赖经验( jngyn)、领域知识给出特殊值 特殊值测试特别依赖测试人员的能力 例如: NextDate函数:闰年2月28日,2月29日第11页/共110页第十一页,共111页。1.5举例(j l)(找零钱最佳组合) 假设商店(shngdin)商品价格X
5、皆不大于100元(整数),若顾客买一件商品,付款Y在100元内,求找给顾客的最少货币张数? 货币面值: 50元R50 20元R20 10元R10 5元R5 2元R2 1元R1第12页/共110页第十二页,共111页。分析(fnx)输入 X 100 0 X = 100 X 100 X= Y = 100 Y X 第13页/共110页第十三页,共111页。分析(fnx)输出 0 = R50 = 1 0 = R20 = 2 0 = R10 = 1 0 = R5 = 1 0 = R2 = 2 0 = R1 100 X 100 Y = 50 找R50 20 = S 50 找R20 10 = S 20 找R
6、10 5 = S 10 找R5 2 = S 5 找R2 1 = S 100 错误(cuw) X = 0 错误(cuw) 0 X 100 错误(cuw) 0 X = 100, Y 100 ; 0X=100; X100 ; 0Y=100; Y=0 思考3:这个等价类划分是否测试充分?漏掉了什么情况? 思考4:如果按照输出结果划分等价类,效果如何? 思考5: 应用输入结果的等价类划分测试与边界值分析相比,哪一个更简便( jinbin),哪一个有效?如何协调?第21页/共110页第二十一页,共111页。1.6随机(su j)测试 避免出现测试偏见(pinjin) 方法:使用随机数生成器选取测试用例值
7、例如: a=x=b x=int(b-a+1)*Rnd+a Rnd函数生成0,1内的随机数第22页/共110页第二十二页,共111页。2.等价(dngji)类划分Equivalence Partitioning第23页/共110页第二十三页,共111页。2.1等价(dngji)类测试 进行( jnxng)完备测试,又避免冗余 例如: a=x=d,区间为a,b),b,c),c,d e=y=g,区间为e,f),f,g 包含: 弱一般等价类测试 强一般等价类测试 弱健壮等价类测试 强健壮等价类测试第24页/共110页第二十四页,共111页。2.1.1弱一般等价(dngji)类测试 根据(gnj)单缺陷
8、假设:使用每个等价类(区间)的一个值生成测试用例xyadge对称(duchn)方式第25页/共110页第二十五页,共111页。2.1.2强一般(ybn)等价类测试 根据多缺陷假设:需要(xyo)等价笛卡尔积的每个元素生成测试用例xyadge第26页/共110页第二十六页,共111页。2.1.3弱健壮等价类测试(csh)/传统等价类测试(csh) 根据单缺陷假设:考虑无效值 对于有效输入,使用每个有效类的一个值(就像我们在所谓弱一般等价类测试(csh)中所做的一样。) 对于无效输入,测试(csh)用例将拥有一个无效值,并保持其余的值都是有效的。xyadge第27页/共110页第二十七页,共111
9、页。2.1.4强健壮等价(dngji)类测试 所有(suyu)等价类笛卡儿积的每个元素中获得测试用例。xyadge第28页/共110页第二十八页,共111页。2.2等价类测试用例生成(shn chn)步骤 选择确定类的等价关系(划分等价类)。 有效等价类 对于程序的需求说明来说是合理的,有意义的输入数据所构成的集合 利用它可以检验程序是否实现了预期的功能和性能(确认(qurn)过程) 无效等价类 对于程序的需求说明来说是不合理的,没有意义的输入数据所构成的集合 利用它可以检验程序对于无效数据的处理能力(验证过程) 选择每个等价类中的一组数据标识测试用例。第29页/共110页第二十九页,共111
10、页。2.2.1确立等价(dngji)类的原则 (1)严格的,可以按照变量来划分有效和无效等价类。先按照x来划分有效等价类和无效等价类,然后(rnhu)再按照y来划分有效等价类和无效等价类最后再形成相应的测试用例。x: 有效等价类为: A=x=B ; 无效等价类为:xA和Bx两个无效等价类y: 有效等价类为:C=y=D ; 无效等价类为:yC和D=1&=50” 两个无效等价类为“50” 第31页/共110页第三十一页,共111页。2.2.1确立(qul)等价类的原则 (3)如果输入条件是一个(y )布尔量,则可以确立一个(y )有效等价类和一个(y )无效等价类 如果规定了输入数据的一组
11、值,而且程序要对每一个(y )输入值分别进行处理,这时要对每一个(y )规定的输入值确立一个(y )有效等价类,而对于这组值之外的所有值确立一个(y )无效等价类 第32页/共110页第三十二页,共111页。2.2.1确立等价(dngji)类的原则 (4)如果规定了输入数据必须遵守的规则,则可以(ky)确立一个有效等价类(即遵守规则的数据)和若干无效等价类(从不同角度违反规则的数据),例如: 测试密码域,要求密码必须是数字或字母 有效等价类为“密码是数字和字母的组合”(还可以(ky)细分) 无效等价类为“密码包括中文”、“密码包括其它符号”等如果确知已划分的等价类中的各元素在程序中的处理方式不
12、同(例如字母还要区分大小写等),则应进一步划分成更小的等价类 第33页/共110页第三十三页,共111页。2.2.2将等价(dngji)类转化成测试用例第34页/共110页第三十四页,共111页。等价(dngji)类表第35页/共110页第三十五页,共111页。等价(dngji)类测试用例设计 针对是否对无效数据进行测试,可以将等价类测试分为 标准等价类测试和健壮等价类测试。 标准等价类测试不考虑无效数据值,测试用例使用 每个等价类中的一个值。 健壮等价类测试主要的出发点是考虑了无效等价类。对有效输入,测试用例从每个有效等价类中取一个值; 对无效输入,一个测试用例有一个“无效值”,其他值均取“
13、有效值”。 健壮等价类测试存在两个问题: (1)需要(xyo)花费精力定义无效测试用例的期望输出 (2)对强类型的语言没有必要考虑无效的输入,程序可以自己检测。第36页/共110页第三十六页,共111页。2.3等价类划分(hu fn)实例 保险费率计算(j sun) 三角形 NextDate第37页/共110页第三十七页,共111页。2.3.1保险费率计算(j sun)按照输入域划分等价类的例子。某保险公司承担人寿保险(rn shu bo xin),该公司保费计算方式为:保费=投保额*保险率,保险率依点数不同而有别,10点以上(含10点)费率为0.6%,10点以下费率为0.1%点数的计算是年龄
14、、性别、婚姻、抚养人数所得的点数的总和输入:年龄、性别、婚姻、抚养人数输出:保险率第38页/共110页第三十八页,共111页。输入(shr)数据说明 年龄20396点40594点99以下59以上、20以下1以上2点性别男5点女3点婚姻已婚3点未婚5点抚养人数1人扣0.5点最多扣3点(四舍五入)第39页/共110页第三十九页,共111页。第一步:输入(shr)和输出变量确认按照输入域划分等价类的例子。输入:年龄、性别、婚姻、抚养人数输出:保险率等价类划分原则(yunz):按照输入变量来确认等价类(有效等价类和无效等价类)第40页/共110页第四十页,共111页。第二步:等价(dngji)类划分输
15、入年龄有效等价类2039(6点)(1)4059 (4点)(2)6099、119 (2点)(3)无效等价类空白(未知)(4)99 (未知)(6)包含非数字字符(未知)(7)性别有效等价类男(5点)(8)女(3点)(9)婚姻有效等价类已婚(3点)(10)未婚(5点)(11)是否(sh fu)可以有更多无效等价类?第41页/共110页第四十一页,共111页。第二步:等价(dngji)类划分输入抚养人数有效等价类12 (1点)(12)34 (2点)(13)4 (3点)(14)无效等价类空白(未知)(15)=10点(0.6%)(18)10点(0.1%)(19)第42页/共110页第四十二页,共111页。
16、第三步:设计(shj)测试用例按照输入域划分等价类的例子。1、设计测试用例,尽可能的覆盖尚未覆盖的有效等价类。(1)(8)(10)(12)(2)(9)(11)(13)(3)(8)(10)(14)2、设计测试用俐,使得每一个新设计的测试用例只包含一个无效等价类,其他的选择有效等价类。(4)(8)(10)(12)(5)(9)(11)(13)(6)(8)(10)(14)(7)(8)(10)(14)(1)(8)(10)(15)(2)(9)(11)(16)(3)(8)(10)(16)说明:在设计无效部分的测试用例的时候,有效等价类部分,可以(ky)任意选择。第43页/共110页第四十三页,共111页。第
17、四步:选取(xunq)测试用例用例编号输入输出备注年龄性别婚姻抚养人数保险率122男已婚10.6%(1)(8)(10)(12)(18) 13点245女未婚40.1%(2)(9)(11)(13)(19) 8点365男已婚80.1%(3)(8)(10)(14)(19) 7点4空白男未婚1错误(4)5-1男未婚2错误(5)6122男未婚8错误(6)7“tt1”女已婚1错误(7)822女已婚空白错误(15)922女已婚-1错误(16)1022女未婚“ ct2 ”错误(17)第44页/共110页第四十四页,共111页。思考(sko)1、是否可以按照输出(shch)域来设计测试用例?2、按照输入域设计的结
18、果和按照输出(shch)域设计的结果会有何不同?第45页/共110页第四十五页,共111页。 2.3.2三角形问题(wnt)的等价类测试用例第一步:划分(hu fn)等价类 R1=:有三条(sn tio)边a、b和c的等边三角形R2=:有三条(sn tio)边a、b和c的等腰三角形R3=:有三条(sn tio)边a、b和c的不等边三角形R4=:三条(sn tio)边a、b和c不构成三角形 第二步:选取测试用例 4 4个弱一般等价类测试用例个弱一般等价类测试用例测试用例测试用例a ab bc c预期输出预期输出WN1WN15 55 55 5等边三角形等边三角形WN2WN22 22 23 3等腰三
19、角形等腰三角形WN3WN33 34 45 5三角形三角形WN4WN44 41 12 2非三角形非三角形第46页/共110页第四十六页,共111页。三角形问题(wnt)的弱健壮等价类测试用例弱健壮等价类测试(WN+WR)测试用例abc预期输出WR1-155a取值不在允许的范围内WR25-15b取值不在允许的范围内WR355-1c取值不在允许的范围内WR420155a取值不在允许的范围内WR552015b取值不在允许的范围内WR655201c取值不在允许的范围内第47页/共110页第四十七页,共111页。三角形问题(wnt)的强健壮等价类测试用例强健壮等价类测试(WN+WR+SR+)测试用例 ab
20、c预期输出SR1-1-15a、b取值不在允许的范围内SR25-1-1b、c取值不在允许的范围内SR3-15-1a、c取值不在允许的范围内SR4-1-1-1a、b、c取值不在允许的范围内第48页/共110页第四十八页,共111页。三角形问题的另一种等价(dngji)类划分 D1 D1 = a : a = b = c a = b = c D2 D2 = ac: a a = b b,ac D3 D3 = ac: a a = c c,ab D4 D4 = ac: c c = b b,ac D5 D5 = ac: b b a c D6 D6 = ac:a ab+c b+c D7 D7 = ac:b ba
21、+C a+C D8 D8 = ac:c ca+b a+b 第49页/共110页第四十九页,共111页。2.3.3NextDate2.3.3NextDate函数(hnsh)(hnsh)的等价类测试用例确定(qudng)等价类: 无效等价类: M2 = 月份(yufn):月份(yufn)12D2 = 日期:日期31Y2 = 年:年2012有效等价类:M1 = 月份:1月份12 D1 = 日期:1日期31Y1 = 年:1812年2012 第50页/共110页第五十页,共111页。NextDateNextDate函数的弱一般(ybn)(ybn)等价类测试用例用例ID月份日期年预期输出WN1,SN161
22、519126/16/1912第51页/共110页第五十一页,共111页。NextDateNextDate函数的弱健壮(jinzhung)(jinzhung)等价类测试用例用例ID月份日期年预期输出WR161519126/16/1912WR2-1151912无效输入WR313151912无效输入WR46-11912无效输入WR56321912无效输入WR66151811无效输入WR76152013无效输入第52页/共110页第五十二页,共111页。NextDateNextDate函数的强健壮(jinzhung)(jinzhung)等价类测试用例用例ID月份日期年预期输出SR1-1151912无效
23、输入SR26-11912无效输入SR36151811无效输入SR4-1-11912无效输入SR56-11811无效输入SR6-1151811无效输入SR7-1-11811无效输入第53页/共110页第五十三页,共111页。NextDateNextDate函数的等价(dngji)(dngji)类另一种划分法M1 = 月份(yufn):每月有30天 M2 = 月份(yufn):每月有31天 M3 = 月份(yufn):此月是2月 D1 = 日期:1日期28D2 = 日期:日期=29D3 = 日期:日期=30D4 = 日期:日期=31Y1 = 年:年=1900Y2 = 年:年是闰年Y3 = 年:年是
24、平年第54页/共110页第五十四页,共111页。弱一般(ybn)等价类测试用例用例ID月份日期年预期输出WR161420006/15/2000WR272919967/30/1996WR32302002无效输入WR46312000无效输入第55页/共110页第五十五页,共111页。强一般(ybn)等价类测试用例测试用例的个数:M MD DY = 3 Y = 3 * * 4 4 * * 3 = 36 3 = 36 第56页/共110页第五十六页,共111页。指导方针和观察(gunch) 等价类测试的弱形式(一般或健壮)不如对应的强形式的测试全面。 如果实现语言是强类型的(无效值会引起运行时错误),
25、则没有必要使用健壮形式的测试。 如果错误条件非常重要,则进行健壮形式的测试是合适的。 如果输入数据以离散值区间和集合定义,则等价类测试是合适的。当然也适用于如果变量值越界系统(xtng)就会出现故障的系统(xtng)。 通过结合边界值测试,等价类测试可得到加强。 如果程序函数很复杂,函数的复杂性可以帮助标识有用的等价类,就像NextDate函数一样。 强等价类测试假设变量是独立的,相应的测试用例相乘会引起冗余问题。如果存在依赖关系,则常常会生成“错误”测试用例,就像NextDate函数一样。 在发现“合适”的等价关系之前,可能需要进行多次尝试,就像NextDate函数例子一样。在其他情况下,存
26、在“明显”或“自然”等价关系。如果不能肯定,最好对任何合理的实现进行再次预测。 第57页/共110页第五十七页,共111页。作业(zuy)1第58页/共110页第五十八页,共111页。作业(zuy)2 现在要对一个自动饮料售货机软件进行黑盒测试,该软件的规格说明如下: 一个自动售货机软件可以销售单价(dnji)1元5角的盒装饮料。该售货机只接收1元和5角两种硬币,若投入1元5角硬币,按下“可乐”、“雪碧”或“红茶”按钮,则送出相应的饮料;若投入的硬币少于1元5角,则显示错误信息并退出硬币;若投入的硬币多于1元5角,则送出饮料的同时退还多余的硬币。 请给出测试的等价划分类,包括有效等价类和无效等
27、价类,以及基于等价类划分的测试用例第59页/共110页第五十九页,共111页。作业(zuy)3 某一Pascal语言版本规定: 标识符是由字母开头,后跟字母或数字的任意组合构成。有效字符数为8个,最大字符数为80个 标识符必须(bx)先声明,后使用 在同一说明语句中,标识符至少必须(bx)有一个 要求:用等价类划分的方法,列出输入域等价类表,并设计相应的测试用例第60页/共110页第六十页,共111页。作业(zuy)4 Windows文件名可以包含除了/:*?”|之外的任意(rny)字符。假设合法的文件名长度1-255个西文字符,试用等价类划分法设计Windows文件名的测试用例(不考虑一个文
28、件名包含两个或两个以上非法字符的情况)。第61页/共110页第六十一页,共111页。作业(zuy)5第62页/共110页第六十二页,共111页。作业(zuy)6 给出一个输出集合等价类划分的例子。假设一个销售书籍的奖励系统,销售三种软件工程类书籍,每本书的单价不同(b tn),软件测试每本25元;程序设计每本30元;软件工程每本40元。每月销售额不到(含)500元的部分奖励10%,500(不含)到700元(含)元的部分为15%,超过7000元的部分为20%。该系统生成月份销售报告,汇总售出的各类书籍的总数,总销售额以及奖金。第63页/共110页第六十三页,共111页。第64页/共110页第六十
29、四页,共111页。第65页/共110页第六十五页,共111页。第66页/共110页第六十六页,共111页。第67页/共110页第六十七页,共111页。第68页/共110页第六十八页,共111页。3.决策表第69页/共110页第六十九页,共111页。3.1决策表 是分析和表达多逻辑条件下执行(zhxng)不同操作情况的工具 在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行(zhxng)不同的操作。决策表很适合处理这类问题。第70页/共110页第七十页,共111页。例如(lr):“阅读指南”决策表12345678问问题题觉得疲倦?觉得疲倦?YY
30、YYNNNN感兴趣?感兴趣?YYNNYYNN糊涂?糊涂?YNYNYNYN建建议议重读重读继续继续跳下一章跳下一章休息休息规则(guz)选项第71页/共110页第七十一页,共111页。3.2决策表的四个组成(z chn) 条件桩 条件条目(tiom)(条件项) 动作桩 动作条目(tiom)(动作项)第72页/共110页第七十二页,共111页。决策表桩桩规则规则3规则规则4规则规则1规则规则2c1c2TTTFFFFa1XXa2XXa3XX不关心(gunxn)条目第73页/共110页第七十三页,共111页。3.3建立(jinl)判定表的步骤 确定规则的个数(有n个条件就有2n个规则) 列出所有(su
31、yu)条件桩、动作桩 填入条件项 填入动作桩、动作项 化简第74页/共110页第七十四页,共111页。决策表的合并(hbng) 若表中有两条或多条规则具有相同的动作,并且其条件项之间存在着极为( j wi)相似的关系,可设法将其合并。Y YN NY XX XYN-XY Y-NN NX XY-NX第75页/共110页第七十五页,共111页。三角形问题(wnt)的决策表1-8910111213141516C1:a、b、c构成三角形构成三角形?NYYYYYYYYc2:a=b?YYYYNNNNc3:a=c?YYNNYYNNc4:c=b?YNYNYNYNa1:非三角形非三角形a2:不等边三角形不等边三角
32、形a3:等腰三角形等腰三角形a4:等边三角形等边三角形a5:不可能不可能第76页/共110页第七十六页,共111页。测试用例第77页/共110页第七十七页,共111页。NextDateNextDate函数(hnsh)(hnsh)的决策表- -第一次尝试M1 = 月份:每月有30天 M2 = 月份:每月有31天 M3 = 月份:此月是2月 D1 = 日期:1日期28D2 = 日期:日期=29D3 = 日期:日期=30D4 = 日期:日期=31Y1 = 年:年是闰年(rnnin)Y2 = 年:年是平年条件1234c1:月份在M1中?Tc2:月份在M2中?Tc3:日期在M3中?Tc4:日期在D1中?
33、c5:日期在D2中?c6:日期在D3中?c7:日期在D4中?c8:年在Y1中?a1:不可能a2:NextDate第78页/共110页第七十八页,共111页。缺点(qudin) 256条规则(guz) 扩展条目决策表第79页/共110页第七十九页,共111页。扩展条目(tiom)决策表第二次尝试M1 = 月份:每月有30天 M2 = 月份:每月有31天 M3 = 月份:此月是2月 D1 = 日期(rq):1日期(rq)28D2 = 日期(rq):日期(rq)=29D3 = 日期(rq):日期(rq)=30D4 = 日期(rq):日期(rq)=31Y1 = 年:年=2000Y2 = 年:年是闰年Y
34、3 = 年:年是平年123c1:月份在:月份在M1M1M1c2:日期在:日期在D1D2D3c3:年在:年在a1:不可能:不可能a2:日期增:日期增1a3:日期复位:日期复位a4:月份增:月份增1a5:月份复位:月份复位a6:年增:年增1第80页/共110页第八十页,共111页。第二次尝试(chngsh)(chngsh)决策表1234567891011121314151617c1:月份:月份在在M1M1M1M1M2M2M2M2M3M3M3M3M3M3M3M3M3c2:日期:日期在在D1D2D3D4D1D2D3D4D1D1D1D2D2D2D3D3D4c3:年在:年在Y1Y2Y3Y1Y2Y3a1:不
35、可:不可能能a2:日期:日期增增1?a3:日期:日期复位复位?a4:月份:月份增增1?a5:月份:月份复位复位?a6:年增:年增1?第81页/共110页第八十一页,共111页。第三次尝试(chngsh)(chngsh)M1 = 月份:每月有30天 M2 = 月份:每月有31天,12月除外 M3 = 月份:此月是12月 M4 = 月份:此月是2月D1 = 日期(rq):1日期(rq)27D2 = 日期(rq):日期(rq)=28D3 = 日期(rq):日期(rq)=29D4 = 日期(rq):日期(rq)=30D5 = 日期(rq):日期(rq)=31Y1 = 年:年是闰年Y2 = 年:年是平年
36、第82页/共110页第八十二页,共111页。第83页/共110页第八十三页,共111页。第三次尝试(chngsh)决策表C1:月份在:C2:日期在:C3:年在: a1:不可能a2:日期增1a3:日期复位a4:月份增1a5:月份复位a6:年增11M1D12M1D23M1D34M1D45M1D56M2D17M2D28M2D39M2D410M2D511M3D112M3D213M3D314M3D415M3D516M4D117M4D2Y118M4D2Y219M4D3Y120M4D3Y221M4D422M4D5第84页/共110页第八十四页,共111页。第三次尝试(chngsh)决策表精简C1:月份在:C
37、2:日期在:C3:年在: a1:不可能a2:日期增1a3:日期复位a4:月份增1a5:月份复位a6:年增11-3M1D1, D2, D34M1D45M1D56-9M2D1, D2 ,D3,D4,10M2D511-14M3D1 ,D2,D3,D415M3D516M4D117M4D2Y118M4D2Y219M4D3Y120M4D3Y221-22M4D4 ,D5第85页/共110页第八十五页,共111页。NextDate函数(hnsh)的决策表测试用例用例用例ID月份月份日期日期年年预期输出预期输出1-341520014/16/2001443020015/1/200154312001不可能不可能6-
38、911520011/16/20011013120012/1/200111-141215200112/16/200115123120011/1/20021621520012/16/20011722820042/29/20041822820013/1/20011922920043/1/2004202292001不可能不可能21-222302001不可能不可能第86页/共110页第八十六页,共111页。决策表适用范围第87页/共110页第八十七页,共111页。总结(zngji) 因为决策表具有逻辑严格性,所以在所有功能性测试方法中,这种方法是最严格的。 决策表最突出的优点是,能够将复杂的问题按照各种
39、可能的情况全部列举出来,简明( jinmng)并避免遗漏 利用决策表能够设计出完整的测试用例集合 运用决策表设计测试用例可以将条件理解为输入,将动作理解为输出第88页/共110页第八十八页,共111页。作业(zuy)1第89页/共110页第八十九页,共111页。作业(zuy)2第90页/共110页第九十页,共111页。作业(zuy)3第91页/共110页第九十一页,共111页。4.因果(yngu)图Cause Effect Graphing第92页/共110页第九十二页,共111页。4.1因果(yngu)图 因果图法产生的背景: 等价类划分法和边界值分析方法(fngf)都是着重考虑输入条件,但
40、没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。 因果图法能够帮助测试人员按照一定的步骤,高效率的开发测试用例,以检测程序输入条件的各种组合情况,它是将自然语言转化为形式语言规格说明的一种严格方法(fngf),可以指出规格说明存在的不完整性和二义性。第93页/共110页第九十三页,共111页。因果(yngu)(yngu)图法介绍 因果图法是基于这样的一种思想:一些程序的功能可以用判定表(或称决策表)的形式来表示,并根据输入条件的组合情况规定相应(xingyng)的操作。即:因果图法不过是决策
41、表法的前期阶段。我们也可以直接应用决策表。 因果图法的定义:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。第94页/共110页第九十四页,共111页。因果(yngu)图的基本符号ci和ei均可取值0或1,0表示某状态出现,1表示某状态不出现o 因果图中使用4种因果关系符号来表达因果关系:恒等 非或与第95页/共110页第九十五页,共111页。因果图的基本(jbn)符号 因果图中的4种基本关系 在因果图的基本符号中,图中的左结点ci表示输入状态(或称原因),右结点ei表示输出(shch)状态(或称结果)。ci 与 ei 取值0或1,0表示
42、某状态不出现,1则表示某状态出现。 恒等:若 c1 是1,则 e1 也为1,否则 e1 为0。 非:若 c1 是1,则 e1 为0,否则e1为1。 或:若 c1 或 c2 或 c3 是1,则 e1 为1,否则 e1 为0。 与:若 c1 和 c2 都是1,则 e1 为1,否则 e1 为0。第96页/共110页第九十六页,共111页。约束(yush)符号(1) 因果图中用来表示(biosh)约束关系的约束符号:异异E或或I唯一唯一OR要求要求M强制强制第97页/共110页第九十七页,共111页。约束(yush)符号(2) 因果图中的约束(yush) 在实际问题中输入状态相互之间、输出状态相互之间
43、可能存在某些依赖关系,称为“约束(yush)”。对于输入条件之间的约束(yush)有E(Exclusive or)、I(In)、O(Only)、R(Request)四种约束(yush),对于输出条件的约束(yush)只有M(Mandate)约束(yush)。 (1)原因与原因之间的约束(yush) E约束(yush)(异):输入a和b中最多有一个可能为1,即a和b不能同时 为1。 I 约束(yush)(或):输入a、b、c中至少有一个必须为1,即 a、b、c不能同时为0。 O约束(yush)(唯一):输入a和b必须有一个且仅有一个为1。 R约束(yush)(要求):输入a是1时,输入b必须是1,即a为1时,b不能为0。 (2)结果与结果之间的约束(yush) M约束(yush)(强制):若结果a为1,则结果b强制为0。第98页/共110页第九十八页,共111页。4.2因果(yngu)图生成测试用例的步骤 分析程序规格说明中哪些(nxi)是原因,哪些(nxi)是结果。原因常常是输入条件或输入条件的等价类;结果是输出条件。 根据语义连接原因和结果 标明约束条件 因果图转换成判定表 把判定表每一列写成测试用例画因果(yngu)图第99页/共110页第九十九页,共111页。例1 某软件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度电动车电瓶租赁与节能减排服务合同
- 施工现场施工防化学泄漏威胁制度
- 情绪管理在校园心理辅导中的实践
- DB35T 2233-2024桂花无性繁殖技术规程
- 专业垫资抵押合同范本
- 中外合资企业合同
- 个人大额度借款合同细则
- 买卖合同争议仲裁协议书模板
- 人事档案委托保管合同
- 上海市某餐饮管理有限公司劳动合同
- 汽油安全技术说明书(MSDS)
- 政府机关法律服务投标方案
- 中国直销发展四个阶段解析
- 2024届浙江省宁波市镇海区镇海中学高一物理第一学期期末质量检测试题含解析
- 部编版语文四年级下册 教材解读
- 《学会积极归因》教学设计
- 《一次函数与方程、不等式》说课稿
- 动火作业安全管理要求及控制措施
- 诗豪刘禹锡一生部编教材PPT
- 中国营养师培训教材1
- 《民航服务沟通技巧》教案第13课内部沟通基础知识
评论
0/150
提交评论