搜档网
当前位置:搜档网 › 测试用例八大设计方法和实例

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

测试用例设计方法

1等价类划分

1.1理论知识

等价类划分是一种典型的黑盒测试方法。这一方法完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。

等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭示程序中的错误都是等效的。等价类合理地假设:某个等价类的代表值,与该等价类的其他值,对于测试来说是等价的。

因此,可以把全部的输入数据划分成若干的等价类,在每一个等价类中取一个数据来进行测试。这样就能以较少的具有代表性的数据进行测试,而取得较好的测试效果。

等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法.

1) 分类:

划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.

有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能.

无效等价类:与有效等价类的定义恰巧相反.

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

2)划分等价类的方法:

下面给出六条确定等价类的原则:

①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类.

②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类.

③在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类.

④在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n 个有效等价类和一个无效等价类.

⑤在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则).

⑥在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类.

3)原则:

设计测试用例:在确立了等价类后,可建立等价类表,列出所有划分出的等价类:

输入条件有效等价类无效等价类

... ... ...

... ... ...

然后从划分出的等价类中按以下三个原则设计测试用例:

为每一个等价类规定一个唯一的编号.

设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步.直到所有的有效等价类都被覆盖为止.

设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步.直到所有的无效等价类都被覆盖为止.

之所以这么做,是因为程序中对于某一个错误输入的检查,往往会屏蔽对于其他错误输入的检查。因此,必须针对每一个无效等价类分别设计测试用例

实例

1、保险费率计算

人人保险公司承担人寿保险已有多年历史,该公司保费计算方式为投保额*保险率,保险率又依点数不同而有别,10 点以上费率为% ,10 点以下费率为% :

一、分析输入数据型式。

年龄:一或两位数字。

性别:以英文「Male 」、Female 」、「M 」、「 F 」表示。

婚姻:「已婚」、「未婚」。

扶养人数:空白或一位数字。

保险费率:10 点以上,10 点以下。

四、根据以上分析设计测试用例:

边界值分析法

理论知识

边界值分析方法是对等价类划分方法的补充,也是一种黑盒测试方法,适度等价类分析方法的一种补充,由长期的测试工作经验得知,大量的错误是发生在输入或输出的边界上。因此针对各种边界情况设计测试用例,可以查出更多的错误。

(1)边界值分析方法的考虑:

长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.

使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.

(2)基于边界值分析方法选择测试用例的原则:

1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据.

2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据. 3)根据规格说明的每个输出条件,使用前面的原则1).

4)根据规格说明的每个输出条件,应用前面的原则2).

5)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例.

6)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例.

7)分析规格说明,找出其它可能的边界条件.

实例

找零钱最佳组合

假设商店货品价格(R) 皆不大于100 元(且为整数),若顾客付款在100 元内(P) ,求找给顾客之最少货币个(张)数(货币面值50 元(N50) ,10 元(N10) ,5 元(N5) ,1 元(N1) 四种)

一、分析输入的情形。

R > 100

0 < R < = 100

R <= 0

P > 100

R<= P <= 100

P < R

二、分析输出情形。

N50 = 1

N50 = 0

4 > N10 >= 1

N10 = 0

N5 = 1

N5 = 0

4 > N1 >= 1

N1 = 0

三、分析规格中每一决策点之情形,以RR1, RR2, RR3 表示计算要找50, 10,

5 元货币数时之剩余金额。R > 100R <= 0

P > 100

P < R

RR1 >= 50

RR2 >= 10

RR3 >= 5

四、由上述之输入/输出条件组合出可能的情形。

R > 100

R <= 0

0 < R <= 100, P > 100

0 < R <= 100, P < R

0 < R <= 100, R <= P <= 100, RR = 50

0 < R <= 100, R <= P <= 100, RR = 49

0 < R <= 100, R <= P <= 100, RR = 10

0 < R <= 100, R <= P <= 100, RR = 9

0 < R <= 100, R <= P <= 100, RR = 5

0 < R <= 100, R <= P <= 100, RR = 4

0 < R <= 100, R <= P <= 100, RR = 1

0 < R <= 100, R <= P <= 100, RR = 0

五、为满足以上之各种情形,测试资料设计如下:

1. 货品价格= 101

2. 货品价格= 0

3.货品价格= -1

4. 货品价格= 100, 付款金额= 101

5. 货品价格= 100, 付款金额= 99

6. 货品价格= 50, 付款金额= 100

7. 货品价格= 51, 付款金额= 100

8. 货品价格= 90, 付款金额= 100

9. 货品价格= 91, 付款金额= 100

10. 货品价格= 95, 付款金额= 100

11. 货品价格= 96, 付款金额= 100

12. 货品价格= 99, 付款金额= 100

13. 货品价格= 100, 付款金额= 100

错误推测法

1、定义:基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法.

2、错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。

1)例如, 输入数据和输出数据为0的情况;输入表格为空格或输入表格只有一行。这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例。

2)例如,前面例子中成绩报告的程序,采用错误推测法还可补充设计一些测试用例:

I.程序是否把空格作为回答

II.在回答记录中混有标准答案记录

III.除了标题记录外,还有一些的记录最后一个字符即不是2也不是3

IV.有两个学生的学号相同

V.试题数是负数。

3)再如,测试一个对线性表(比如数组)进行排序的程序,可推测列出以下几项需要特别测试的情况:

I.输入的线性表为空表;

II.表中只含有一个元素;

III.输入表中所有元素已排好序;

IV.输入表已按逆序排好;

V.输入表中部分或全部元素相同。

因果图方法

理论知识

前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况. 但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图(逻辑模型).

