因果图测试用例

因果图测试用例
因果图测试用例

软件测试基本概念

软件测试的定义:

1.软件测试是为了发现错误而执行程序的过程。

2.软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例,并利用这些测试用例运行程序以及发现错误的过程,即执行测试步骤

其实这两种定义是一致的,前面一种定义,强调了软件测试的目的,后面一种定义强调了软件测试的方法和过程。通过这两个定义,我们知道了,软件测试就是通过设计测试方法和用例,对软件进行流程抽样得到软件正确性,可靠性的过程。

软件测试在软件生命周期中横跨两个阶段:

第一个阶段:单元阶段,即在每个模块编写出以后所做的必要测试。

第二个阶段:综合测试阶段,即爱完成单元测试后进行的测试,如集成测试,系统测试,验收测试。

测试用例:所谓测试用例是为特定的目的而设计的一组测试输入,执行条件和预期的结果;测试用例是执行测试的最小实体,一个好的测试用例在于发现了还未曾发现的错误,一次成功的测试则是发现了错误的测试。

测试步骤:测试步骤详细规定了如何设置,执行,评估特定的测试用例。

我们都不可能对程序进行完全测试。原因有三点:

1.可能的输入范围太大,根本无法穷举测试。

2.程序中可能的运行路径太多,根本无法穷尽测试。

3.用户界面问题太复杂,不可能进行完全测试。

既然不可能进行完全测试,那么我们也就无法验证一个程序的正确性,那测试的目的到底是什么呢?

测试的目的是发现错误。测试是程序的执行过程,目的在于发现错误,并且是尽可能地发现更是多错误,发现的错误越严重越好。

根据以上软件测试的目的,总结出软件测试的原则是:

1.尽早地和及时地测试,发现的越晚,修复的代价越高

2.测试用例应当由测试数据和与之对应的预期结果两部分组成

3.在程序提交测试后,应但有专门的测试人员进行测试,避免有程序设计者自行检查程序

4.测试用例应包括合理的输入条件和不合理的输入条件

5.严格执行测试计划,排除测试的随意性

6.充分注意测试当中的群里现象

7.应对每一个测试结果做全面的检查

8.保存测试计划,测试用例,出错统计和最终分析报告,为维护工作提供充分的资料。

测试停止的依据标准

1.第一类标准:测试超过了预定时间,则停止测试。

2.第二类标准:执行了所有的测试用例,但并没有发现故障,则停止测试。

3.第三类标准:使用特定的测试用例设计方案作为判断测试停止的基础。

4.第四类标准:正面指出停止测试的具体要求,即停止测试的标准可定义为查出某一预订

数目的故障。

5.第五类标准:根据单位时间内查出故障的数量决定是否停止测试。

软件测试的分类:

1.按照是否需要执行程序,软件测试可划分为静态测试和动态测试。

2.按照软件测试用例的设计方法,软件测试可以分为白盒测试和黑盒测试

3.按照软件测试的策略和过程,软件测试可分为单元测试,集成测试,系统测试,验收测

试和确认测试。

一、现在有一个小程序,能够求出3个在-10000到+10000间整数中的最大者

1.数值等价类

对每个文本框而言,输入值的限制是在-10000到+10000之间,因此,我们可以划分一个有效等价类和两个无效等价类

<-10000

-10000到+10000

>+10000

测试用例略。。。。

2.数据类型等价类

由于在文本框中只能输入整数,因此可以确定:

有效等价类:数字

无效等价类:字母,小数点,控制字符,功能键

测试用例略。。。。

3.其它:除了上面列出的测试用例以外,为了使程序的性能更稳定,良好,还要设计下的用例:

因果图法

因果图中使用的是简单的逻辑符号,以直线连接左右节点,左结点表示输入状态或称原因,右结点表示输出状态或称结果:

下面是考虑输入和输出的状态:

恒等:若原因出现,则结果出现,若原因不出现,结果也不出现

非:若原因出现,则结果不出现,若原因不出现,则结果出现

或:若几个原因中1个出现,则结果出现,若几个原因都不出现,则结果不出现

与:若几个原因都出现,结果才出现,若有1个原因不出现,则结果不出现。

输入与输入之间的依赖关系:

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.分析程序规格说明书中,哪些是原因,哪些是结果,并给每个原因和结果赋予一个标识符。原因常常是输入条件或是输入条件的等价类,而结果是输出条件。

2.分析程序规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的关系,根据这些关系,画出因果图

3.由于语法和环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现,为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。

4.把因果图转换成判定表。

5.把判定表的每一列拿出来作为依据,设计测试用例。

判定表decision table

判定表:是分析和表达多逻辑条件下执行不同操作的情况下的工具。

由于它能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。

1.判定表组成:

判定表通常由4个部分组成,

条件桩condition stub:列出了问题的所有条件,通常认为列出的条件的次序无关紧要。

动作桩action stub:列出了问题规定可能采取的操作,这些操作的排列顺序没有约束

条件项condition entry:列出针对它所列条件的取值,再所有可能情况的真假值。

动作项action entry:列出在条件项的各种取值情况下应该采取的动作。

2.规则及规则合并

规则:任何一个条件组合的特定取值及其相应要执行的操作,在判定表中贯穿条件项和动作项的一列就是一条规则。显然,判定表中列出多少组条件取值,也就有多少规则,即条件项和动作项有多少列。

化简:就是规则合并,有两条或多条规则具有相同的动作,并且其条件项之间存在着极为相似的关系。

3.建立判定表

判定表的建立应该依据软件规格说明,步骤如下:

1.确定规则的个数,假如有N个条件,每个条件有两个取值(0,1),故又2n 种规则。

2.列出所有的条件桩和动作桩

3.填入条件项

4.填入动作项,制定初始判定表

5.简化:合并相似规则或者相同动作。

适合使用判定表设计测试用例的条件:

1.规格说明以判定表的形式给出,或很容易转换成判定表

2.条件的排列顺序不影响执行那些操作

3.规则的排列顺序不影响执行那些操作

4.当某一规则的条件已经满足,并确定要执行的操作后,不比检验别的规则

