第05章 黑盒测试_第1页
第05章 黑盒测试_第2页
第05章 黑盒测试_第3页
第05章 黑盒测试_第4页
第05章 黑盒测试_第5页
已阅读5页,还剩211页未读 继续免费阅读

下载本文档

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

文档简介

第五章黑盒测试教学目标:了解黑盒测试的基本概念掌握等价类划分法掌握边界值法掌握因果图法掌握决策表法掌握场景法黑盒测试能发现以下几类错误●功能不对或遗漏。●界面错误。●数据结构或外部数据库访问错误。●性能错误。●初始化和终止错误。

4.1黑盒测试的基本概念黑盒测试对程序的功能性测试要求●每个软件特性必须被一个测试用例或一个被认可的异常所覆盖。●利用数据类型和数据值的最小集测试。●利用一系列真实的数据类型和数据值运行,测试超负荷及其他“最坏情况”的结果。●利用假想的数据类型和数据值运行,测试排斥不规则输入的能力。●测试影响性能的关键模块,如基本算法、精度、时间、容量等是否正常。4.1.1黑盒测试的优缺点优点缺点(1)有针对性地寻找问题,并且定位问题更准确。(2)黑盒测试可以证明产品是否达到用户要求的功能,符合用户的工作要求。(3)能重复执行相同的动作,测试工作中最枯燥的部分可交由机器完成。(1)需要充分了解产品用到的技术,测试人员需要具有较多经验。(2)在测试过程中很多是手工测试操作。(3)测试人员要负责大量文档、报表的编制和整理工作。4.1.2黑盒测试与白盒测试的比较2检查测试的主要内容3静态测试方法4动态测试方法1已知产品的因素● 黑盒测试:已知产品的功能设计规格,可以通过测试证明每种实现的功能是否符合要求。● 白盒测试:已知产品的内部工作结构,可以通过测试证明每种内部操作是否符合设计规格要求,以及所有内部成分是否经过检查。1已知产品的因素黑盒测试检查的内容如下:● 是否有不正确或遗漏的功能?● 在接口上,输入是否能正确地接受?能否输出正确的结果?● 是否有数据结构错误或外部信息访问错误?● 是否有初始化或终止性错误?白盒测试检查的内容如下:● 对程序模块的所有独立的执行路径至少测试一遍。● 对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测试一遍。● 在循环的边界和运行的界限内执行循环体。2检查测试的主要内容● 静态黑盒测试方法:文档测试,特别是产品需求文档、用户手册、帮助文件等的审查。● 静态白盒测试方法:走查、复审、评审程序源代码、数据字典、系统设计文档、环境设置、软件配置项等。3静态测试方法● 动态黑盒测试方法:通过数据输入并运行程序来检验输出结果,如功能测试、验收测试和一些性能测试等。● 动态白盒测试方法:通过驱动程序来调用,如进行单元测试、集成测试和部分性能测试等。4动态测试方法采用黑盒技术设计测试用例的方法等价类划分法边界值分析法因果图法决策表场景设计法正交实验法错误推断法4.2黑盒测试的方法软件测试员常遇到的问题

由于穷举测试的数量太大,以致于无法实际完成,促使我们在大量的可能数据中选取其中的一部分作为测试用例。在不了解等价分配技术的前提下,测试了1+1、1+2、1+3和1+4之后,还有必要测试1+5和1+6吗?能否放心地认为它们正确吗?那么1+999…(可以输入的最大数值)呢?这个测试用例是否与其他用例不同?是否属于另外一种类别?另外一个等价区间?等价类划分法

等价类划分是一种典型的黑盒测试方法,用这一方法设计测试用例可以不用考虑程序的内部结构,只以对程序的要求和说明,即需求规格说明书为依据,仔细分析和推敲说明书的各项需求,特别是功能需求,把说明中对输入的要求和输出的要求区别开来并加以分解。等价类是指某个输入域的子集合。

等价类划分法是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少量具有代表性的数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值,也就是说,如果某一类中的一个例子发现了错误,这一等价类中的其他例子也能出现同样的错误。测试某等价类的代表值就等于对这一类其他值的测试

有效等价类和无效等价类

在考虑等价类划分时,先从程序的功能说明中找出每个输入条件,然后为每个输入条件划分两个或更多个等价类。等价类可分两种情况:有效等价类和无效等价类。有效等价类是指对程序的规格说明是有意义的、合理的输入数据所构成的集合;无效等价类是指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。划分等价类

设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验。这样的测试才能确保软件具有更高的可靠性。确定等价类的原则

1.

如果输入条件规定了一个取值范围(例如,“数值可以是从

1

到999”),那么就应确定出一个有效等价类(1<=数值<=999

)

,以及两个无效等价类(数值<1,数值>999)。

2.

如果输入条件规定了取值的个数(例如,“汽车可登记一至六名车主”),那么就应确定出一个有效等价类和两个无效等价类(没有车主,或车主多于六个)。

3.

如果输入条件规定了一个输入值的集合,而且有理由认为程序会对每个值进行不同处理(例如,“交通工具的类型必须是公共汽车、卡车、出租车、火车或摩托车”),那么就应为每个输入值确定一个有效等价类和一个无效等价类(例如,“拖车”)。

4.

如果存在输入条件规定了“必须是”的情况,例如“标识符的第一个字符必须是字母”,那么就应确定一个有效等价类(首字符是字母)和一个无效等价类(首字符不是字母)。

如果有任何理由可以认为程序并未等同地处理等价类中的元素,那么应该将这个等价类再划分为小一些的等价类。确定测试用例的步骤根据已列出的等价类表,按以下步骤确定测试用例:1.

为每个等价类设置一个不同的编号。2.

编写新的测试用例,尽可能多地覆盖那些尚未被涵盖的有效等价类,直到所有的有效等价类都被测试用例所覆盖(包含进去)。3.