因果图方法最终生成的就是判定表. 它适合于检查程序输入条件的各种组合情况.

利用因果图生成测试用例的基本步骤:

(1) 分析软件规格说明描述中, 那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件), 并给每个原因和结果赋予一个标识符.

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

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

(4) 把因果图转换为判定表.

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

从因果图生成的测试用例(局部,组合关系下的)包括了所有输入数据的取TRUE与取FALSE的情况,构成的测试用例数目达到最少,且测试用例数目随输入数据数目的增加而线性地增加.

前面因果图方法中已经用到了判定表.判定表(Decision Table)是分析和表达多逻辑条件下执行不同操作的情况下的工具.在程序设计发展的初期,判定表就已被当作编写程序的辅助工具了.由于它可以把复杂的逻辑关系和多种条件组合的情况表达得既具体又明确.

判定表通常由四个部分组成.

条件桩(Condition Stub):列出了问题得所有条件.通常认为列出得条件的次序无关紧要.

动作桩(Action Stub):列出了问题规定可能采取的操作.这些操作的排列顺序没有约束.

条件项(Condition Entry):列出针对它左列条件的取值.在所有可能情况下的真假值.

动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作.

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

判定表的建立步骤:(根据软件规格说明)

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

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

③填入条件项.

④填入动作项.等到初始判定表.

⑤简化.合并相似规则(相同动作).

B. Beizer 指出了适合使用判定表设计测试用例的条件:

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

②条件的排列顺序不会也不影响执行哪些操作.

③规则的排列顺序不会也不影响执行哪些操作.

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

⑤如果某一规则得到满足要执行多个操作,这些操作的执行顺序无关紧要.

符号

实例

实例一

某软件规格说明中包含这样的要求:

第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改。但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。

分开原因和结果

原因:1----第一列字符是A;

2----第一列字符是B;

3----第二列字符是一数字。

结果:21----修改文件;

22----给出信息L;

23----给出信息M。

实例二

此例子是讲解利用因果图设计测试用例的一个小例子。以中国象棋中走马的测试用例设计为例学习因果图的使用方法。

分析中国象棋中走马的实际情况(下面未注明的均指的是对马的说明)

1、如果落点在棋盘外,则不移动棋子;

2、如果落点与起点不构成日字型,则不移动棋子;

3、如果落点处有自己方棋子,则不移动棋子;

4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;

5、如果不属于1-4条,且落点处无棋子,则移动棋子;

6、如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子;7如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。

根据分析明确原因和结果

原因:

落点在棋盘上;

落点与起点构成日字;

落点处为自己方棋子;

落点方向的邻近交叉点无棋子;

落点处无棋子;

落点处为对方棋子(非老将);

落点处为对方老将。

结果:

21、不移动棋子;

22、移动棋子;

23、移动棋子,并除去对方棋子;

24、移动棋子,并提示战胜对方,结束游戏。

添加中间节点11,目的是作为导出结果的进一步原因,简化因果图导出的判定表

考虑结果不能同时发生,所以对其施加唯一约束O。原因5、6、7不能同时发生,所以对其施加异约束E.

12345678910111213141516

原因10101010101010101 20011001100110011 30000111100001111 40000000011111111

结果110000000100000000 211111111011111111