5.如果某一规则要执行多个操作,这些操作的执行顺序无关紧要。

练习:

1.订购单的检查。

如果金额超过500元,又未过期,则发出批准单和提货单;

如果金额超过500元,但过期了,则不发批准单;

如果金额低于500元,则不论是否过期都发出批准单和提货单,在过期的情况下还需要发出通知单。

简化:比如〉500未过期和〈=500未过期。这两个条件项导致的结果是一样的,并

这里再引入一个概念--规则,以上判定表里,右部的每一列(条件项和对应的动作项)

因果图测试用例:

1.有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。

若投入1元5角硬币,按下可乐,雪碧,红茶按钮,相应的饮料就送出来。若投入2元硬币,在送出饮料的同时退还5角硬币

分析:这一段说明,我们可以列出原因和结果

原因:

1.投入1元5角

2.投入2元硬币

3.按可乐按钮

4.按雪碧按钮

5.按红茶按钮

中间状态

11.已投币

12.已按钮

结果:

21.退还5角硬币

22.送出可乐饮料

23.送出雪碧饮料

24.送出红茶饮料

因果图略。。。。。。

易用性:

易用性包含易见性,易学习性、易用性。即软件产品被理解,学习,使用和吸引用户的能力。

易见是指单单凭观察,用户就应知道程序的状态。

易学是指不通过帮助文件或简单的帮助文件,用户就能对一个陌生的软件产品有清晰的认识。

易用是指用户不翻阅手册就能使用该软件。

效率性是指用户熟悉软件功能或界面后,完成任务的速度。

出错率是指在使用软件过程中,用户出现了多少错误,这些错误有多严重,从错误中是否容易恢复等。

因果图测试用例

1.引言 等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系、相互组合等。考虑输入条件之间的相互组合,可能会产生一些新的情况。但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。这就需要利用因果图(逻辑模型)。 因果图(Cause-Effect Graphing)提供了一个把规格转化为判定表的系统化方法,从该图中可以产生测试数据。其中原因是表示输入条件,结果是对输入执行的一系列计算后得到的输出。 因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。 2.因果图介绍 2.1图例说明 1、4种符号分别表示了规格说明中向4种因果关系。如图2-1所示。 图2-1 因果图关系 2、因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输入状态(或称原因),右结点表示输出状态(或称结果)。 3、ci表示原因,通常置于图的左部;ei表示结果,通常在图的右部。ci和ei均可取值0或1,0表示某状态不出现,1表示某状态出现。 2.2因果图概念 1、关系(图2-1 因果图关系) ①恒等:若ci是1,则ei也是1;否则ei为0。 ②非:若ci是1,则ei是0;否则ei是1。

③或:若c1或c2或c3是1,则ei是1;否则ei为0。“或”可有任意个输入。 ④与:若c1和c2都是1,则ei为1;否则ei为0。“与”也可有任意个输入。 2、约束 输入状态相互之间还可能存在某些依赖关系,称为约束。例如,某些输入条件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定的符号标明这些约束。如图2-2所示。 图2-2因果图约束 .输入条件的约束有以下4类: ①E约束(异):a和b中至多有一个可能为1,即a和b不能同时为1。 ②I约束(或):a、b和c中至少有一个必须是1,即a、b 和c不能同时为0。 ③O约束(唯一);a和b必须有一个,且仅有1个为1。 ④R约束(要求):a是1时,b必须是1,即不可能a是1时b是0。 B.输出条件约束类型 输出条件的约束只有M约束(强制):若结果a是1,则结果b强制为0。 2.3因果图法设计测试用例步骤 1、分析待测得系统规格,找出原因与结果 分析软件规格说明描述中,那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件), 并给每个原因和结果赋予一个标识符。 2、画出因果图

功能测试用例的设计

功能测试用例的设计 LG GROUP system office room 【LGA16H-LGYY-LGUA8Q8-LGA162】

一、实验目的 1.用因果图法分析原因结果,并决策表设计测试用例。 2.使用场景法设计测试用例。 二、实验内容 1. 将三角形问题的可能结果扩展为:一般三角形、等腰三角形、等边三角形、直角三角形、等腰直角三角形和非三角形,考虑用因果图法设计测试用例,给出完整步骤。 2. 有一个在线购物的实例,用户进入一个在线购物网站进行购物,选购物品后,进行在线购买,这时需要使用帐号密码登录,登录成功后,进行付钱交易,交易成功后,生成订购单,完成整个购物过程。使用场景法设计上述问题的测试用例。 三、实验环境 Windows XP系统 四、实验步骤和结果 1. 将三角形问题的可能结果扩展为:一般三角形、等腰三角形、等边三角形、直角三角形、等腰直角三角形和非三角形,用因果图法设计测试用例,给出完整步骤。具体如下: 1)输入的三边分别为a,b,c(斜边) 且a

2. 行在线购买,这时需要使用帐号密码登录,登录成功后,进行付钱交易,交易成功后,生成订购单,完成整个购物过程。使用场景法设计上述问题的测试用例。

