测试用例设计方法

更新时间:2023-11-22 19:45:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

6.测试用例设计方法 6.1等价类划分法

何为等价类,某个输入域的集合,在这个集合中每个输入条件都是等效的,如果其中一个的输入不能导致问题发生,那么集合中其它输入条件进行测试也不可能发现错误。

等价类分为有效等价类和无效等价类,有效等价类就是由那些对程序的规格说明有意义的、合理的输入数据所构成的集合;无效等价类就是那些对程序的规格说明不合理的或无意义的输入数据所构成的集合。

划分等价类的方法:下面给出六条确定等价类的原则。

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

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

3、在输入条件是一个布尔量的情况下,可确定一个有效等价类。

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

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

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

根据等价类划分原则,将等价类填入下表。 等价类表 输入条件 有效等价类 无效等价类 根据等价类表,然后从划分出的等价类中按以下三个原则设计测试用例: 1、为每一个等价类规定一个唯一的编号。

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

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

等价类划分是最常用的方法,通常和边界值分析法一起用,在下面的流程分析法里,我会将等价类、边界值和流程分析法一起举例,一起写测试用例。

6.2、边界值分析法

测试经验丰富的前辈们总结后提出,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对这类边界情况设计测试用例,可以查处更多的错误。

首先来了解一下边界点的定义,边界点分为上点、内点和离点。如图:

闭区间

离点

离点 上点 半开半闭区间

内点

上点 上点 离点 开区间

内点

上点 离

上点 上点 离点 内点

离点

结合上面的图示。

上点,就是边界上的点,不管它是开区间还是闭区间,就是说,如果该点是封闭的,那上点就在域范围内,如果该点是开放的,那上点就在域范围外;

内点,就是在域范围内的任意一个点;

离点,就是离上点最近的一个点,如果边界是封闭的,那离点就是域范围外离上点最近的点,如果边界是开放的,那离点就是域范围内离上点最近的点。

现在大家都知道边界点了,那接下来就讲一下,边界值分析方法的原则:

1、 如果输入(输出)条件规定了取值范围,则应该以该范围的边界值及边界附近的值作为

测试数据;

2、 如果输入(输出)条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,

比最大个数多一的数作为测试数据;

3、 如果程序规格说明书中提到的输入或输出是一个有序的集合,应该注意选取有序集合的

第一个和最后一个元素作为测试数据;

4、 如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为

测试数据。

举例:

闭区间[50,100]的上点为50和100,离点是49和101,在域范围内的都是内点; 半开半闭区间(50,100]的上点为50和100,离点是51和101,在域范围内的都是内点; 开区间(50,100)的上点为50和100,离点是51和99,在域范围内的都是内点; 测试用例略。在下面的流程分析法里,我会将等价类、边界值和流程分析法一起举例,一起写测试用例。

6.3、判定表法

判定表通常由四部分组成,如图:

条件桩 条件项 动作桩 动作项

每一个部分之间用双线或粗条线分开,左上部称条件桩,它列出决定一组条件的对象;右上部称条件项,它列出各种可能的条件组合;左下部称动作桩,它列出所有的操作,右下部为动作项,它列出在对应的条件组合下的动作。

表的右部一般有很多列。

6.4、流程分析法

流程分析法是将软件系统的某个流程看成路径,用路径分析的方法来设计测试用例。根据流程的顺序依次进行组合,使得流程的各个分支都能走到。

这里拿一个最简单的流程来做分析。用户登陆操作的流程。这个大家都应该很熟悉的,需求如下(这里只简单举个例子说明用例设计方法,具体需求应该还要详细。):

1、 用户执行程序,弹出登陆对话框; 2、 用户输入用户名,格式要符合如下规范:

a. 2-16个字长,英文或数字; b. 用户名中不可出现空格符;

c. 可以使用这些字符:“横线-”,“下划线_”,“点.”; d. 不可以使用“&、%、$”等其它字符。 用户名出错处理:

1)、用户名为空:提示用户:“请输入用户名!”;

2)、用户名错误:提示用户:“用户名错误,请重新输入用户名!”。 a. 密码为字符串;

b. 字符串为0~9之间的阿拉伯数字组合,密码长度为6位。 1)、密码为空:提示用户:“请输入密码!”;

2)、密码错误:提示用户:“密码错误,请重新输入密码!”。

3、用户输入密码,格式要符合如下规范:

密码出错处理:

4、确定登陆,系统验证用户登陆; 5、取消登陆,退出系统。 提取需求信息,得到流程图:

启动程序,弹出登陆对话框 用户输入用户名和密码或取消 Y 取消? 退出系统 N Y 用户名正确? N Y 密码正确? N 提示重新输入用户名 提示重新输入密码 进入系统

在流程图里,我们将用户和系统的操作用不同的颜色区分开来。用户部分,就相当于是用例的输入;系统部分就相当于是用例的输出。

流程图中有很多路径,每一条路径都可以设计测试用例,首先要列出一条基本路径(优先级最高)的路径,进行测试分析。

基本路径:启动程序 -> 输入用户名密码 –> 进入系统

任何测试用例都会采用这条基本测试路径,只是测试结果不同。下面我们来设计测试用例,首先进行等价类的划分:

输入条件 用户名 有效等价类 2-16个字长,英文或数字或“横线-”、“下划线_”、“点.”; 密码 字符串为0~9之间的阿拉伯数字组合,密码长度为6位 再进行边界值分析 输入 用户名 密码 内点 Abc、ab-12_34.ABmU15 000001、999998 上点 Qq、16ab-12_34ABmU16 000000、999999 离点 P、17ab-12_34.ABmU17 11111、0000000 长度不是6位的0~9之间的组合;含有不是阿拉伯数字的字符; 无效等价类 字长为0、1和大于16;空格;“&、%、$”等其它字符; 可以看到,我在进行边界值分析的时候,内点和上点已经覆盖了所有有效等价类。下面根据等价类测试用例设计原则和边界值分析法设计测试用例的原则,进行用例的编写。

注:用例设计完后,对照流程图分析是否有遗漏的路径没有覆盖到。如果有,设计用例覆盖这些路径。

6.5、错误推测法

错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计

测试用例方法。

错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,,根据他们选择测试用例。例如,在单元测试时曾列出的许多在模块中常见的错误。以前产品测试中曾经发现的错误等,这些就是经验的总结。还有,输入数据和输出数据为0的情况。输入表格为空格或输入表格只有一行。这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例。

本文来源:https://www.bwwdw.com/article/gkgv.html

Top