编写新的用例,覆盖一个且仅一个尚未被覆盖的无效等价类,直到所有的无效等价类都被测试用例所覆盖。用单个测试用例覆盖无效等价类,是因为某些特定的输入错误检查可能会屏蔽或取代其他输入错误检查。举例来说,如果规格说明规定了“请输入书籍类型(硬皮、软皮或活页)及数量(l~999

)”,代表两个错误输入(书籍类型错误,数量错误)的测试用例“XYZ

0”,很可能不会执行对数量的检查,因为程序也许会提示“XYZ

是未知的书籍类型”,就不检查输入的其余部分了。例1:保险公司人寿保险保费计算程序的等价类测试。 某保险公司人寿保险的保费计算方法为:保费

=

投保额

×

保险费率其中,保险费率根据年龄、性别、婚姻状况和抚养人数的不同而有所不同,体现在不同年龄、性别、婚姻状况和抚养人数,点数设定不同。10点以上保险费率为0.6%,10点及以下保险费率为0.1%;而点数又是由投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则如表4-5所示。分析程序规格说明中给出的和隐含的对输入数据的要求,可以得出下述规律。①年龄:一位或两位非零整数,取值的有效范围为1~99。②性别:一位英文字符,只能取“M”或“F”值。③婚姻:字符、只能取“已婚”或“未婚”。④抚养人数:空白或字符“无”或1~99之间的一位非零整数。⑤点数:一位或两位非零整数,取值范围为8~19。

通过对规格说明输入数据的取值分析,可以得出保险公司人寿保险计算程序的等价类如表4-6。

根据表中的等价类,假设保险额为1万元,保险公司人寿保险保费计算程序的等价类测试用例如表4-7所示。例2:学籍管理系统中有增加学生信息的功能,该功能的说明如下

一条完整的学生信息包括学生的学号、姓名、语文成绩、数学成绩、英语成绩、物理成绩和化学成绩。 学号是学生信息的关键字,不能重复。每个班级的学号范围和学号的数据要求见数据字典。增加重复学号和非数据字典要求的学号时,系统应给出提示。增加信息时,学号是必须输入的,否则,系统应给出提示。表4-8是数据字典中关于学号的要求。首先,列出所有等价类,如表4-9所示。选择测试用例,覆盖所有的有效等价类,如表4-10所示。选择测试用例,覆盖所有的无效等价类,如表4-11所示。例3:三角形问题

根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例:输入三个整数作为三边的边长构成三角形。当此三角形为一般三角形、等腰三角形、等边三角形时,分别作计算。(设a、b、c代表三角形的三条边)分析题目中给出的和隐含的对输入条件的要求。案例研究:输入

输入三个整数作为三边的边长构成三角形。当此三角形为一般三角形、等腰三角形、等边三角形时,分别作计算。输入条件的要求:

整数3个数非零数正数两边之和大于第三边等腰等边等价类划分法设计用例的步骤

分析给出的和隐含的对输入条件的要求;列出等价类表并编号;列出覆盖上述等价类的测试用例。分析题目中给出和隐含的对输入条件的要求:(1)整数(2)三个数(3)非零数(4)正数(5)两边之和大于第三边(6)等腰(7)等边如果a、b、c满足条件(1)~(4),则输出下列四种情况之一:1)如果不满足条件(5),则程序输出为"非三角形"。2)如果三条边相等即满足条件(7),则程序输出为"等边三角形"。3)如果只有两条边相等、即满足条件(6),则程序输出为"等腰三角形"。4)如果三条边都不相等,则程序输出为"一般三角形"。Ps:11用例是等边三角形列出等价类表并编号覆盖有效等价类的测试用例:abc覆盖等价类编号345(1)--(7)445(1)--(7),(8)455(1)--(7),(9)545(1)--(7),(10)444(1)--(7),(11)覆盖无效等价类的测试用例:

0501

用等价类划分法设计8位长数字类型用户名登录操作的测试用例,应该分成()个等价区间。A.2B.3C.4D.6习题05答案C分别是:过长名称、过短名称、合法长度合法字符、合法长度非法字符答案为C,位数>8,不是数字类型,没有输入,合法的用户名等价类划分的办法是把程序的输入域分成若干部分,然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表数据在测试的作用等价于这一类中的其它值,也就是说,如果某一类中的一个例子发现了错误,这一等价类中的其它例子也能发现同样才错误;反之,如果某一类中的一个例子没有发现错误,则这一类中的其它例子也不会查出错误(除非等价类中的某些例子属于另一等价类,因为几个等价类可能是相交的)答案B1个有效等价类16-402个无效类小于16大于400504

某工厂招工,规定报名者年龄应在20周岁——39周岁之间,即出生年月不得早于1960年7月,不晚于1979年6月。报名程序具有自动检验输入数据的功能,如果出生年月不属于上诉范围将拒绝接受,并显示“年龄不合格”等出错信息。0505

新浪邮箱名,其输入要求如下:1.

4~16个字符2.

支持英文小写、数字、下划线3.

不支持全部为数字或下划线

输入条件有效等价类无效等价类用户名字符数4~16(1)0(2)、0<个数<4(3)、>16(4)用户名组成英文小写(5)、数字(6)、下划线(7)非英文小写、数字、下划线(8)用户名支持格式不全为数字(9)、不全为下划线(10)全为数字(11)、全为下划线(12)邮箱名有效输入集合:(1)(5)(6)(7)(9)(10)

32jing_qfda无效集合:(2)

邮箱名为空(3)

jby(4)

jiangboyang_1987_12_22(8)

江渤洋(11)

1234567890(12)

__________

最终测试用例:序号输入及操作说明期望的测试结果132jing_qfda符合要求2邮件名为空用户名字符数不符合要求3jby4jiangboyang_1987_12_225江渤洋用户名组成不符合要求6@#%……7FDAY81234567890用户名支持格式不符合要求9__________

0506

用等价类划分法设计下面的测试用例:有一个报表系统,要求用户输入要处理的报表的日期,假设日期的范围为2003年1月到2008年12月。如果用户输入的日期不在这个范围内,则显示错误码信息,并且此系统规定日期由年月六位数字组成,前4为代表年,后两位代表月。

1)请列出等价类表(包括有效和无效的等价类)