(注:在下面的矩阵中,V(有效)用于表明这个条件必须是 VALID(有效的)才可执行基本流,而 I(无效)用于表明这种条件下将激活所需备选流,“n/a”(不适用)表 对生成的所有测试用例重新复审,去掉多余的测试用例,测试用例确定后,对每一个测

五、实验结果和讨论 成功使用因果图法、场景法设计了测试用例。 六、总结 1.因果图法的定义是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。 2.在事件触发机制中场景法用得最多。在测试一个软件的时候,先确定基本流也就是测试流程中软件功能按照正确的事件流实现的一条正确流程,接着去确定备选流也就是那些出现故障或缺陷的过程,用备选流加以标注。然后可以采用矩阵或决策表来确定和管理测试用例。

用正交实验法设计测试用例

用正交实验法设计测试用例 正交实验法的由来 一、正交表的由来 拉丁方名称的由来 古希腊是一个多民族的国家,国王在检阅臣民时要求每个方队中每行有一个民族代表,每列也要有一个民族的代表。 数学家在设计方阵时,以每一个拉丁字母表示一个民族,所以设计的方阵称为拉丁方。 什么是n阶拉丁方? 用n个不同的拉丁字母排成一个n阶方阵(n<26 ),如果每行的n个字母均不相同,每列的n个字母均不相同,则称这种方阵为n*n拉丁方或n阶拉丁方。每个字母在任一行、任一列中只出现一次。 什么是正交拉丁方? 设有两个n阶的拉丁方,如果将它们叠合在一起,恰好出现n2个不同的有序数对,则称为这两个拉丁方为互相正交的拉丁方,简称正交拉丁方。 例如:3阶拉丁方 用数字替代拉丁字母: 二、正交实验法

正交试验设计(Orthogonal experimental design)是研究多因素多水平的又一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点,正交试验设计是分式析因设计的主要方法。是一种高效率、快速、经济的实验设计方法。 日本著名的统计学家田口玄一将正交试验选择的水平组合列成表格,称为正交表。例如作一个三因素三水平的实验,按全面实验要求,须进行33=27种组合的实验,且尚未考虑每一组合的重复数。若按L9(33) 正交表按排实验,只需作9次,按L18(37) 正交表进行18次实验,显然大大减少了工作量。因而正交实验设计在很多领域的研究中已经得到广泛应用。 利用因果图来设计测试用例时, 作为输入条件的原因与输出结果之间的因果关系,有时很难从软件需求 规格说明中得到。往往因果关系非常庞大,以至于据此因果图而得到的测试用例数目多的惊人,给软件测试带来沉重的负担,为了有效地,合理地减少测试的工时与费用,可利用正交实验设计方法进行测试用例的设计。 正交实验设计方法:依据Galois理论,从大量的(实验)数据(测试例)中挑选适量的、有代表性的点(例),从而合理地安排实验(测试)的一种科学实验设计方法。类似的方法有:聚类分析方法、因子方法方法等。 三、利用正交实验设计测试用例的步骤: (1)提取功能说明,构造因子--状态表 把影响实验指标的条件称为因子,而影响实验因子的条件叫因子的状态。 利用正交实验设计方法来设计测试用例时,首先要根据被测试软件的规格说明书找出影响其功能实现的操作对象和外部因素,把他们当作因子;而把各个因子的取值当作状态。对软件需求规格说明中的功能要求进行划分,把整体的、概要性的功能要求进行层层分解与展开,分解成具体的有相对独立性的、基本的功能要求。这样就可以把被测试软件中所有的因子都确定下来,并为确定每个因子的权值提供参考的依据。确定因子与状态是设计测试用例的关键。因此要求尽可能全面的、正确的确定取值,以确保测试用例的设计作到完整与有效。 (2)加权筛选,生成因素分析表 对因子与状态的选择可按其重要程度分别加权。可根据各个因子及状态的作用大小、出现频率的大小以及测试的需要,确定权值的大小。 (3)利用正交表构造测试数据集 利用正交实验设计方法设计测试用例,比使用等价类划分、边界值分析、因果图等方法有以下优点:节省测试工作工时;可控制生成的测试用例数量;测试用例具有一定的覆盖率。 在使用正交实验法时,要考虑到被测系统中要准备测试的功能点,而这些功能点就是要获取的因子或因素,但每个功能点要输入的数据按等价类划分有多个,也就是每个因素的输入条件,即状态或水平值。 四、正交表的构成 行数(Runs):正交表中的行的个数,即试验的次数,也是我们通过正交实验法设计的测试用例的个数。

实验七-黑盒测试之场景法测试实验(参考答案)

实验七黑盒测试之场景法测试实验 1.1 实验目的 1、通过对简单程序进行黑盒测试,熟悉测试过程,对软件测试形成初步了解,并养成良好的测试习惯。 2、掌握黑盒测试的基础知识,能熟练应用场景法进行测试用例的设计。1.2 实验平台 操作系统:Windows 7或Windows XP 1.3 实验内容及要求 1、练习1 软件系统几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。场景法就是通过用例场景描述业务操作流程,从用例开始到结束遍历应用流程上所有基本流(基本事件)和备选流(分支事件)。下面是对某IC卡加油机应用系统的基本流和备选流的描述。 基本流A;

备选流: (1)使用场景法设计测试案例,指出场景涉及到的基本流和备选流,基本流用字母A表示,备选流用题干中描述的相应字母表示。 场景1:A 场景2:A、B 场景3:A、C 场景4:A、D 场景5:A、E (2)场景中的每一个场景都需要确定测试用例,一般采用矩阵来确定和管理测试用例。如下表所示是一种通用格式,其中行代表各个测试用例,列代表测试用例的信息。本例中的测试用例包含测试用例、ID、场景涤件、测试用例中涉及的所有数据元素和预期结果等项目。首先确定执行用例场景所需的数据元素(本例中包括账号、是否黑名单卡、输入油量、账面金额、加油机油量),然后构建矩阵,最后要确定包含执行场景所需的适当条件的测试用例。在下面的矩阵中,V 表示有效数据元素,I表示无效数据元素,n/a表示不适用,例如C01表示“成功加油”基本流。请按上述规定为其它应用场景设计用例矩阵。 测试用例表

测试用例设计思路举例(参考)

ECShop2.7.2用例设计思路举例 说明 用例设计方法的运用非常灵活,没有绝对的套路可言,以下用例设计思路仅供参考。 操作流程举例 参考文档: ?ECShop_2.7.2_简易操作手册V1.0, ?B2C商城ECShop需求规格说明书_2.7.2V1.0 设计思路: 根据操作手册,理清业务逻辑前后关系,再结合SRS文档确定具体的流程细节和分支流程。可以通过画流程的方式梳理流程(流程分析法),下面是部分主流程的案例: ?正向订单流程_余额付款 1)前台页面浏览商品->加入购物车->结算中心->余额付款 2)后台管理中心订单查询->配货->生成发货单->确认生成发货单->去发货->发货 3)前台页面确认收货END ?正向订单流程_货到付款 1)前台页面浏览商品->加入购物车->结算中心->货到付款 2)后台管理中心订单查询->配货->生成发货单->确认生成发货单->去发货 ?逆向订单流程 1)前台页面确认收货->后台管理中心退货->填写退货信息点确定按钮->确认退货 ?商品添加流程_新商品 1)后台管理中心商品管理->新建商品类型/新建商品分类/新建商品品牌->添加新商品(通用信息,详细描述,其他信息,商品属性,商品相册,关联商品,配件,关联 文章) 考虑完所有流程后,再补充考虑部分异常情况,例如:流程中的先后顺序发生变化,或者跳过某个步骤后,系统能否完成后续流程作业。(有些流程是不可能调换顺序或跳过的) Q:流程分析法在设计测试用例的时候会经过很多页面,操作很多字段,这些页面和字段该如何取值呢? A:流程分析法一般考虑页面或字段的有效取值(一般取等价类中最不容易出错的值),测试过程中不关注页面输入域的各种取值情况,特别是错误取值的情况。目的是为了确保流程是可用的。 Q:流程分析法既然不能证明某个页面或字段没有问题,那用此法有何意义呢,为何不直接考虑验证每个页面和模块的各种有效和无效的取值?

