编写测试用例的方法

MAGI的专栏 2018-05-04

1、等价类划分法

适用场景:

有数据输入的地方,就可以使用等价类划分法。如:输入框

测试思想:

从大量数据中划分范围(等价类),然后从每个范围中挑选代表数据,这些代表数据要能反应这个范围内数据的测试结果。

概念:

有效等价类:对程序来说,有意义的、合理的数据(正确的、有效的数据)

无效等价类:对程序来说,没有意义、不合理的数据(错误的、无效的数据)

例:

编写测试用例的方法

需求:

a、手机号输入框:只允许输入数字。(只拿手机号做示范Lo)

无效等价类:汉字、表情、符号、空格等

有效等价类:数字

2、边界值

适用场景:

有数据输入的地方,在实际工作中,一般和等价类划分一起适用。、

测试思想:

边界值是程序员在编程时是最容易出错的位置,所以要测试边界。

概念:

是有效等价类和无效等价类之间的分界点,叫边界值(最小值,最大值)。还要测试次边界,也就是边界值两边的数据。

例:

b、密码输入框:8-20位字符(只允许输入:字母、英文符号、数字)

边界值:8位字符、20位字符

次边界:7位字符、9位字符、19位字符、21位字符

3、因果图/判定表(不太重要,当熟练后可以直接适用判定表,不画因果图)

适用场景:

在一个界面中有多个控件,如果控件之间存在组合关系或者限制关系,不同的控件组合会产生不同的输出结果,为了弄清楚不同的输入组合会产生怎样的输出结果,可以使用因果图或判定表。

概念:

因:输入条件

果:输出结果

就是通过画图的方式表达输入条件和输出结果之间的关系

因果图/判定表测试的步骤:

步骤:

步骤1:找出所有的输入条件

步骤2:找出所有的输出结果

步骤3:分析,列出输入条件之间所有的组合和限制条件

步骤4:确定每组输入条件的组合会产生怎样的输出结果,画因果图,填写判定表

(实际工作中因果图可以省略)

步骤5:编写测试用例 每一列代表一种组合,编写一条测试用例

因果图/判定表的特点:

1)输入条件的排列顺序无关紧要

2)输出条件的排列顺序无关紧要

3)先测哪种组合后测哪种组合无关紧要

4)每种组合是独立的

判定表格式如下:

编写测试用例的方法

判定表 名词术语

条件桩:问题的所有条件

动作桩:问题的所有输出

条件项:针对条件桩的取值

动作项:条件项的各种取值情况下的输出结果


4、正交排列法(不重要)

适用场合:

在一个界面中有多个控件,每个控件有多个取值,要考虑不同控件不同取值之间的组合 ,且组合数量较大的话,我们就可以使用正交排列法。

思想:

使用最少的抽样数据达到最广的,覆盖率最高的统计结果。

正交表公式如下:

L:line 行

n:表示正交表有几行,需要测试的组合的个数

n值是固定的,一旦正交表确定n值就是固定的,不需要测试人员自己计算。

m:表示正交表中允许出现的最大值

根据每个控件的取值个数来确定m值

k:表示正交表有几列

根据组合的控件个数进行确定,选择合适的正交表(百度搜)

方法总结:

a、如果有多余的列,可以删除掉

b、能映射的值先映射好(替换)

c、把每一列多出的机会,尽量均匀分配给该列的各个取值

d、要检查是否有完全一样的组合,如果有要适当处理(建议修改,也可以删除)

e、选择正交表时正好能应用正交表示首选,如果不合适呢么选择最接近的。

实际工作中,属性设置测试,兼容性测试常用正交排列法,而且兼容性测试可以不编写测试用例,直接用正交排列表测试各种兼容组合。

编写测试用例的方法

5、测试大纲法:(不重要)

适用场景:

软件中有多个窗口,窗口中有若干操作(功能点),为了理清窗口之间的关系(结果),可以使用测试大纲法。

样例如下:

编写测试用例的方法

6、场景法

适用场景:

业务比较复杂的软件系统都适合使用场景法,场景法是基于软件业务的测试方法,测试人员把自己当成最终用户,尽可能真实的模拟用户在使用此软件的操作情形:

重点模拟两类操作:

用户正确操作的业务过程—验证软件的业务功能是否正确实现

模拟用户错误操作的情形—验证软件的异常处理能力(健壮性)

测试思路:

场景法是模拟用户操作软件时的各种情景,主要用于测试软件的业务逻辑和流程。当拿到一个测试任务是,我们并不先关注某个文本框的等价类等是否满足要求,而是先关注它的主要功能和业务流程是否正确实现,这就需要场景法来完成测试。当业务流程测试没有问题,也就是软件的主要功能没有问题时,我们再去关注控件的等价类、边界值等细节测试。(先整体后细节)

场景划分:

1)基本流(有效流、正确流)

模拟用户正确的业务操作流程就是基本流

2)备选流(无效流、错误流)

模拟用户错误的操作流程就是备选流

样例如下:

编写测试用例的方法
然后根据不同的场景去编写测试用例,一个场景可以是一条测试用例,也可以是多条测试用例。



相关推荐

deadgrape / 0评论 2020-05-25