2)根据1)中的等价类表,设计能覆盖所有等价类的测试用例。要求包括输入数据和预期输出,并指出各个测试用例所能付给的等价类编号(2)年在2000-2020之间0507

NextDate函数包含三个变量:month、day和year,函数的输出为输入日期后一天的日期。例如,输入为2006年3月7日,则函数的输出为2006年3月8日。要求输入变量month、day和year均为整数值,并且满足下列条件:

①1≤month≤12

②1≤day≤31

③1920≤year≤2050

1)有效等价类为:

M1={月份:1≤月份≤12}

D1={日期:1≤日期≤31}

Y1={年:1920≤年≤2050}

2)若条件①~③中任何一个条件失效,则NextDate函数都会产生一个输出,指明相应的变量超出取值范围,比如"month的值不在1-12范围当中"。显然还存在着大量的year、month、day的无效组合,NextDate函数将这些组合作统一的输出:"无效输入日期"。其无效等价类为:

M2={月份:月份<1}

M3={月份:月份>12}

D2={日期:日期<1}

D3={日期:日期>31}

Y2={年:年<1920}

Y3={年:年>2050}

弱一般等价类测试用例

月份

日期

预期输出

9

22

2013

2013年9月22日

强一般等价类测试用例同弱一般等价类测试用例

注:弱--有单缺陷假设;健壮--考虑了无效值

(一)弱健壮等价类测试

用例ID

月份

日期

预期输出

WR1

9

22

2013

2013年9月22日

WR2

-1

15

2013

月份不在1~12中

WR3

13

15

2013

月份不在1~12中

WR4

6

-1

2013

日期不在1~31中

WR5

6

32

2013

日期不在1~31中

WR6

6

15

1919

年份不在1920~2050中

WR7

6

15

2051

年份不在1920~2050中

(二)强健壮等价类测试

用例ID

月份

日期

预期输出

SR1

0

15

2013

月份不在1~12中

SR2

6

0

2013

日期不在1~31中

SR3

6

15

2013

年份不在1812~2012中

SR4

-1

-1

2013

两个无效一个有效

SR5

6

-1

2013

两个无效一个有效

SR6

-1

15

2013

两个无效一个有效

SR7

-1

-1

1911

三个无效

0508找零钱问题如下:假设商店货品价格(R)皆不大於100元(且为整数),若顾客付款在100元内(P),求找给顾客之最少货币个(张)数?(货币面值50元(N50),10元(N10),5元(N5),1元(N1)四种)采用等价类划分法设计测试用例,找出找零钱问题的最佳组合。等于100,输入条件有效等价类无效等价类R价格0~5;6~10;3.11~50;4.51~100;小于0;大于100;P付款1.0~5;2.6~10;11~50;51~100小于0;大于100;选择强一般等价类设计有例个数m1*m2*…*mn

个=3*3=9个。方案内容用例输入预期输出价格R付款PRP找零钱张数10~10

0~10;78、91、2张一元211~50;812不可能351~100960不可能411~50

0~10;325不够511~50;35462张五元1张一元651~100751~100

0~10;811~50;9

51~1000509某程序规格说明有如下描述:某城市电话号码由三部分组成。它们的名称和内容分别是:地区码:空白或3位数字;前缀:非‘0’、‘1’开头的3位数字;后缀:4位数字。假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。根据该程序的规格说明,作等价类的划分,并设计测试方案。输入条件有效等价类无效等价类地区码1.空白;2.三位数;

有非数字字符;少于三位数字;3.多于三位数字。前缀3.从200到999之间的三位4.有非数字字符;5.起始位为‘0’;6.起始位为‘1’;

7.少于三位数字;8.多于三位数字。后缀4.四位数字。9.有非数字字符;10.少于四位数字;11.多于四位数字。选择弱健壮等价类设计有例个数max(mi)+(l1+

l2+…+ln)个=2+11个。方案内容输入预期输出地区码前缀后缀1空白200~999之间的三位数字四位数字()276-2345有效2三位数字四位数字(635)805-9321有效3有非数字字符

(20A)723-4567无效4少于三位数字

(33)234-5678无效5多于三位数字

(5555)345-6789无效6

有非数字字符

(345)5A2-3456无效7

起始位为‘0’

(345)012-3456无效8

起始位为‘1’

(345)132-3456无效9

少于三位数字

(345)92-3456无效10

多于三位数字

(345)4562-3456无效11

有非数字字符(345)342-3A56无效12

少于四位数字(345)342-356无效13

多于四位数字(345)562-34567无效

在软件设计和程序编写中,常常对于规格说明中的输入域边界或输出域边界不够注意,以致大量的错误发生在输入或输出范围的边界上,而不是在输入范围的内部。边界值分析是一种补充等价划分的测试用例设计技术,它不是选择等价类的任意元素,而是选择等价类边界的测试用例。实践证明为检验边界附近的处理专门设计测试用例,常常取得良好的测试效果。边界值分析法

使用边界值分析方法设计测试用例,首先:应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。其次,应当选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。单缺陷假设和多缺陷假设:单缺陷假设:是指“失效极少是由两个或两个以上的缺陷同时发生引起的”。要求测试用例只使一个变量取极值,其他变量均取正常值;多缺陷假设:是指“失效是由两个或两个以上缺陷同时作用引起的”,要求测试用例时同时让多个变量取极值。边界值测试分类

单缺陷假设多缺陷假设有效值一般边界值一般最坏情况边界值无效值健壮性边界值健壮最坏情况边界值

一般边界值仅考虑有效区间单个变量边界值(一般边界值):用最小值、略高于最小值、正常值、略低于最大值和最大值。如果被测变量个数为n,则测试用例个数为4n+1例如:函数y=f(x1,x2)输入变量的取值范围分别为:

x1∈[a,b],x2∈[c,d]例1:有函数f(x,y,z),其中x∈[1900,2100],y∈[1,12],z∈[1,31]的。请写出该函数采用基本边界值分析法设计的测试用例?解:对于包含3个变量的程序,采用一般边界值分析法,至少要产生4*3+1=13个用例。<2000,6,1>,<2000,6,2>,<2000,6,30>,<2000,6,31>,<2000,1,15>,<2000,2,15>,<2000,11,15>,<2000,12,15>,<1900,6,15>,<1901,6,15>,<2099,6,15>,<2100,6,15>,<2000,6,15>一般最坏情况边界值仅考虑有效区间多个变量边界值同时作用(一般最坏情况边界值):用各个变量最小值、略高于最小值、正常值、略低于最大值和最大值的笛卡尔积。如果被测变量个数为n,则测试用例个数为5n。笛卡尔(Descartes)乘积又叫直积。假设集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1),(b,2)}。可以扩展到多个集合的情况。案例给出三个域:D1=SUPERVISOR={张清玫,刘逸}D2=SPECIALITY={计算机专业,信息专业}D3=POSTGRADUATE={李勇,刘晨,王敏}则D1,D2,D3的笛卡尔积为D:D=D1×D2×D3={(张清玫,计算机专业,李勇),(张清玫,计算机专业,刘晨),(张清玫,计算机专业,王敏),(张清玫,信息专业,李勇),(张清玫,信息专业,刘晨),(张清玫,信息专业,王敏),(刘逸,计算机专业,李勇),(刘逸,计算机专业,刘晨),(刘逸,计算机专业,王敏),(刘逸,信息专业,李勇),(刘逸,信息专业,刘晨),(刘逸,信息专业,王敏)

}函数y=f(x1,x2)输入变量的取值范围分别为:

x1∈[a,b],x2∈[c,d]。

健壮边界值同时考虑有效区间和无效区间单个变量边界值(健壮边界值):除了最小值、略高于最小值、正常值、略低于最大值、最大值,还要有略超过最大值和略小于最小值的值。如果被测变量个数为n,则测试用例个数为6n+1函数y=f(x1,x2)输入变量的取值范围分别为:

x1∈[a,b],x2∈[c,d]健壮最坏情况边界值同时考虑有效区间和无效区间多个变量边界值同时作用(健壮最坏情况边界值):用各个变量最小值、略高于最小值、正常值、略低于最大值、最大值、略超过最大值和略小于最小值的笛卡尔积。如果被测变量个数为n,则测试用例个数为7n

。函数y=f(x1,x2)输入变量的取值范围分别为:

x1∈[a,b],x2∈[c,d]例2:新浪博客图片上传,要求如下:上传文件大小不超过5M序号输入及操作说明期望的测试结果15M符合要求25.1M不符合要求33M符合要求40.1M54.9M以健壮边界值的标准可选取5M(正好等于)、5.1M(刚刚大于)、3M(正常值)0.1M(略高于最小值)4.9M(略小于最大值)最为边界值来测试。

边界值法设计测试用例的原则(1)如果输入条件对取值范围进行了限定,则应以边界内部以及刚超出范围边界外的值作为测试用例。(2)如果对取值的个数进行了界定,则应分别以最大、稍小于最大、稍大于最大、最小、稍小于最小、稍大于最小个数作为测试用例。(3)对于输出条件,同样可以应用上面提到的两条原则来进行测试用例设计。(4)如果程序规格说明书中指明输入或者输出域是一个有序的集合,如顺序文件、表格等,则应注意选取有序集合中的第一个和最后一个元素作为测试用例。其他一些边界条件

另一种看起来很明显的软件缺陷来源是当软件要求输入时(比如在文本框中),不是没有输入正确的信息,而是根本没有输入任何内容,单单按了Enter键。这种情况在产品说明书中常常忽视,程序员也可能经常遗忘,但是在实际使用中却时有发生。程序员总会习惯性的认为用户要么输入信息,不管是看起来合法的或非法的信息,要不就会选择Cancel键放弃输入,如果没有对空值进行好的处理的话,恐怕程序员自己都不知道程序会引向何方。

正确的软件通常应该将输入内容默认为合法边界内的最小值或者合法区间内某个合理值,否则返回错误提示信息。因为这些值通常在软件中进行特殊处理,所以不要把它们与合法情况和非法情况混在一起,而要建立单独的等价区间。边界值附近的数据确定的几种方法:项边界值测试用例的设计思路字符起始-1个字符/结束+1个字符假设一个文本输入区域允许输入1~255个字符,输入1个和255个字符作为有效等价类;输入0个和256个字符为无效等价类,这几个数值都属于边界条件值数值开始位-1/结束位+1数据的输入域为1~999,其最小值为1,最大值为999,则0、1000为边界值空间小于空余空间一点/大于满空间一点测试数据存储时,使用比最小剩余空间大一点(几千字节)的文件作为最大值检验的边界条件方向刚刚超过/刚刚低于

报表第一行和最后一行

数组第一个和最后一个下标元素

数据类型16位整型数据,32767和-32768

循环结构第2次和倒数第2次循环

数值的边界值检验:项范围或值位(b)0

或1字节(B)0~255字(Word)0~65535(单字)或0~4294967295(双字)千(KB)1024兆(MB)1048576吉(GB)1073741824万亿(TB)1099511627776字符的边界值检验:字符ASCII码值字符ASCII码值空(NULL)0A65空格(SPACE)32B66斜杠(/)47Y89冒号(:)58Z90分号(;)59左中括号[91<

60反斜杠(\)92=61右中括号]93>

62单引号(‘)96?63a97@64b98048y121957z122