软件测试用例模板

软件测试用例模板

用例编号TestCase_LinkWorks_WorkEvaluate 项目名称LinkWorks 模块名称WorkEvaluate模块 项目承担部门信息部 用例作者 完成日期2015-5-27 评审负责人 审核日期 批准日期 注:本文档由测试组提交,审核由测试组负责人签字,由项目负责人批准。历史版本: 版本/状态作者参与者起止日期备注 V1.1 一、功能测试用例 此功能测试用例对测试对象的功能测试应侧重于所有可直接追踪到用例或业务功能和业务规则的测试需求。这种测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则的实施是否恰当。主要测试技术方法为用户通过GUI (图形用户界面)与应用程序交互,对交互的输出或接受进行分析,以此来核实需求功能与实现

功能是否一致。 用例标识LinkWorks_ WorkEvaluate _02 项目 名称 https://www.360docs.net/doc/e07454440.html, 开发人员模块 名称 WorkEvaluate 用例作者参考 信息 工作考核系统界面设计 (2005_03_28).vsd 测试类型设计 日期 2006-9- 27 测试 人员 测试方法黑盒测试 日期 用例描述前置条件 编号权 限 ( 并 列 测试项测 试 类 别 描述/输入/操 作 期望结果真 实 结 果 备 注

关系) 000 01 无列 表 页 面 导航栏导 航 测 试 浏览\点击导 航连接 详细正确 导航页面 所在位置 000 02 添加删 除修改 按钮 添加修改删 除按钮是否 可用 不可用 000 03 接受、 汇报按 钮 1)不是自 己负责的 数据未考 核之前能 否接受\汇 报 不能 2)属于自 己负责的 未接受之 前时候是 否可以接 受 能

测试用例设计方法之因果图法

测试用例设计方法之因果图法 (一)因果图法的来源 大家熟悉的等价类划分法和边界值分析法,都是着重考虑输入条件,但未考虑输入条件之间的联系、相互组合等; 但是,如考虑所输入条件之间的相互组合,会由于组合情况数目相当大,需要大量的测试用例; 因果图法,是一种帮助人们系统地选择一组高效率测试用例的方法。(二)因果图法的特点 考虑输入条件间的组合关系; 考虑输出条件对输入条件的信赖关系,即因果关系; 测试用例发现错误的效率高; 能检查出功能说明中的某些不一致或遗漏; 因果图方法最终生产的就是判定表,它适合于检查程序输入条件和各种组合情况。 (三)因果图法基本步骤 1.分割功能说明书 对于规模比较大的程序来说,由于输入条件的组合数太大,所以很难整体上使用一个因果图。我们可以把它划分为若干部分,然后分别对每个部分使用因果图。例如,测试编译程序时,可以把每个语句作为一个部分。 2.识别出“原因”和“结果”,并加以编号 所谓原因,是指输入条件或输入条件的等价类;而结果则是指输出条件或输出条件的等价类。每个原因或结果都对应于因果图中的一个节点。当原因或结果成立(或出现)时,相应的节点取值为1,否则为0。 例如,有一个饮料自动售货机(处理单价为5角钱)的控制处理软件,它的软件规格说明如下: 若投入5角钱的硬币,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。若投入1元钱的硬币,同样也是按“橙汁”或“啤酒”的按钮,则自动售货机在送出相应饮料的同时退回5角钱的硬币。

分析这一段说明,我们可以列出原因和结果。 原因如下: ?投入1元硬币; ?投入5角硬币; ?按下“橙汁”按钮; ?按下“啤酒”按钮 结果 ?退还5角钱; ?送出“橙汁”饮料; ?送出“啤酒”饮料 3.根据功能说明书中规定的原因和结果之间的关系画出因果图 因果图的基本符号如图1所示: 1.因果图的基本符号 图中左边的节点表示原因,右边的节点表示结果。恒等、非、或、与的含义: ?恒等:若a=1,则b=1;若a=0,则b=0; ?非:若a=1,则b=0,若a=0,则b=1; ?或:若a=1或b=1或c=1,则d=1;若a= b= c=0,则d=0; ?与:若a= b= c=1,则d=1;若a=0或b=0或c=0,则d=0。 画因果图时,原因在左,结果在右,由上而下排列,并根据功能说明书中规定的原因和结果之间的关系,用上述基本符号连接起来。在因果图中还可以引入一些中间节点。

实验七-黑盒测试之场景法测试实验(参考答案)

实验七-黑盒测试之场景法测试实验(参考答案)

实验七黑盒测试之场景法测试实验 1.1 实验目的 1、通过对简单程序进行黑盒测试,熟悉测试过程,对软件测试形成初步了解,并养成良好的测试习惯。 2、掌握黑盒测试的基础知识,能熟练应用场景法进行测试用例的设计。 1.2 实验平台 操作系统:Windows 7或Windows XP 1.3 实验内容及要求 1、练习1 软件系统几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。场景法就是通过用例场景描述业务操作流程,从用例开始到结束遍历应用流程上所有基本流(基本事件)和备选流(分支事件)。下面是对某IC卡加油机应用系统的基本流和备选流的描述。 基本流A; 序号用例 名称 用例描述 1 准备 加油 客户将IC加油卡插入加油机 2 验证 加油 加油机从加油卡的磁条中读取账户代码,并检查它是否属于