123456789`0111213141516

原因110101010101010101 50011001100110011 60000111100001111 70000000011111111

结果220010000 230000100 240000001

发生的现象;3、通过中间节点将用例的判定表简化为两个小表。减少工作量。

四、根据判定表写测试用例表(略)

路径覆盖

熟悉测试理论的人都知道,路径覆盖是白盒测试中一种很重要的方法,广泛应用于

单元测试。那么基于路径覆盖的分析方法是不是只能应用于单元测试呢,能不能将其推而广之呢。一般而言,在单元测试中,路径就是指函数代码的某个分支,而实际上如果我们将软件系统的某个流程也看成路径的话,我们将可以尝试着用路径分析的方法来设计测试用例。采用路径分析的方法设计测试用例有两点好处:一是降低了测试用例设计的难度,只要搞清了各种流程,就可以设计出高质量的测试用例来,而不用太多测试方面的经验;二是在测试时间较紧的情况下,可以有的放矢的选择测试用例,而不用完全根据经验来取舍。下面就具体的介绍一下如何用路径分析的方法编写测试用例。

首先是将系统运行过程中所涉及到的各种流程图表化,可以先从最基本的流程入手,将流程抽象成为不同功能的顺序执行。在最基本流程的基础上再去考虑次要或者异常的流程,这样将各种流程逐渐细化,这样既可以逐渐加深对流程的理解,还可以将各个看似孤立的流程关联起来。完成所有流程的图表化后就完成了所有路径的设定。

找出了所有的路径,下面的工作就是给每条路径设定优先级,这样在测试时就可以先测优先级高的,再测优先级低的,在时间紧迫的情况下甚至可以考虑忽略一些低优先级的路径。优先级根据两个原则来选取:一是路径使用的频率,使用越频繁的优先级越高;二是路径的重要程度,如果失败对系统影响越大的优先级越高。将根据两个原则所分别得到的优先级相加就得到了整个路径的优先级。根据优先级的排序就可以更有针对性的进行测试。

为每条路径设定好优先级后,接下来的工作就是为每条路径选取测试数据,构造测试用例。一条路径可以对应多个测试用例,在选取测试数据时,可以充分利用边界值选取等方法,通过表格将各种测试数据的输入输出对应起来,这样就完成了测试用例的设计。

对于测试人员而言,测试用例的设计是一件非常困难的工作,而同时测试用例的设计好坏又直接关系到整个系统的设计质量。本文介绍了一种更理论化的设计方法来尽量简化这种工作,将一般应用于单元测试的路径分析方法推广到集成测试、系统测试等后续测试过程中,希望能给大家一点启示。

功能图

功能图方法是一种黑盒、白盒混合用例设计方法,是功能图FD形式化地表示程序的功能说明,并机器地生成功能图的测试用例。功能图模型由状态迁移图和逻辑功能模型构成。

状态迁移图用于表示输入数据序列以及相应的输出数据。在状态迁移图中,由输入数据和当前状态决定输出数据和后续状态。

逻辑功能模型用于表示在状态输入条件和输出条件之间的对应关系。逻辑功能模型只适合于描述静态说明,输出数据仅由输入数据决定。测试用例则由测试中的一系列状态和在每个状态中必须依靠输入/输出数据满足的一对条件组成。

(1)功能图:功能图由状态迁移图和布尔函数组成。状态迁移图用状态和迁移来描述。一个状态指出数据输入的位置(或时间),而迁移则指明状态的改变,同时要依靠判定表或是因果图表示的逻辑功能。例如,一个简化的自动出纳ATM机的功能图。

(2)测试用例生成方法:从功能图生成测试用例,得到的测试用例数是可以接受的。问题的关键是如何从状态迁移图中选取测试用例。若用节点代替状态,用弧线代替迁移,则状态迁移图就可转化成一个程序的控制流程图形式。问题就转化为程序的路径测试问题了。

(3)测试用例生成规则:为了把状态迁移的测试用例与逻辑模型的测试用例相组合起来,从功能图生成生成实用的测试用例,需定义下面的规则。在一个结构化的迁移(SST)中,定义三种形式的循环:顺序、选择和重复。但分辨一个状态迁移中的所有循环是有困难的。

(4)从功能图生成测试用例的过程。

A、生成局部测试用例:在每个状态中,从因果图生成局部测试用例。局部测试用例由原因值(输入数据)组合与对应的结果值(输出数据或状态)构成。

B、测试路径生成:利用上面的规则(3种)生成从初始状态到最后状态的测试路径。

C、测试用例合成:合成测试路径与功能图中每个状态的局部测试用例。结果是初始状态到最后状态的一个状态序列,以及每个状态中输入数据与对应输出数据的组合。

D、测试用例的合成算法:采用合成构造树。

正交试验设计法

理论知识

1、什么是因素(Factor在一项试验中,凡欲考察的变量称为因素(变量)

2、什么是水平(位级Level在试验范围内,因素被考察的值称为水平(变量的取值)

3、什么是正交试验设计

是研究多因素多水平的一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了均匀分散,齐整可比的特点,正交试验

设计是一种基于正交表的、高效率、快速、经济的试验设计方法

4、正交表的构成正交表的构成

行数(Runs):正交表中的行的个数,即试验的次数

因素数(Factors):正交表中列的个数。

水平数:任何单个因素能够取得的值的最大个数。

正交表中的包含的值为从最大个数。正交表中的包含的值为从0到数到数“水平水平数-1”或从或从1到“水平数水平数”。

正交表的表示形式:L行数(水平数因素数)

正交表的正交性

整齐可比性

在同一张正交表中,每个因素的每个水平出现次数是完全相同的。由于在试验中每个因素的每个水平与其它因素的每个水平参与试验的机率是完全相同的,这就保证在各个水平中最大程度的排除了其它因素水平的干扰。因而,能最有效地进行比较和作出展望,容易找到好的试验条件进行。

均衡分散性

在同一张正交表中,任意两列(两个因素)的水平搭配(横向形成的数字对)是完全相同的。这样就保证了试验条件均衡地分散在因素水平的完全组合之中,因而具有很强的代表性,容易得到好的试验条件。

三、用正交表设计测试用例

用正交表设计测试用例的步骤

1 有哪些因素(变量)

2 每个因素有哪几个水平(变量的取值)

3 选择一个合适的正交表

4 把变量的值映射到表中

5 把每一行的各因素水平的组合做为一个测试用例

6 加上你认为可疑且没有在表中出现的组

如何选择正交表

考虑因素(变量)的个数

考虑因素水平(变量的取值)的个数

考虑正交表的行数

取行数最少的一个

设计测试用例时的三种情况

1 因素数(变量)、水平数(变量值)相符

2 因素数不相同

3 水平数不相同

因素数、水平数相符因素数、水平数相符

水平数(变量的取值)相同、因素数(变量)刚好符合正交表。实例

一、对某人进行查询

1、假设查询某个人时有三个查询条件:

根据“姓名”进行查询

根据“身份证号码”查询

根据“手机号码”查询

考虑查询条件要么不填写,要么填写,此时可用正交表进行设计

2、因素数和水平数

有三个因素:

姓名、身份证号、手机号码

每个因素有两个水平

姓名:填、不填

身份证号:填、不填

手机号码:填、不填

3、选择正交表

表中的因素数>=3

表中至少有三个因素的水平数>=2

行数取最少的一个结果:

4、变量映射

姓名:0....填写,1....不填写

身份证号:0....填写,1....不填写

手机号码:0....填写,1....不填写

5、用L4(23) 设计的测试用例

测试用例如下:

1:填写姓名、填写身份证号、填写手机号

2:填写姓名、不填身份证号、不填手机号

3:不填姓名、填写身份证号、不填手机号

4:不填姓名、不填身份证号、填写手机号

增补测试用例

5:不填姓名、不填身份证号、不填手机号

测试用例减少数:8 5

6、因素数不相同

水平数(变量的取值)相同但在正交表中找不到相同的因素数(变量)(取因素数(取因素数最接近但略大的实际值的表)

场景设计方法

理论知识:

现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。

基本流和备选流:如下图所示,图中经过用例的每条路径都用基本流和备选流来表示,直黑线表示基本流,是经过用例的最简单的路径。备选流用不同的色彩表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流1和3);也可能起源于另一个备选流(如备选流2),或者终止用例而不再重新加入到某个流(如备选流2和4)。

实例

1.例子描述

下图所示是ATM例子的流程示意图。

2.场景设计:下表所示是生成的场景。

表3-8

场景1——成功提款基本流

场景2——ATM内没有现金基本流备选流2

场景3——ATM内现金不足基本流备选流3

场景4——PIN有误(还有输入机会)基本流备选流4

场景5——PIN有误(不再有输入机会)基本流备选流4

场景6——账户不存在/账户类型有误基本流备选流5

场景7——账户余额不足基本流备选流6

3.用例设计

对于这7个场景中的每一个场景都需要确定测试用例。可以采用矩阵或决策表来确定和管理测试用例。下面显示了一种通用格式,其中各行代表各个测试用例,而各列则代表测试用例的信息。本示例中,对于每个测试用例,存在一个测试用例ID、条件(或说明)、测试用例中涉及的所有数据元素(作为输入或已经存在于数据库中)以及预期结果。

TC(测

试用例)ID号场景/条件PIN账号

输入(或

选择)的

金额

账面

金额

ATM内

的金额

预期结果

CW1场景1:成功提款V V V V V成功提款

CW2场景2:ATM内没

有现金

V V V V I

提款选项不可

用,用例结束

CW3场景3:ATM内现

金不足

V V V V I

警告消息,返回

基本流步骤6,

输入金额

CW4场景4:PIN有误(还

有不止一次输入机

会)

I V n/a V V

警告消息,返回

基本流步骤4,

输入PIN

CW5场景4:PIN有误(还

有一次输入机会)

I

V n/a V V

警告消息,返回

基本流步骤4,

4.数据设计

一旦确定了所有的测试用例,则应对这些用例进行复审和验证以确保其准确且适度,并取消多余或等效的测试用例。

测试用例一经认可,就可以确定实际数据值(在测试用例实施矩阵中)并且设定测试数据,如表3-10所示。

取行数最少的一个

软件测试用例实例(非常详细)

软件测试用例实例(非常详细)

1、兼容性测试 在大多数生产环境中,客户机工作站、网络连接和数据库服务器的具体硬件规格会有所不同。客户机工作站可能会安装不同的软件例如,应用程序、驱动程序等而且在任何时候,都可能运行许多不同的软件组合,从而占用不同的资源。测试 目的 配置说明操作系 统 系统 软件 外设应用软件结果 服务器Windo w2000( S) Windo wXp Windo w2000( P) Windo w2003 用例编号TestCase_LinkWorks_W orkEvaluate

项目名称LinkWorks 模块名称WorkEvaluate模块 项目承担部门研发中心-质量管理部用例作者 完成日期2005-5-27 本文档使用部门质量管理部 评审负责人 审核日期 批准日期 注:本文档由测试组提交,审核由测试组负责人签字,由项目负责人批准。历史版本: 版本/状态作者参与者起止日期备注 V1.1

1.1. 疲劳强度测试用例 强度测试也是性能测试是的一种,实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误。如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷。而其他缺陷则可能由于争用共享资源(如数据库锁或网络带宽)而造成的。强度测试还可用于确定测试对象能够处理的最大工作量。测试目的 测试说明 前提条件连续运行8小时,设置添加 10用户并发 测试需求输入/ 动作 输出/响应是否正常运行 功能1 2小时 4小时 6小时 8小时功能1 2小时 4小时 6小时 8小时

一、功能测试用例 此功能测试用例对测试对象的功能测试应侧重于所有可直接追踪到用例或业务功能和业务规则的测试需求。这种测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则的实施是否恰当。主要测试技术方法为用户通过GUI (图形用户界面)与应用程序交互,对交互的输出或接受进行分析,以此来核实需求功能与实现功能是否一致。

软件测试中的测试用例设计方法

软件测试中的测试用例设计方法测试用例是软件测试中的重要组成部分,它用于验证软件是否满足特定的需求和功能。测试用例设计方法可以帮助测试人员有效地编写和执行测试用例,以确保软件质量的提高。本文将介绍软件测试中常用的测试用例设计方法。 一、黑盒测试用例设计方法 1. 等价类划分法 等价类划分法是一种常用的黑盒测试用例设计方法,将输入数据划分为等价类,然后选择代表性的测试用例进行测试。例如,对于一个要求输入1到100之间的整数的软件模块,可以将输入数据划分为三个等价类:小于1的整数、1到100之间的整数和大于100的整数。然后可以选择代表性的测试用例来覆盖每个等价类,例如输入-1、50和101。 2. 边界值法 边界值法是在等价类划分的基础上,选择边界值作为测试用例的设计方法。边界值是指等价类的边界值和临界值。例如,对于一个要求输入1到100之间的整数的软件模块,可以选择的边界值为1和100,以及临界值0和101。通过选择这些边界值和临界值作为测试用例,可以更好地发现潜在的错误。 3. 决策表法

决策表法是一种描述输入条件和输出结果之间关系的表格工具。测试人员根据需求和规格书编制决策表,然后根据决策表来设计测试用例。将所有的输出结果列在决策表的竖列上,将所有的输入条件列在决策表的横列上,每个单元格表示特定的输入条件组合对应的输出结果。通过设计覆盖决策表中的各个可能组合的测试用例,可以全面测试软件的功能。 二、白盒测试用例设计方法 1. 语句覆盖法 语句覆盖法是一种基本的白盒测试用例设计方法,它要求覆盖软件的每一条语句,以确保每个语句都被执行到。测试人员通过设计测试用例,使得每条语句都至少执行一次。这种方法可以帮助测试人员发现语法错误和逻辑错误。 2. 判定覆盖法 判定覆盖法是在语句覆盖的基础上增加条件覆盖的测试用例设计方法。它要求每个条件都取到真值和假值,并覆盖每个条件的组合,以保证每个条件的所有可能性都被测试到。通过设计判定覆盖的测试用例,可以揭示软件的逻辑错误。 3. 条件覆盖法 条件覆盖法是一种更细粒度的白盒测试用例设计方法,它要求每个条件都取到真值和假值,并覆盖每个条件的所有组合。与判定覆盖法不同的是,条件覆盖法还要求每个条件独立地取到真值和假值,以测

测试用例设计的方法

测试用例设计的方法 测试用例设计是软件测试中的重要环节,它旨在验证软件系统的正确性和稳定性。一个好的测试用例设计可以帮助测试人员高效地发现和修复软件中的缺陷,确保软件质量。下面将介绍几种常用的测试用例设计方法。 1. 边界值分析法 边界值分析法通过测试边界值来检验系统的健壮性。该方法假设错误往往发生在边界上,因此对于特定输入条件,测试用例应包括最小值、最大值以及接近最小值和最大值的临界值。例如,一个接受年龄输入的系统,可以设计测试用例包括负数、0、1、100、101等边界值。 2. 等价类划分法 等价类划分法是将输入条件划分为多个等价类,然后从每个等价类中选择一个测试用例进行测试。等价类划分法的基本原则是:一个等价类中的数据具有相同的功能和行为,无论选择其中的哪个值作为输入,系统的行为都应该是一致的。例如,对于一个接受月份输入的系统,可以将月份划分为等价类:1-12个月是有效的输入,其他数字和非数字是无效的输入。 3. 成对测试法

成对测试法是一种组合测试方法,它通过组合两个或多个输入条 件来设计测试用例,以验证系统对不同条件的组合是否正确处理。该 方法适用于系统具有多个输入条件的场景。例如,一个在线商城系统,会有多种支付方式和配送方式,可以设计不同的测试用例来测试各种 支付和配送方式的组合效果。 4. 状态转换法 状态转换法适用于测试有状态的系统,例如有限状态机、状态驱 动的系统等。它通过设计测试用例来验证系统在不同状态下的行为是 否符合预期。测试用例应包括系统从一个状态转换到另一个状态的过程,以及在每个状态下系统的行为。例如,一个电梯系统的状态可以 包括:停止、上升、下降等,可以设计测试用例来测试系统在不同状 态下的响应和行为。 综上所述,测试用例设计是软件测试中非常重要的一环。通过边 界值分析法、等价类划分法、成对测试法和状态转换法等方法,可以 设计出全面、有效的测试用例。测试人员可以根据具体的系统特点和 需求,选择合适的方法来进行测试用例设计,以提高测试效率和发现 软件中的缺陷。

测试用例的设计

§1.1测试用例的设计 一.测试用例: 是以发现错误为目的而精心设计的一组测试数据,测试用例={输入数据+期望结构} 二.黑盒测试方法:以程序功能作为测试依据 1.等价分类法: 把被测程序的输入域划分为若干各等价类,每个测试用例都代表一类与它等价的其他例子。 ⏹步骤: 1)划分等价类并给出定义(如果用这个例子来发现程序错误, 则与其等价的其他例子一般也不会发现程序错误)。 2)选择测试用例(原则:有效等价类的测试用例尽量公用,以 期进一步减少测试次数;无效等价类必须每类一例,以防漏 掉本来可能发现的错误)。 ⏹举例: 某城市的电话号码由3部分组成,这3部分的名称和内容为: 地区码:空白或3位数字; 前缀:非‘0’或‘1’开头的3位数字; 后缀:4位数字。 假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不 符合规定的号码,试用等价分类法设计它的测试用例。 第一步:划分等价类。 下表列出了划分的结果,包括4个有效等价类,11个无 效等价类。在每一等价类之后均加有编号,以便识别 输入条件有效等价类无效等价类 地区码空白错误!未找到 引用源。;3位数字 错误!未找到引用 源。 有非数字字符错误!未找到引用 源。;少于3位数字错误!未找到 引用源。;多于3位数字错误!未 找到引用源。; 前缀从200到999之间有非数字字符错误!未找到引用

的3位数字错误!未找到引用源。源。;起始位为‘0’错误!未找到引用源。;起始位为‘1’错误!未找到引用源。;少于3位数字(11);多于3位数字(12); 后缀4位数字错误!未找 到引用源。 有非数字字符(13);少于4位数 字(14);多于4位数字(15); 第二步:确定测试用例。 上表中有4个有效等价类,可以公用以下两个测试用例: 测试数据测试范围期望结果 ()276-2345 等价类错误!未找到引用源。、 错误!未找到引用源。、错误! 未找到引用源。 有效 (635)805-9321 等价类错误!未找到引用源。、 错误!未找到引用源。、错误! 未找到引用源。 有效 对11个无效等价类,应选择11个测试用例。例如前3 个无效等价类可能使用下列3个测试用例: 测试数据测试范围期望结果(20A)123-4567 等价类错误!未找到引用源。无效 (33 )234-5678 等价类错误!未找到引用源。无效 (7777)345-6789 等价类错误!未找到引用源。无效2.边界值分析法: 在等价分类法中,将代表一个类的测试数据选在等价类的边界上。(如:X<=400)。 3.错误推测法: 猜测被测试程序中那些地方容易出错,并据此设计测试用例。 ⏹说明:等价类和边界值法有线索可导,而猜错误则依赖测试人员 的直觉和经验,仅作为辅助手段,即应首先用其他方法设计测试 用例,再用猜错误来补充。 ⏹举例: 当对一个排序程序进行测试时,可先用边界值分析法设计以下的 测试用例: 1)输入表为空表; 2)输入表中仅有一个数据;

用例设计的常见方法

测试用例设计方法 一、等价类划分 等价类划分主要适用于单个输入条件,输入为数值型的情况,如果输入规定了输入区间,可划分出一个有效等价类,两个无效等价类;如果输入只规定了输入范围,可划分出一个有效等价类,一个无效等价类。 二、边界值 边界值方法也是适用于单个输入条件的情况,输入类型可以数值、字符等,要测试的边界包括上点、下点、离点。 三、错误推测法 错误推测法主要是测试设计人员的测试经验相关,测试经验不同,设计出来的测试用例也区别很大。 四、因果图法 因果图方法考虑输入的组合,特别适用于多个输入条件相关有关联又相互约束的情况。 设计步骤: 1)罗列出输入与输出; 2)根据输入与输出画出因果图; 3)标出约束跟限制; 4)把因果图转化成判定表; 5)根据判定表的每一列设计测试用例。 五、判定表驱动法 判定表适合于解决多个逻辑条件的组合。将各种逻辑的组合罗列出来,避免遗漏。不能

表达重复的操作。 判定表包括条件桩、条件项、动作桩、动作项。 条件桩:列出所有条件,次序无关; 条件项:列出所对应条件的所有可能情况下的取值; 动作桩:列出可能采取的操作,次序无关; 动作项:列出条件项各种取值情况下采取的操作。 设计步骤: 1)确定规则个数,条件及各条件取值的组合; 2)列出条件桩、动作桩; 3)列出条件项; 4)列出动作项; 5)初始化判定表; 6)规则简化、合并。 六、正交法 当输入条件很多时,因果图等设计方法设计出来的用例数往往多的惊人,用正交法可有效减少用例数。正交法的核心思想是从大量测试数据中选取有代表性的点来测试,从而减少测试用例数。 设计步骤: 1)确定因子并画出正交表草图; 2)填充各因子的状态值; 3)加权筛选; 4)根据筛选过的正交表设计测试用例。

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

测试用例八大设计方法和实例 测试用例设计是软件测试中的一个重要环节,用于检测软件是否符合 预期的要求以及发现潜在的缺陷。在测试用例设计过程中,常常会使用到 八大设计方法,包括等价类划分法、边界值分析法、错误猜测法、因果图法、决策表测试法、状态转换测试法、路径测试法和场景测试法。下面将 对这八大设计方法进行详细介绍,并给出相应的实例。 1.等价类划分法: 等价类划分法是根据输入值的有效类别来设计测试用例的方法。根据 输入值的特征和限制条件,将输入值划分为等价类,每个等价类中的输入 值具有相同的功能和行为,只需选择一个典型的输入值进行测试即可。例如,对一个要求输入0-100之间的整数的程序,可以划分为三个等价类: 小于0的整数、0-100之间的整数以及大于100的整数。 2.边界值分析法: 边界值分析法是根据输入值的边界情况进行测试用例设计的方法。通 常在输入值的边界处可能存在错误和异常的情况,因此需要特别关注这些 边界条件。例如,对一个要求输入1-100之间的整数的程序,可以选择1、100两个边界值以及1和100之间的数作为测试用例。 3.错误猜测法: 错误猜测法是通过猜测可能存在的错误,设计测试用例来验证系统是 否能正常处理这些错误情况。例如,在一个登录系统中,可以猜测用户输 入错误的用户名或密码,然后设计对应的测试用例来测试系统是否能正确 地处理这些错误情况。

4.因果图法: 5.决策表测试法: 决策表测试法是通过建立决策表,来设计测试用例的方法。决策表是一种用于描述系统决策逻辑的表格,其中包含了系统所有的输入条件和相应的输出结果。通过对决策表进行覆盖分析,设计出相应的测试用例。例如,在一个银行系统中,可以根据不同的账户类型、账户余额和交易金额等因素,设计测试用例来测试不同交易类型的处理逻辑。 6.状态转换测试法: 状态转换测试法是适用于状态机模型的一种测试方法。状态机是描述系统行为的一种图形化表示方法,通过对状态之间的转换进行测试用例设计。例如,在一个游戏中,有不同的游戏状态,如开始状态、进行中状态和结束状态等,可以设计测试用例来测试状态之间的转换,以验证系统是否能正常地处理这些状态转换。 7.路径测试法: 路径测试法是通过分析系统的程序流程图,设计测试用例来覆盖程序的所有路径。根据程序的复杂程度和路径的覆盖要求,选择合适的路径进行测试。例如,在一个银行系统中,可以通过路径测试法,设计测试用例来覆盖用户登录、账户查询和交易操作等不同的路径。 8.场景测试法: 场景测试法是通过设计场景来模拟真实的使用环境,设计测试用例进行测试。场景是描述系统使用情况的一种故事化描述,通过模拟用户的真实操作来设计测试用例。例如,在一个在线购物系统中,可以设计场景来

软件测试的测试用例设计方法

软件测试的测试用例设计方法软件测试是确保软件产品质量的重要环节,而测试用例是软件测试 的核心。测试用例设计方法则是指定测试用例的过程和技术。本文将 介绍几种常用的软件测试的测试用例设计方法。 一、黑盒测试 黑盒测试是一种功能性测试方法,它主要关注软件的输入和输出, 而不考虑软件的实现细节。在黑盒测试中,测试人员不需要了解软件 的内部结构和代码,只需根据软件的规格说明书设计测试用例。常见 的黑盒测试方法包括等价类划分、边界值分析和决策表等。 1. 等价类划分法 等价类划分法是一种常用的黑盒测试设计方法。在等价类划分法中,将输入数据分为不同的等价类,从每个等价类中选择一个有效值和一 个无效值作为测试用例。例如,对于一个要求输入年龄的软件,可以 将输入数据划分为小于0、0到200和大于200三个等价类,从每个等 价类中选择一个测试用例进行测试。 2. 边界值分析法 边界值分析法也是一种常用的黑盒测试设计方法。它关注的是软件 的边界条件。在边界值分析法中,将输入数据的边界情况作为测试用例。例如,对于一个要求输入1到100之间的数字的软件,可以选择1、100和2个边界值进行测试。

3. 决策表 决策表是一种用于描述输入条件、输出条件和规则的表格。它可以帮助测试人员全面地设计测试用例。在使用决策表设计测试用例时,可以先列出所有可能的条件和规则,并根据实际需求选择合适的测试用例进行测试。 二、白盒测试 白盒测试是一种结构性测试方法,它需要测试人员了解软件的内部结构和代码。在白盒测试中,测试人员会根据软件的内部逻辑结构设计测试用例。常见的白盒测试方法包括语句覆盖、路径覆盖和判定覆盖等。 1. 语句覆盖 语句覆盖是一种简单直观的白盒测试设计方法。它要求测试用例能够覆盖软件中的每一个语句。测试人员需要设计足够的测试用例,使得每一个语句都至少执行一次。 2. 路径覆盖 路径覆盖是一种更为复杂的白盒测试设计方法。它要求测试用例能够覆盖软件中的每一条路径。测试人员需要了解软件的控制流图和程序逻辑,设计能够覆盖所有路径的测试用例。 3. 判定覆盖

软件测试用例

软件测试用例 在软件开发过程中,软件测试是一个重要的环节。软件测试用例作为测试的基础,是衡量软件测试质量的重要标准。本文将从测试用例的定义、分类、设计方法、执行流程及优化方向等方面进行讨论。 一、测试用例的定义与分类 测试用例是对软件进行测试目的、过程和方法的描述,即测试计划的具体实现。它可以被看作软件测试的执行单元,也是对被测软件可靠性的度量。测试用例可以从不同的维度来进行分类,以适应不同的测试需求。根据不同维度,一般可分为以下几类。 1. 功能测试用例 该类测试用例主要测试系统各种功能点和功能流程,以保证系统能够满足用户要求。 2. 性能测试用例

该类测试用例主要测试系统的性能指标,如响应速度、吞吐量、并发性能、负载测试等,以保证系统性能能够满足用户要求。 3. 安全测试用例 该类测试用例主要测试系统的安全性能指标,如数据保护、身份认证、权限管理等,以保证系统安全性能能够满足用户要求。 4. 兼容性测试用例 该类测试用例主要测试系统在不同的硬件、软件环境下能够兼容性能要求,以保证系统能够在各种环境下正常运行。 二、测试用例的设计方法 测试用例设计是建立测试用例的过程,目的是确保测试能够全面、高效地对被测软件进行覆盖以及发现潜在缺陷。测试用例设计方法一般有以下几种。

1. 等价类划分法 等价类划分法是一种基于功能模块的划分方法,将数据划分成若干等价类,同一等价类的数据在程序中的处理过程是相同的,因此只需选择一个代表数据即可。 2. 边界值分析法 边界值分析法是一种基于数据范围的划分方法,将数据的范围分为若干区域,选择每个区域的边界值作为测试数据,以发现程序中可能出现的边界问题。 3. 因果图法 因果图法是一种基于功能模块和数据范围的划分方法,可以对功能模块、输入、输出以及其他条件进行分析,从而建立因果关系,设计测试用例。 三、测试用例的执行流程

软件测试用例设计

软件测试用例设计 一、测试用例设计的目标 测试用例设计的目标是在覆盖尽可能多的应用场景的同时,尽可能发 现更多的软件缺陷。具体来说,测试用例设计的目标包括以下几个方面: 1.提高软件质量:通过设计有效的测试用例,能够发现软件中的潜在 缺陷,从而提高软件的质量。 2.降低测试成本:通过设计可重复执行的测试用例,能够减少测试的 时间和成本。 3.提高测试效率:通过设计具有高效覆盖能力的测试用例,能够提高 测试的效率。 4.明确测试范围:通过设计详细的测试用例,能够明确测试工作的范 围和目标。 二、测试用例设计的步骤 测试用例设计主要包括以下几个步骤: 1.确定测试目标:根据软件需求和设计文档,确定测试的目标和范围,明确要测试的功能、性能、可靠性和安全性等方面。 2.划分测试等价类:根据输入条件和输出结果的特点,划分测试等价类,即将具有相同测试结果的输入条件划分为一组。 3.设计测试用例:根据测试等价类和测试目标,设计具体的测试用例,包括输入数据、执行步骤和预期结果等信息。

4.确定测试数据:根据测试用例的设计,确定测试数据,包括正常情 况下的数据和异常情况下的数据。 5.编写测试脚本:根据测试用例的设计和测试数据的确定,编写测试 脚本,用于自动化执行测试用例。 6.执行测试用例:根据测试脚本,执行测试用例,记录测试结果和执 行日志,发现并报告软件缺陷。 7.评估测试覆盖率:通过评估测试覆盖率,判断测试用例的设计是否 完备,是否覆盖了所有的功能、性能、可靠性和安全性等方面。 三、测试用例设计的方法 测试用例设计的方法主要包括以下几种: 1.边界值分析法:边界值分析法是一种基于边界条件设计测试用例的 方法。该方法主要通过选择边界值和非边界值来设计测试用例,可以有效 地覆盖不同的场景。 2.等价类划分法:等价类划分法是一种基于等价类设计测试用例的方法。该方法主要通过将具有相同测试结果的输入条件划分为一组来设计测 试用例,可以有效地减少测试用例的数量。 3.错误推测法:错误推测法是一种基于错误假设设计测试用例的方法。该方法主要通过推测软件中可能存在的错误和缺陷,从而设计测试用例, 可以有效地发现软件中的潜在问题。 4.因果图法:因果图法是一种基于因果关系设计测试用例的方法。该 方法主要通过分析软件中不同功能之间的因果关系,从而设计测试用例, 可以有效地发现软件中的逻辑错误和功能缺陷。

软件测试-测试用例的经典例子

软件测试-测试用例的经典例子 一、等价类划分 问:某程序规定:"输入三个整数 a、 b、 c分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算… "。用等价类划分方法为该程序进行测试用例设计。(三角形问题的复杂之处在于输入与输出之间的关系比较复杂。) 解: 分析题目中给出和隐含的对输入条件的要求: (1)整数 (2)三个数 (3)非零数 (4)正数 (5)两边之和大于第三边 (6)等腰 (7)等边 如果 a、 b 、 c满足条件( 1 ) ~ ( 4 ),则输出下列四种情况之一: 1)如果不满足条件(5),则程序输出为 " 非三角形 " 。 2)如果三条边相等即满足条件(7),则程序输出为 " 等边三角形" 。 3)如果只有两条边相等、即满足条件(6),则程序输出为 " 等腰

三角形 " 。 4)如果三条边都不相等,则程序输出为 " 一般三角形 " 。 列出等价类表并编号

覆盖有效等价类的测试用例: a b c覆盖等价类号码 3 4 5(1)--(7) 4 4 5(1)--(7),(8) 4 5 5(1)--(7),(9) 5 4 5(1)--(7),(10) 4 4 4(1)--(7),(11) 覆盖无效等价类的测试用例: 二、边界值分析法 NextDate函数的边界值分析测试用例

在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1≤mouth≤12和1≤day≤31,并设定变量year的取值范围为 1912≤year≤2050 。

软件测试用例实例非常详细

1、兼容性测试 在大多数生产环境中,客户机工作站、网络连接和数据库服务器的具体硬件规格会有所不同;客户机工作站可能会安装不同的软件例如,应用程序、驱动程序等而且在任何时候,都可能运行许多不同的软件组合,从而占用不同的资源; 测试目的 配置说明操作系统系统软件外设应用软件结果 服务器Window2000S WindowXp Window2000P Window2003 用例编号TestCase_LinkWorks_WorkEvaluate 项目名称LinkWorks 模块名称WorkEvaluate模块 项目承担部门研发中心-质量管理部 用例作者 完成日期2005-5-27 本文档使用部门质量管理部 评审负责人 审核日期 批准日期 注:本文档由测试组提交,审核由测试组负责人签字,由项目负责人批准; 历史版本: 版本/状态作者参与者起止日期备注

V1.1 1.1. 疲劳强度测试用例 强度测试也是性能测试是的一种,实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误;如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷;而其他缺陷则可能由于争用共享资源如数据库锁或网络带宽而造成的;强度测试还可用于确定测试对象能够处理的最大工作量; 测试目的 测试说明 前提条件连续运行8小时,设置添加10用户并发 功能1 2小时 4小时 6小时 8小时 功能1 2小时 4小时 6小时 8小时 一、功能测试用例 此功能测试用例对测试对象的功能测试应侧重于所有可直接追踪到用例或业务功能和业务规则的测试需求;这种测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则的实施是否恰当;主要测试技术方法为用户通过GUI图形用户界面与应用程序交互,对交互的输出或接受进行分析,以此来核实需求功能与实现功能是否一致;

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

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

测试用例设计方法 1等价类划分 1.1 理论知识 等价类划分是一种典型的黑盒测试方法。这一方法完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。 等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭示程序中的错误都是等效的。 等价类合理地假设:某个等价类的代表值,与该等价类的其他值,对于测试来说是等价的。 因此,可以把全部的输入数据划分成若干的等价类,在每一个等价类中取一个数据来进行测试。这样就能以较少的具有代表性的数据进行测试,而取得较好的测试效果。 等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方

法. 1) 分类: 划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类. 有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能. 无效等价类:与有效等价类的定义恰巧相反. 设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可

测试用例设计方法大全

软件测试用例设计方法大全 等价类划分方法 一、方法简介 1.定义 是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试用例设计方法。 2.划分等价类: 等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。 1)有效等价类 是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。 2)无效等价类 与有效等价类的定义恰巧相反。无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。 设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具有更高的可靠性。3.划分等价类的标准: 1)完备测试、避免冗余;

2)划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合; 3)并是整个集合:完备性; 4)子集互不相交:保证一种形式的无冗余性; 5)同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到"相同的执行路径"。 4.划分等价类的方法 1)在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。如:输入值是学生成绩,范围是0~100; 2)在输入条件规定了输入值的集合或者规定了"必须如何"的条件的情况下,可确立一个有效等价类和一个无效等价类; 3)在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。 4)在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。 例:输入条件说明学历可为:专科、本科、硕士、博士四种之一,则分别取这四种这四个值作为四个有效等价类,另外把四种学历之外的任何学历作为无效等价类。 5)在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则); 6)在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。

相关主题