测试用例abc预期输出Test1Test2Test3Test4Test560606050506060605050126099100等腰三角形等腰三角形等边三角形等腰三角形非三角形Test6Test7Test8Test960605050129910060605050等腰三角形等腰三角形等腰三角形非三角形Test10Test11Test12Test1312991006060505060605050等腰三角形等腰三角形等腰三角形非三角形在等价类划分基础上进行边界值分析测试,着重测试的是等价类的边界,在表加法器等价类基础上,进行边界值测试,每次使一个变量取边界值,其他变量取正常值,可设计出如表4-14所示的边界测试用例。测试用例输入数据预期输出加数1加数2和Test115051Test225052Test39950149Test410050150Test550151Test650252Test75099149Test850100150Test9050提示“请输入1~100间的整数”Test10500提示“请输入1~100间的整数”Test1110150提示“请输入1~100间的整数”Test1250101提示“请输入1~100间的整数”Test130.250提示“请输入1~100间的整数”测试用例输入数据预期输出加数1加数2和Test14500.2提示“请输入1~100间的整数”Test15A50提示“请输入1~100间的整数”Test1650A提示“请输入1~100间的整数”Test17@50提示“请输入1~100间的整数”Test1850@提示“请输入1~100间的整数”Test19空格50提示“请输入1~100间的整数”Test2050空格提示“请输入1~100间的整数”Test2150提示“请输入1~100间的整数”Test2250提示“请输入1~100间的整数”答案B答案B应当包含a和b以及略大于a和略小于b的值如果输入条件规定值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据答案为B答案B0513下面为C语言程序,边界值问题可以定位在()intdata[3];inti;for(i=1;i<=3;i++)data[i]=100;A.data[0]B.data[1]C.data[2]D.data[3]答案为A创建了一个3个元素的数组,程序从1-3循环将数组元素的值初始化为100,但是由于数组的第一个元素是data(0)0514

测试计算正数平方根的函数。其输入、输出均为一个实数,当输入一个0或比0大的数的时候,返回其正平方根;当输入一个小于0的数时,显示错误信息“平方根非法,输入值小于0”。

1)边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例。

例:测试计算平方根的函数

--输入:实数

--输出:实数

--规格说明:当输入一个0或比0大的数的时候,返回其正平方根;当输入一个小于0的数时,显示错误信息"平方根非法-输入值小于0"并返回0;库函数Print-Line可以用来输出错误信息。2)等价类划分:

I.可以考虑作出如下划分:

a、输入

(i)<0

(ii)>=0

b、输出

(a)>=0

(b)Error

II.测试用例有两个:

a、输入4,输出2。对应于

(ii)

(a)

b、输入-10,输出0和错误提示。对应于

(i)

(b)

3)边界值分析:

划分(ii)的边界为0和最大正实数;划分(i)的边界为最小负实数和0。由此得到以下测试用例:

a、输入

{最小负实数}

b、输入

{绝对值很小的负数}

c、输入

0

d、输入

{绝对值很小的正数}

e、输入

{最大正实数}0515

万年历查询软件,要求用户输入以年月日表示的日期,然后系统会换算出该日期的农历表示法及相关黄历信息。假设日期限定在1900年1月1日~2049年12月31日,并规定日期由8位数字字符组成,前4位表示年,中间2位表示月,最后2位表示日期。其中4、6、9、11月只有30天,平年的2月份只有28天,闰年的2月份有29天。

备注:为简化处理,本题在进行用例设计时,不必

考虑对平年、闰年的判断。输入等价类有效等价类无效等价类日期的类型及长度(1)8位数字字符(9)有非数字字符(10)少于8位数字字符(11)多于8位数字字符年份范围(2)在1900~2049之间(12)小于1900(13)大于2049月份范围(3)在01~12之间(14)等于00(15)大于12日期下限(4)日期>=01(16)等于00平年2月份有28天(5)平年2月份日期<=28(17)平年2月份日期>28闰年2月份有29天(6)闰年2月份日期<=29(18)闰年2月份日期>291、3、5、7、8、10、12月份有31天(7)大月日期<=31(19)大月日期>314、6、9、11月份只有30天(8)小月日期<=30(20)小月日期>301)划分等价类并编号,下表等价类划分的结果二、结合边界值方法进行用例设计。首先还是利用等价类的方法进行用例设计,然后看看哪些边界值已经被覆盖到了,最后再针对没有被覆盖的边界值补充测试用例。输入等价类有效等价类无效等价类日期的类型及长度(1)8位数字字符(9)有非数字字符(10)少于8位数字字符(11)多于8位数字字符边界值:(30)7位(31)9位年份范围(2)在1900~2049之间边界值:(21)1900(22)2049(12)小于1900(13)大于2049边界值:(32)1899(33)2050月份范围(3)在01~12之间边界值:(23)01(24)12(14)等于00(15)大于12边界值:(34)00(35)13日期下限(4)日期>=01边界值:(25)01(16)等于00边界值:(36)00平年2月份有28天(5)平年2月份日期<=28边界值:(26)28(17)平年2月份日期>28边界值:(37)29闰年2月份有29天(6)闰年2月份日期<=29边界值:(27)29(18)闰年2月份日期>29边界值:(38)301、3、5、7、8、10、12月份有31天(7)大月日期<=31边界值:(28)31(19)大月日期>31边界值:(39)324、6、9、11月份只有30天(8)小月日期<=30边界值:(29)30(20)小月日期>30边界值:(40)31测试用例测试数据覆盖的有效等价类覆盖边界值1190001011、2、3、421、23、252204912311、2、3、4、722、24、283200102281、2、3、4、5264200002291、2、3、4、6275199504301、2、3、4、829设计测试用例覆盖等价类和边界值再补充1月31日、11月30日的测试用例,因为1月是大月的第一个月,11月是小月的最后一个月,也可以算是边界值。测试用例测试数据覆盖的有效等价类覆盖边界值6199801311、2、3、4、723、287200511301、2、3、4、829设计测试用例覆盖无效等价类:测试用例测试数据覆盖的无效等价类覆盖的边界值19533June922003061103032001123011131418991031123252050020113336200800011434720041301153581996010016369200702291737102008023018381119980132193912199004312040因果图法产生的背景:等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。因果图法因果图法是基于这样的一种思想:一些程序的功能可以用判定表(或称决策表)的形式来表示,并根据输入条件的组合情况规定相应的操作。因果图法的定义:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。使用因果图法的优点:(1)考虑到了输入情况的各种组合以及各个输入情况之间的相互制约关系。(2)能够帮助测试人员按照一定的步骤,高效率的开发测试用例。(3)因果图法是将自然语言规格说明转化成形式语言规格说明的一种严格的方法,可以指出规格说明存在的不完整性和二义性。因果图中用来表示4种因果关系的基本符号:因果图中的4种基本关系在因果图的基本符号中,图中的左结点ci表示输入状态(或称原因),右结点ei表示输出状态(或称结果)。ci与ei取值0或1,0表示某状态不出现,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。因果图中的约束在实际问题中输入状态相互之间、输出状态相互之间可能存在某些依赖关系,称为“约束”。对于输入条件的约束有E、I、O、R四种约束,对于输出条件的约束只有M约束。E约束(异):a和b中最多有一个可能为1,即a和b不能同时为1。I约束(或):a、b、c中至少有一个必须为1,即a、b、c不能同时为0。O约束(唯一):a和b必须有一个且仅有一个为1。R约束(要求):a是1时,b必须是1,即a为1时,b不能为0。M约束(强制):若结果a为1,则结果b强制为0。因果图中用来表示约束关系的约束符号:采用因果图法设计测试用例的步骤:

分析程序规格说明的描述中,哪些是原因,哪些是结果,并给每个原因和结果赋予一个标识符。原因常常是输入条件或是输入条件的等价类。而结果是输出条件。分析软件规格说明描述的语义。找出原因和结果之间、原因和原因之间的关系,根据这些关系,画出因果图。由于语法或环境的限制,有些原因和结果的组合情况是不可能出现的。为表明这些特定的情况,在因果图上使用若干个特殊的符号标明约束或限制条件。把因果图转换为判定表。把判定表的每一列拿出来作为依据,设计测试用例。例1:规格说明书程序的规格说明要求:输入的第一个字符必须是#或*,第二个字符必须是一个数字,此情况下进行文件的修改;如果第一个字符不是#或*,则给出信息N,如果第二个字符不是数字,则给出信息M。(1)分析程序规格说明中的原因和结果:原因结果c1:第一个字符是#e1:修改文件c2:第一个字符是*e2:给出信息Nc3:第二个字符是一个数字e3:给出信息M(2)画出因果图(编号为11的中间结点是导出结果的进一步原因):(3)将因果图转换成如下所示的决策表:12345678条件:C1C2C311111110101110010111010100100000动作:e1e2e3不可能√√√√√√√√√测试用例#3#A*6*BA1GT规则选项(4)根据决策表中的每一列设计测试用例:测试用例编号输入数据预期输出1#3修改文件2#A给出信息M3*6修改文件4*B给出信息M5A1给出信息N6GT给出信息N和信息M决策表在所有的黑盒测试方法中,基于决策表(也称判定表)的测试是最为严格、最具有逻辑性的测试方法。决策表的概念:决策表是分析和表达多逻辑条件下执行不同操作的情况的工具。决策表的优点:能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用决策表能够设计出完整的测试用例集合。在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。决策表很适合于处理这类问题。决策表的组成决策表通常由以下4部分组成:条件桩—列出问题的所有条件条件项—针对条件桩给出的条件列出所有可能的取值动作桩—列出问题规定的可能采取的操作动作项—指出在条件项的各组取值情况下应采取的动作

条件桩动作桩条件项动作项规则将任何一个条件组合的特定取值及相应要执行的动作称为一条规则。在决策表中贯穿条件项和动作项的一列就是一条规则。

123,4567,8c1c2c3TTTTTFTF-FTTFTFFF-a1a2a3a4√√√√√√√√√条件桩动作项动作桩条件项决策表的生成构造决策表的5个步骤:(1)

确定规则的个数。有n个条件的决策表有2n个规则(每个条件取真、假值)。(2)

列出所有的条件桩和动作桩。(3)

填入条件项。(4)

填入动作项,得到初始决策表。(5)

简化决策表,合并相似规则。例2:“阅读指南”决策表12345678问题觉得疲倦?YYYYNNNN感兴趣吗?YYNNYYNN糊涂吗?YNYNYNYN建议重读√继续√跳下一章√√休息√√√√决策表的化简有n个条件的决策表,对应的规则将有2n条,当n非常大的时候,这是非常繁琐的。因此,应对决策表进行化简。决策表的化简包括两个方面:(1)合并如果一个条件项(表中某列中的条件值)和另外一个条件项所产生的动作是相同的,且两个条件项对应的每一行的值只有一个是不同的,则可以将其合并。合并的项除了不同值变成”不关心”条目外,其余不变。(2)包含如果两个条件项的动作是相同的,对任意条件1的值和条件2中对应的

值,如果满足:A.如果条件1的值是T(F),则条件2中的值也是T(F).B.如果条件1的值是-(不关心),则条件2中的值是T,F,-,称条件1包含条件2,条件2可以撤去.重复A,B就可以得到精简的决策表.NYNNYY√√-NY√NNN-YY√√N-Y√将“阅读指南”决策表简化

规则选项1~4567~8问题觉得疲倦吗YNNN感兴趣吗-YYN糊涂吗-YN-建议重读√继续√跳下一章√休息√例3:三角形问题的决策表规则选项规则1-8规则9规则10规则11规则12规则13规则14规则15规则16条件:c1:a,b,c构成三角形?c2:a=b?c3:a=c?c4:b=c?

N---

YYYY

YYYN

YYNY

YYNN

YNYY

YNYN

YNNY

YNNN动作:a1:非三角形a2:一般三角形a3:等腰三角形a4:等边三角形a5:不可能

√√√√√√决策表的优点:能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用决策表能够设计出完整的测试用例集合。决策表的缺点:不能表达重复执行的动作,例如循环结构。决策表法是黑盒测试方法中最为严格、最具有逻辑性的测试方法。答案为C

0517

打印机是否能打印出来正确的内容,有多个因素影响,包括驱动程序、纸张、墨粉等。(为了简化问题,不考虑中途断电、卡纸等因素的影响)。①确定规则的个数:这里有3个条件,每个条件有两个取值,故应有2*2*2=8种规则。②列出所有的条件茬和动作桩:③填入条件项。可从最后1行条件项开始,逐行向上填满。④填入动作桩和动作顶。这样便得到形如图的初始判定表。条件桩:(1)

驱动程序是否正确?(2)

是否有纸张?(3)