卡可以接收的加油卡 3 验证 黑名 单 加油机验证卡账户是否存在于黑名单中,如果属于黑名单, 加油机吞卡 4 输入 购油 量 客户输入需要购买的汽油数 量 5 加油加油机完成加油操作,从加油卡中扣除相应金额 6 返回 加油 卡 退还加油卡 备选流: 序号用例名 称 用例描述 B 加油卡 无效 在基本流A2过程中,该卡不能够识别 或是非本机可以使用的IC 卡,加油 机退卡,并退出基本流 C 卡账户 属于黑 在基本流A3过程中,判断该卡账产属 于黑名单,例如:已经挂失,加油机

名单吞卡退出基本流 D 加油卡 账面现 金不足 系统判断加油卡内现金不足,重新加 入基本流A4,或选择退卡 E 加油机 油量不 足 系统判断加油机内油量不足,重新加 入基本流A4,或选择退卡 (1)使用场景法设计测试案例,指出场景涉及到的基本流和备选流,基本流用字母A表示,备选流用题干中描述的相应字母表示。 场景1:A 场景2:A、B 场景3:A、C 场景4:A、D 场景5:A、E (2)场景中的每一个场景都需要确定测试用例,一般采用矩阵来确定和管理测试用例。如下表所示是一种通用格式,其中行代表各个测试用例,列代表测试用例的信息。本例中的测试用例包含测试用例、ID、场景涤件、测试用例中涉及的所有数据元素和预期结果等项目。首先确定执行用例场景所需的数据元素(本例中包括账号、是否黑名单卡、输入油量、账面金额、加油机油量),然后构建矩阵,最后要确定包含执行场景所需的适当条件的测试用例。在下面的矩阵中,V表示有效数据元素,I表示无效数据元素,n/a表示不适用,例如C01表示“成功加油”基本流。请按上述规定为其它应用场景设计用例矩阵。 测试用例表 测试用例场景 账 号 是否黑 名单卡 输 入 账 面 加油 机 预期 结果

正交试验设计常用正交表分析

选用正交表。根据提供的因素和水平进行正交表的选择, 选择的方法为试验的水平作为正 交表的水平, 试验的各个因素小于或等于正交表的列数,表格中没有数据的项空掉即可。 可以数据公式分析影响因子,也可以软件表征结果 (1) L 4(23) 任意两列间的交互作用为另外一列 (2) L 8(27) L 8(27)二列间的交互作用表 1 2 3 1 1 1 1 2 1 2 2 3 2 1 2 4 2 2 1 1 2 3 4 5 6 7 1 1 1 1 1 1 1 1 2 1 1 1 2 2 2 2 3 1 2 2 1 1 2 2 4 1 2 2 2 2 1 1 5 2 1 2 1 2 1 2 6 2 1 2 2 1 2 1 7 2 2 1 1 2 2 1 8 2 2 1 2 1 1 2 1 2 3 4 5 6 7 (1) 3 2 6 4 7 6 (2) 1 5 7 4 5 (3) 7 6 5 4 (4) 1 2 3 (5) 3 2 (6) 1 (7) 列 号 试 验 号 列 号 试 验 号 列 号 列 号

L 8(27)表头设计 1 2 3 4 5 6 7 3 A B A ×B C A ×C B ×C 4 A B A ×B C ×D C A ×C B ×D B ×C A ×D D 4 A B C ×D A ×B C B ×D A ×C D B ×C A ×D 5 A D ×E B C ×D A × B C ×E C B ×D A ×C B ×E D A × E B ×C E A ×D (3) L 8(4×24) L 8(4×24)表头设计 1 2 3 4 5 2 A B (A ×B)1 (A ×B)2 (A ×B)3 3 A B C 4 A B C D 5 A B C D E 1 2 3 4 5 1 1 1 1 1 1 2 1 2 2 2 2 3 2 1 1 2 2 4 2 2 2 1 1 5 3 1 2 1 2 6 3 2 1 2 1 7 4 1 2 2 1 8 4 2 1 1 2 列 号 因 子 数 列 号 试 验 号 列 号 因 子 数

正交测试步骤

三、利用正交实验设计测试用例的步骤: (1)提取功能说明,构造因子--状态表 把影响实验指标的条件称为因子,而影响实验因子的条件叫因子的状态。 利用正交实验设计方法来设计测试用例时,首先要根据被测试软件的规格说明书找出影响其功能实现的操作对象和外部因素,把他们当作因子;而把各个因子的取值当作状态。对软件需求规格说明中的功能要求进行划分,把整体的、概要性的功能要求进行层层分解与展开,分解成具体的有相对独立性的、基本的功能要求。这样就可以把被测试软件中所有的因子都确定下来,并为确定每个因子的权值提供参考的依据。确定因子与状态是设计测试用例的关键。因此要求尽可能全面的、正确的确定取值,以确保测试用例的设计作到完整与有效。 (2)加权筛选,生成因素分析表 对因子与状态的选择可按其重要程度分别加权。可根据各个因子及状态的作用大小、出现频率的大小以及测试的需要,确定权值的大小。 (3)利用正交表构造测试数据集 利用正交实验设计方法设计测试用例,比使用等价类划分、边界值分析、因果图等方法有以下优点:节省测试工作工时;可控制生成的测试用例数量;测试用例具有一定的覆盖率。 在使用正交实验法时,要考虑到被测系统中要准备测试的功能点,而这些功能点就是要获取的因子或因素,但每个功能点要输入的数据按等价类划分有多个,也就是每个因素的输入条件,即状态或水平值。 四、正交表的构成 行数(Runs):正交表中的行的个数,即试验的次数,也是我们通过正交实验法设计的测试用例的个数。 因素数(Factors) :正交表中列的个数,即我们要测试的功能点。 水平数(Levels):任何单个因素能够取得的值的最大个数。正交表中的包含的值为从0到数“水平数-1”或从1到“水平数”。即要测试功能点的输入条件。 正交表的形式: L行数(水平数因素数) 如:L8(27) 五、正交表的正交性 整齐可比性 在同一张正交表中,每个因素的每个水平出现的次数是完全相同的。由于在试验中每个因素的每个水平与其它因素的每个水平参与试验的机率是完全相同的,这就保证在各个水平中最大程度的排除了其它因素水平的干扰。因而,能最有效地进行比较和作出展望,容易找到好的试验条件。 均衡分散性 在同一张正交表中,任意两列(两个因素)的水平搭配(横向形成的数字对)是完全相同的。这样就保证了试验条件均衡地分散在因素水平的完全组合之中,,因而具有很强的代表性,容易得到好的试验条件。 用正交实验法设计测试用例 以上介绍了正交实验法的由来。怎么用正交实验法进行用例的设计呢? 一、用正交表设计测试用例的步骤 (1) 有哪些因素(变量) (2) 每个因素有哪几个水平(变量的取值) (3) 选择一个合适的正交表