是否有墨粉?动作桩:(动作桩有两种:打印内容和不同的错误提示,并且假定:优先警告缺纸,然后警告没有墨粉,最有警告驱动程序不对。)(1)

打印内容(2)

提示驱动程序不对(3)

提示没有纸张(4)

提示没有墨粉序号12345678条件驱动程序是否正确?10110010是否有纸张?11010100是否有墨粉?11101000动作打印内容10000000提示驱动程序不对01000000提示没有纸张00101011提示没有墨粉00010100初始化的判定表注:输入条件项,即上述每个条件的值分别取“是(Y)”和“否(N)”,可以简化表示为1和0。序号124/63/5/7/8条件驱动程序是否正确?101—是否有纸张?1110是否有墨粉?110—动作打印内容1000提示驱动程序不对0100提示没有纸张0001提示没有墨粉0010优化的判定表注:如果动作结果一样,对于某些因素取“1”或“0”没有影响,即以“—”表示,并合并。优化的判定表就可以设计测试用例,每一列代表一条测试用例。

0518

对功率大于50马力的机器且维修记录不全或已运行10年以上的机器,应给予优先的维修处理,利用判定表进行分析,完成用例设计。条件:1)功率是否大于50马力2)维修记录是否齐全3)运行是否超过10年动作:1)进行优先处理

12345678条件功率大于50马力吗?11110000维修记录不全吗?11001100运行超过10年吗?10101010动作进行优先处理11101010判定表如下:

1234条件功率大于50马力吗?-1-0维修记录不全吗?-101运行超过10年吗?1000动作进行优先处理1100有两种合并方法:1)合并1357项、48项2)合并1357项、68项

1234条件功率大于50马力吗?-110维修记录不全吗?-10-运行超过10年吗?1000动作进行优先处理1100但这样合并之后我们看看后三条规则,写出的用例逻辑性会变差,让看的人感觉莫名其妙,比如第二张表的第4条规则,写出用例标题应该是“验证功率不到50马力且运行不超过10年的机器的处理优先级”,这样会给人感觉功率和运行年限之间存在一定的逻辑关系,但其实功率与马力之间才是强逻辑关系,功率与运行年限之间的逻辑关系是比较弱的。所以建议还是不合并为好,不要为了节省几个用例去牺牲整个用例的逻辑性。只把1357列合并就可以了,也就是说对于运行超过10年的机器,不管它的马力和维修记录如何都必须进行优先处理。

12345条件功率大于50马力吗?-1100维修记录不全吗?-1010运行超过10年吗?10000动作进行优先处理110000519

有一个处理单价为5角钱的饮料的自动售货机,相应规格说明如下。①若投入5角钱或1元钱的硬币,按下【橙汁】或【啤酒】的按钮,则相应的饮料就送出来。(每次只投入一个硬币,只按下一种饮料的按钮。)②如投入5角的硬币,按下按钮后,总有饮料送出。③若售货机没有零钱找,则【零钱找完】的红灯会亮,这时再投入1元硬币并按下按钮后,饮料不送出来而且1元硬币也退出来。④若有零钱找,则【零钱找完】的红灯不会亮,若投入1元硬币及按饮料按钮,则送出饮料的同时找回5角硬币。分析根据该命题,我们可以分析出,自动售货机的业务中一共存在5个条件和5个结果,分别是:条件:1.售货机有零钱找2.投入1元硬币3.投入5角硬币

4.押下橙汁按钮5.押下啤酒按钮

结果:

1.售货机〖零钱找完〗灯亮

当售货机中没有零钱的时候就有亮红灯2.退还1元硬币

当投入1元,而且售货机中没有零钱可找的时候3.退还5角硬币