正交实验法详解

正交实验法的由来 一、正交表的由来 拉丁方名称的由来 古希腊是一个多民族的国家,国王在检阅臣民时要求每个方队中每行有一个民族代表,每列也要有一个民族的代表。 数学家在设计方阵时,以每一个拉丁字母表示一个民族,所以设计的方阵称为拉丁方。 什么是n阶拉丁方? 用n个不同的拉丁字母排成一个n阶方阵(n<26 ),如果每行的n个字母均不相同,每列的n个字母均不相同,则称这种方阵为n*n拉丁方或n阶拉丁方。每个字母在任一行、任一列中只出现一次。 什么是正交拉丁方? 设有两个n阶的拉丁方,如果将它们叠合在一起,恰好出现n2个不同的有序数对,则称为这两个拉丁方为互相正交的拉丁方,简称正交拉丁方。 例如:3阶拉丁方(图1) 用数字替代拉丁字母:(图2) 二、正交实验法

正交试验设计(Orthogonal experimental design)是研究多因素多水平的又一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点,正交试验设计是分式析因设计的主要方法。是一种高效率、快速、经济的实验设计方法。 日本著名的统计学家田口玄一将正交试验选择的水平组合列成表格,称为正交表。例如作一个三因素三水平的实验,按全面实验要求,须进行33=27种组合的实验,且尚未考虑每一组合的重复数。若按L9(33) 正交表按排实验,只需作9次,按L18(37) 正交表进行18次实验,显然大大减少了工作量。因而正交实验设计在很多领域的研究中已经得到广泛应用。 利用因果图来设计测试用例时, 作为输入条件的原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到。往往因果关系非常庞大,以至于据此因果图而得到的测试用例数目多的惊人,给软件测试带来沉重的负担,为了有效地,合理地减少测试的工时与费用,可利用正交实验设计方法进行测试用例的设计。 正交实验设计方法:依据Galois理论,从大量的(实验)数据(测试例)中挑选适量的、有代表性的点(例),从而合理地安排实验(测试)的一种科学实验设计方法。类似的方法有:聚类分析方法、因子方法方法等。 三、利用正交实验设计测试用例的步骤: (1)提取功能说明,构造因子--状态表 把影响实验指标的条件称为因子,而影响实验因子的条件叫因子的状态。 利用正交实验设计方法来设计测试用例时,首先要根据被测试软件的规格说明书找出影响其功能实现的操作对象和外部因素,把他们当作因子;而把各个因子的取值当作状态。对软件需求规格说明中的功能要求进行划分,把整体的、概要性的功能要求进行层层分解与展开,分解成具体的有相对独立性的、基本的功能要求。这样就可以把被测试软件中所有的因子都确定下来,并为确定每个因子的

软件测试方案模板(by LJ.)

测试方案模板 Edit by LJ. 1 概述 1.1 编写目的 [说明编写本测试方案的目的是为软件开发项目管理者、软件工程师、系统维护工程师、测试工程师提供关于**系统整体系统功能和性能的测试指导。] 1.2 读者对象 [本测试方案可能的合法读者对象为软件开发项目管理者、软件工程师、测试组、系统维护工程师] 1.3 项目背景 [可以如下那样简单说明,根据项目的具体情况,方案编写者也可以进行详细说明 项目名称:*** 简称:*** 项目代号:*** 委托单位:*** 开发单位:*** 主管部分:***] 1.4 测试目标 [说明进行项目测试的目标或所要达到的目的] 1.5 参考资料 [列出编写本测试方案时参考的资料和文献]

2 测试配置要求 2.1 网络环境 [在此说明应用系统的网络环境,如果应用系统是网络版的,必须具有本节内容。] 2.1.1 网络硬件 [此处给出网络硬件的拓扑图、名称、规格、数量、配置等信息。] 2.1.2 网络软件 [此处给出网络软件的名称、协议、通讯和连接方式等信息。] 2.2 服务器环境 2.2.1 服务器硬件 [此处给出服务器硬件的名称、规格、数量、配置等信息。] 2.2.2 服务器软件 [此处给出服务器软件名称、协议和版本等信息。] 2.3 工作站环境 2.3.1 工作站硬件 [此处给出工作站硬件的拓扑图、名称、规格、数量、配置等信息。] 2.3.2 工作站软件 [此处给出工作站软件的名称、协议和版本等信息。] 2.4 测试手段 [在此参照《测试计划》说明测试方法和工具,注明执行测试时,必须同时填写《测试记录表》]