当投入1元,而且售货机中有零钱可找的时候4.送出橙汁饮料5.送出啤酒饮料因果图-画条件和结果因果图-画简单关系在画完空白的条件和结果之后,我们可以将题目中最直接和简单的因果条件标出1、条件“有零钱”和结果“红灯亮”是一个“非”的关系,当“有零钱”的时候,红灯是不亮的,而当售货机中“没有零钱”的时候,红灯必须要亮的。2、条件“投1元”和条件“投5角”是一个“E”的关系,这两个动作不可能同时发生,即同时投入1元钱和5角钱(不能同时为真);但是我们允许即“不投入1元钱”也“不投入5角钱”(可以同时为假)。3、条件“选啤酒”和条件“选橙汁”是一个“E”的关系,这两个动作不可能同时发生,即同时“选择啤酒”和“选择橙汁”(不能同时为真);但是我们允许即“不选择啤酒”也“不选择橙汁”(可以同时为假)。4、条件“选啤酒”和条件“选橙汁”对于程序处理过程是等价的,即二者无论是价格还是系统的处理方法都是相同的,因此这两个条件可以合并为一个中间节点。而且这两个条件之间使用“或”的关系。5、注意,条件“投1元”和条件“投5角”不是等价关系,表面上看,他们都是“钱”,好像差不多,但是对于程序的处理过程确实完全不同的,“投5角”后完全不用判断当前售货机中是否有零钱(因为题目中规定所有的商品都是5角钱),而“投1元”就不行了。因果图-送出商品现在我们从结果的角度考虑,要想“出啤酒”或者“出橙汁”,从现实买卖中分析必须要有什么先决条件呢?是的,就是“你的钱要付清”,而且你一定要选择了“啤酒”或者“橙汁”才行。而在上面的已有因果图中,我们无法找到“钱付清”的因素,因此这时候我们可以试着再加一个中间节点,就叫“钱付清”吧。要想获得选中的商品,则条件“钱付清”和条件“选啤酒/选橙汁”必须要同时成立,因此是“与”的关系。因果图-能够找零钱上面已经确定了“投入1元钱”并且“选商品”,系统应该找给客户5角钱,那么接下来就要看当前售货机中是否有零钱可找了,庆幸的是,存在“有零钱”的条件;现在系统“应该找零钱”给客户,而且恰恰又“有零钱”找给客户,那么就可以确定系统“能够找零钱”给客户了,所以这里我们又可以增加一个中间节点“能够找零钱”。条件“有零钱”和条件(中间节点)“应该找零钱”与结果“能够找零钱”之间是“与”的关系。因果图-1元钱付清现在已经确定客户“投入1元钱”并且“选商品”后,系统“有零钱”可找,那么紧接着就可以找钱给客户了。条件“能够找零钱”和结果“找5角”是“恒等”的关系;条件“能够找零钱”和结果(中间节点)“钱付清”也是“恒等”的关系;因果图-5角钱付清考虑完投入1元钱后系统的处理情况,我们再来看投入5角钱后系统是如何处理的。因为售货机中的全部商品都是5角钱的,因此就不存在找零的问题了,只要客户“投入5角”并且按下相应的商品选择按钮就好了。所以,条件“投5角”和结果(中间节点)“钱付清”直接是“恒等”的关系。另外,条件“投5角”和条件(中间节点)“能够找零钱”都代表金额的计算已经结束,即“钱付清”,因此条件“投5角”和条件(中间节点)“能够找零钱”与结果(中间节点)“钱付清”之间是“或”的关系。因果图-退还1元我们考虑完了投入5角钱及投入1元钱并找零后,最后在考虑一下退还1元钱的情况。毫无疑问,当投入1元钱,并且选择了某种商品的时候,如果当前售货机中没有零钱可找,那么只能退还用户这1元钱了。因此,条件“没零钱”和条件“应该找零钱”与结果“找1元”之间应该是“与”的关系,而且我们的条件中关于零钱是用了肯定的描述,即“有零钱”,要想表示没有零钱,直接使用一个“非”关就可以了。判定表去除无效用例合并判定表0520黑盒测试是通过软件的外部表现来发现软件缺陷和错误的测试方法,具体地说,黑盒测试用例设计技术包括___(42)___等。现有一个处理单价为1元的盒装饮料的自动售货机软件,若投入1元币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来,若投入的是2元币,在送出饮料的同时退还1元币。下表是用因果图法设计的部分测试用例,1表示执行该动作,0表示不执行该动作,___(43)___的各位数据,从左到右分别填入空格表中的(1)—(8)是正确的。42答案为A黑盒测试用例设计的方法包括等价类划分法、边界值分析法、因果图法、错误推测法、判定表驱动法、功能图法、正交实验法、场景法等。基本路径法、符号法以及静态质量度量是白盒测试用例设计的方法43答案为A当有投币和按钮时,就会有相应的饮料送出,若投币为2元时,除了相应的饮料送出,还会退还1元硬币;只有按钮或只有投币时,就不会有输出结果应用的输出结果依赖于各种输入条件的组合或各种输入条件之间有各种相互制约关系问题一问题二输入条件输出结果ABDEGICFH问题三1)11、12、13分别填入结果A、B、G,不计顺序2)14中填写E3)15、22分别填写I,C;16、23分别填写D、F4)或者15、22分别写D,F;16、23分别写I,C5)21填写H1、分析程序规格说明中的描述,哪些是原因,哪些是结果。原因常常是输入条件或是输入条件的等价类,而结果是输出条件2、分析程序规格说明的描述中语义的内容,并将其表示成连接各个原因与各个结果的“因果图”。3、标明约束条件。由于语法或环境的限制,有些原因和结果的组合情况是不可能出现的。为表明这些特定的情况,在因果图上使用若干个标准的符号标明约束条件。4、把因果图转换成判定表,为判定表每一列表示的情况设计测试用例问题一问题三问题二场景法我们申请一个项目,需先提交审批单据,再由部门经理审批,审核通过后由总经理来最终审批,如果部门经理审核不通过,就直接退回。每个事件触发时的情景便形成了场景。现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。场景法一般包含基本流和备选流,从一个流程开始,通过描述经过的路径来确定过程,经过遍历所有的基本流和备选流来完成整个场景。基本流和备用流基本流:采用直黑线表示,是经过用例的最简单的路径(无任何差错,程序从开始直接执行到结束)备选流:用不同的彩色表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流1和备选流3);也可能起源于另一个备选流(如备选流2),或者终止用例而不再重新加入到某个流(如备选流2和备选流4)。按照上图中每个经过用例的路径,可以确定以下不同的用例场景:场景1基本流场景2基本流备选流1场景3基本流备选流1备选流2场景4基本流备选流3场景5基本流备选流3备选流1场景6基本流备选流3备选流1备选流2场景7基本流备选流4场景8基本流备选流3备选流4注:为方便起见,场景5、6和8只考虑了备选流3循环执行一次的情况。备选流的起始和终止节点的几种形式

①起始节点从基本流的某个判定节点开始。②起始节点从其他备选流的某个判定节点开始。③终止节点是基本流上的某个状态。④终止节点是其他的系统终止状态。基本流备选流场景法测试设计方法根据说明,描述出程序的基本流及各项备选流;根据基本流和各项备选流生成不同的场景;对每一个场景生成相应的测试用例;对生成的所有测试用例重新复审,去掉多余的测试用例,测试用例确定后,对每一个测试用例确定测试数据。例1:对于ATM系统的取款用例,使用场景法设计测试用例。(1)分析基本流和备选流基本流:正常的取款。备选流:考察几种特定情况,包括ATM内没有现金;ATM内现金不足;密码有误(3次机会);账户不存在或账户类型有误;账户余额不足。(2)分析各场景场景1—成功的提款—基本流场景2—ATM内没有现金—基本流备选流场景3—ATM内现金不足—基本流备选流场景4—PIN有误(第一次错)—基本流备选流场景5—PIN有误(第二次错)—基本流备选流场景6—PIN有误(第三次错)—基本流备选流场景7—账户不存在/账户类型有误—基本流备选流场景8—账户余额不足—基本流备选流(3)构造测试用例设计矩阵v表示有效,i表示无效,n表示无关。如表4-18所示。(4)设计测试用例例2:有一个处理单价为5角钱的饮料的自动售货机,相应规格说明如下。①若投入5角钱或1元钱的硬币,按下【橙汁】或【啤酒】的按钮,则相应的饮料就送

温馨提示

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

评论

0/150

提交评论