2.5 测试数据 [在此简要说明测试数据的形成,如以客户单位具体的业务规则和《***系统需求分析说明书》,参考《***系统概要设计说明书》、《***系统详细设计说明书》和《数据规格说明书》中规定的运行限制,设计测试用例,作为整个**系统的测试数据。] 2.6 测试策略 [在此说明测试策略,可以如下这样说明: 测试过程按三个步骤进行,即单元测试、组装、系统测试,根据不同阶段测试的侧重点不同,分别介绍测试策略: A)单元测试 首先按照系统、子系统和模块进行划分,但最终的单元必须是功能模块,或面向对象过程中的若干个类。单元测试是对功能模块进行正确检验的测试工作,也是后续测试的基础。目的是在于发现各模块内部可能存在的各种差错,因此需要从程序的内部结构出发设计测试用例,着重考虑以下五个方面: 1)模块接口:对所测模块的数据流进行测试。 2)局部数据结构:检查不正确或不一致的数据类型说明、使用尚未附值或尚未初始化的变量、错误的初始值或缺省值。 3)路径:虽然不可能做到穷举测试,但要设计测试用例查找由于不正确的计算(包括算法错、表达式符号表示不正确、运算精度不够等)、不正确的比较或不正常的控制流(包括不同数据类型量的相互比较、不适当地修改了循环变量、错误的或不可能的循环终止条件等)而导致的错误。 4)错误处理:检查模块有没有对预见错误的条件设计比较完善的错误处理功能,保证其逻辑上的正确性。 5)边界:注意设计数据流、控制流中刚好等于、大于或小于确定的比较值的用例。 B)集成测试 集成测试也叫组装测试或联合测试。通常,在单元测试的基础上需要将所有的模块按照设计要求组装成系统,这时需要考虑的问题: 1)在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失。

以中国象棋中走马的测试用例设计为例学习因果图的使用方法

以中国象棋中走马的测试用例设计为例学习因果图的使用方法。 分析中国象棋中走马的实际情况(下面未注明的均指的是对马的说明) 1如果落点在棋盘外,则不移动棋子; 2、如果落点与起点不构成日字型,则不移动棋子; 3、如果落点处有自己方棋子,则不移动棋子; 4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子; 5、如果不属于1-4条,且落点处无棋子,则移动棋子; 6、如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子; 7、如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。原因:结果: 1、落点在棋盘上; 2、落点与起点构成日字; 3、落点处为自己方棋子; 4、落点方向的邻近交叉点无棋子; 5、落点处无棋子; 6、洛点处为对方棋子(非老将); 7、洛点处为对方老将。21、不移动棋子; 22、移动棋子; 23、移动棋子,并除去对方棋子; 24、移动棋子,并提示战胜对方,结束游戏。 L2345678 111110000 2]101I00 3L3101c10 11111100 2200001 2101000 23(.1010] 测试 用例 A3 A8 AR A? R5 B4 RN ur Cl X6 SD PS 考虑结果不能同时发生,所以对其施加唯一约束施加异约束E。 根据因果图建立判定表:(分为两表)0。原因5、6、7不能同时发生,所以对其 添加中间节点11,目的是作为导出结果的进一步原因,简化因果图导出的判定表

注:1、以上判定表中由于表格大小限制没有列出最后所选的测试用例;2、第2表中部分列被合并表示不可能发生的现象;3、通过中间节点将用例的判定表简化为两个小表。减少工 作量。 四、根据判定表写测试用例表(略)

测试用例八大设计方法和实例

测试用例设计方法 1等价类划分 1.1 理论知识 等价类划分是一种典型的黑盒测试方法。这一方法完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。 等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭示程序中的错误都是等效的。 等价类合理地假设:某个等价类的代表值,与该等价类的其他值,对于测试来说是等价的。 因此,可以把全部的输入数据划分成若干的等价类,在每一个等价类中取一个数据来进行测试。这样就能以较少的具有代表性的数据进行测试,而取得较好的测试效果。 等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法. 1) 分类: 划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类. 有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能. 无效等价类:与有效等价类的定义恰巧相反. 设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性. 2)划分等价类的方法: 下面给出六条确定等价类的原则: ①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类. ②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效

[生活]场景法测试用例ATM机

[生活]场景法测试用例ATM机 测试用例设计--场景法 1. 定义 现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设用例场景用来描述流经用例的路径,从用例开始到结束遍历这条路径上所有基本流和备选流。 右图中经过用例的每条路径都用基本流和备选流来表示: 基本流用黑色表示,是经过用例的最简单的路径。 备选流用不同的彩色表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流 1 和 3);也可能起源于另一个备选流(如备选流 2),或者终止用例而不再重新加入到某个流(如备选流 2 和 4)。 1. 应用的范围

1) 基本上每个软件都会用到这种方法,因为每个软件后面都有业务的支撑 2) 比较常见的有: 网上购物流程, ATM机取款流程等 1. 步骤 1) 画出需要测试路径的流程图(一般选择工具Office Visio) 2) 分析基本流和备选流 3) 根据基本流和备选流设计测试用例 1. 案例 基本事件流: 1、用户向ATM提款机中插入银行卡,如果银行卡是合法的,ATM提款机界面提示用户输入提款密码; 参数1 银行密码 参数类型字符串 参数范围字符串为0,9之间的阿拉伯数字组合,密码长度为6位 备注 用户输入该银行卡的密码,ATM提款机与MainFrame传递密码,检验密码的正确性。如果输入密码正确,提示用户输入取钱金额,提示信息为,“请输入您的提款额度”; 用户输入取钱金额,系统校验金额正确,提示用户确认,提示信息为“您输入的金额是xxx,请确认,谢谢~”,用户按下确认键,确认需要提取的金额; 参数1 取款金额 参数类型整数 参数范围 50~1500 RMB,单笔取款额最高为1500RMB;每24小时之内,取款的最 高限额是4500RMB

测试用例设计—正交试验法

测试用例设计—正交试验法【烟三修整】上一篇 / 下一篇 2008-05-23 14:25:19 / 个人分类:测试理论 查看( 1930 ) / 评论( 3 ) / 评分( 0 / 0 ) 1、概念 1.1正交试验设计(Orthogonal experimental design) 是研究多因素多水平的一种设计方法,它是根据正交性从全面试验中挑选出部分 有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点, 正交试验设计是一种基于正交表的、高效率、快速、经济的试验。 1.2、因素(Factor) 在一项试验中,凡欲考察的变量称为因素(变量),也有的地方叫因子。 1.3、水平(位级)(Level) 在试验范围内,因素被考察的值称为水平(变量的取值)。 2、正交表 2.1正交表是一整套规则的设计表格。 正交表的表示形式:Ln(t^c)其中:L为正交表的代号,n为行数(试验次数), t为水平数,c为列数(因素数)。 例如:L4(2^3),它表示需做4次实验,最多可观察3个因素,每个因素均为2水 平。如下图: 一个正交表中也可以各列的水平数不相等,我们称它为混合型正交表,如L8(2^4 4^1),如下图。此表的5列中,有1列为4水平,4列为2水平。根据正交表的数 据结构看出,正交表是一个n行c列的表,其中第j列由数码1,2,… tj 组成,这 些数码均各出现n/t 次,例如图1-1中,第二列的数码个数为2,t=2 ,即由1、2 组成,各数码均出现2次。

mn型的正交表中,试验次数(行数)=∑(每列水平数-1)+1 例:5个3水平因子及一个2水平因子,表示为35*21,试验次数=5*(3-1)+1*(2- 1)+1=12,即L12(3^5 2^1)。 2.2正交表具有以下两项性质: (1) 每一列中,不同的数字出现的次数相等。例如:在两水平正交表中,任何一列 都有数码“1”与“2”,且任何一列中它们出现的次数是相等的;如在三水平正交表中,任何一列都有“1”、“2”、“3”,且在任一列的出现数均相等。 (2) 任意两列中数字的排列方式齐全而且均衡。例如:在两水平正交表中,任何两 列(同一横行内)有序对子共有4种:(1,1)、(1,2)、(2,1)、(2,2)。每种对数出 现次数相等。在三水平情况下,任何两列(同一横行内)有序对共有9种,1.1、1.2、1.3、2.1、2.2、2.3、3.1、3.2、3.3,且每对出现数也均相等。 以上两点充分的体现了正交表的两大优越性,即“均匀分散性,整齐可比”。通俗的说,每个因素的每个水平与另一个因素各水平各碰一次,这就是正交性。 2.3如何查找正交表 1、Technical Support (https://www.360docs.net/doc/e07454440.html,) https://www.360docs.net/doc/e07454440.html,/techsup/technote/ts723_Designs.txt 2、查Dr. GenichiTaguchi设计的正交表, https://www.360docs.net/doc/e07454440.html,/depts/maths/tables/orthogonal.htm上面查询 3、数理统计、试验设计等方面的书及附录中 关注点:因素数和对应的水平数组成的矩阵。 三、用正交表设计测试用例 3.1设计测试用例的步骤 1、有哪些因素(变量) 2、每个因素有哪几个水平(变量的取值) 3、选择一个合适的正交表 4、把变量的值映射到表中

测试用例设计_T44

q q q q q q q q q q q q q q q q q q q 测试用例的内容 用例编号:该编号用来唯一识别一条测试用例,要求具有易识别性和易维护性,用户根据该编号能很容易识别该用例的目的及作用。一般格式:A-B-C-D A:表示产品或者项目名称 B:表明用例的属性(针对哪个阶段,ST、UT、IT) C:表明测试用例针对的测试项 D:编号 【例】P2P-ST-登录-001 测试项:说明测试用例对应的功能模块 用例名称:描述测试用例的关注点,原则上不能重复 【例】输入错误的验证码,注册失败 优先级:体现出测试用例的重要性,一般分为高、中、低3个级别 前置条件:描述执行该用例时需要先达到的条件 操作步骤:根据需求,描述出对被测功能操作的每一个步骤,包括动作和数据 预期结果:根据需,从预期的界面表现和功能表现两个方面描述 【例】 黑盒用例设计方法 等价类 原理:根据需求,将被测对象所有可能的输入划分为若干子集,在每一个集合中每个元素(除上点、离点)对于发现被测对象错误的效果是等价的 分类: 测试用例设计_T44

q q q q q q q q q q q q q q q q q q q q q q q q q q q q 有效等价类: 无效等价类: 使用原则:规定了取值范围或者取值个数,可以划分出1个有效等价类和2个无效等价类 例:用户注册功能,要求用户名长度为6-10个字符。 有效等价类:[6,10] 无效等价类:<=5、>10 规定了输入值的集合或者必须满足某个条件,可以划分出1个有效等价类和1个无效等价类例:用户注册功能,要求用户名可以包含字母、数字或者下划线 有效等价类:(字母,数字,下划线) 无效等价类:包括字母,数字,下划线以外的字符 规定了输入值是一个布尔值,可以划分出1个有效等价类和1个无效等价类例:比如性别 规定了输入是一组值(n个),并且程序要对每一个值分别处理,此时可以划分n个有效等价 类和1个无效等价类 例:根据会员等级决定优惠力度 有效等价类:1级会员、2级会员、3级会员、........ 无效等价类:非会员 规定了输入值必须满足某个条件,可以划分出1个有效等价类和若干个无效等价类例:用户注册,要求用户名使用手机号进行注册 有效等价类:11位纯数字 无效等价类:字母、特殊符号、10位长度、12长度 设计步骤 1、分析需求,根据对应的使用原则划分出有效等价类和无效等价类 2、列出等价类表,为每一个等价类编号 3、为有效等价类设计测试用例:设计一条测试用例,尽可能多的覆盖有效等价类,重复这个 步骤,直到所有的有效等价类被覆盖完全 4、为无效等价类设计测试用例:设计一条测试用例,每条测试用例仅覆盖一个无效等价类 ,重复这个步骤,直到所有的无效等价类被覆盖完全 例1:某系统注册功能,要求输入用户名、密码、确认密码。其中对用户名要求6-18个字符,可以 包括字母、数字和下划线,并且必须以字母开头,不能以下划线结尾。请根据以上需求设计测试用例 1、设计等价类表

测试用例设计—自动售货机因果图分析

命题 有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入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元钱,而且又选中了某一种商品的时候,系统是需要找零钱的。而现有条件和结果中并没有涉及到“应该找零钱”这种情况,因此我们还需要增加一个中间节点“应该找零钱”。

相关文档
最新文档