测试用例的常用几种方法--蓝桥杯

一、等价类划分法

        应用场合:界面中只要有数据输入的地方,就可以使用等价类划分法。从无穷多的数据中,挑选少量代表数据进行测试

从每个等价类中,至少挑选1个代表数据进行测试

例题:某网站用户申请注册时,要求必须输入“用户名”、“密码”及“确认密码”,如下图所示。对每一项输入有如下要求:

  • 用户名要求:3~12 位,只能使用英文字母、数字、中划线-、下划线_,这 4 种字符或 4 种字符的组合。并且首字符必须为字母或数字。
  • 密码要求:6~20 位,只能使用英文字母、数字、中划线-、下划线_,这 4 种字符或 4 种字符的组合。
  • 确认密码:与密码相同,并且区分大小写。

某网站的注册功能界面

现在使用等价类划分法设计其测试用例。

【解析】

分析程序的规格说明,列出等价类表(包括有效等价类和无效等价类),如下表所示:

注册界面等价类分析表

一一列出条件中可能的输入组合情况

在该题中,可以有这样的组合,如:

  • 输入有效的用户名、有效的密码、有效的确认密码;
  • 输入无效的用户名、正确的密码、正确的确认密码;
  • 输入有效的用户名、无效的密码、正确的确认密码;
  • 输入有效的用户名、有效的密码、无效的确认密码。

针对题中的等价类表,我们可以得出等价类组合表,如下表所示。此处简化测试用例的模板,只取我们关注的输入条件和输出结果的项,预期结果中的提示也是假设的,实际的提示会比这复杂的多。

注册界面等价类组合表

选择测试数据,编写测试用例,如下表所示:

注册界面等价类测试用例

二、边界值法

2、  边界值法

 应用场合:界面中有数据输入的地方,一般可以使用,边界值法往往和等价类划分法一起使用,形成一套更为完善的测试方案。

找到有效数据和无效数据之间的分界点(边界值)

测试:最小边界值-1,最小边界值,最大边界值+1,最大边界值

上点、离点、内点的确定
  • 上点:边界上的点,区间的终点值。
  • 离点:离上点最近的点称为离点。开区间的离点,就是开区间中 上点 内侧紧邻的点。闭区间的离点,就是闭区间中 上点 外侧紧邻的点。
  • 内点:上点之间(域范围内)的任意一点。

结合等价类划分的具体情况,针对边界值中的【离点】,有以下三种情况:

1.闭区间(闭区间边界两个值包括在内,如 [a,b])

.闭区间(闭区间边界两个值包括在内,如 [a,b])

  • 离点(外点):紧邻上点范围之外的第一对点,如下图所示:

图片描述

2.开区间(开区间边界的两个值不包括在内,如(a,b))

  • 离点(外点):上点内部范围内紧邻的一对点,如下图所示。 

    图片描述

3.半开半闭区间(闭区间一边的值包括在内,开区间一边的值不包括在内,如(a,b])

  • 离点(外点):开区间一侧是上点内部范围内紧邻的点,闭区间一侧是上点外部范围内紧邻的点,如下图所示:

图片描述

边界值划分法应用步骤

第 1 步:根据等价类划分有效及无效等价类,确定上点、离点及内点,每个点统一编号。

第 2 步:设计一个新的测试用例,使其尽可能覆盖所有尚未覆盖的有效等价类,直到所有有效等价类完全覆盖。

第 3 步:设计一个新的测试用例,使其仅覆盖一个无效等价类,直到所有无效等价类完全覆盖。

常见边界值 :

如果是字符的话,我们常常考虑它的:正常长度、最大长度、最大长度+1、最小长度-1、空值、只有空格、字符前后有空格。

如果是整数的话,我们常常考虑它的:正常长度、最小值、最小值-1、最小值+1、最大值、最大值-1、最大值+1、中间值、字母、特殊字符、非整数、有小数点。

三、因果图以及判定表法

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

1、因果图

  • 恒等:若 c1是 1,则 e1也是 1;否则 e1为 0;
  • 非:若 c1是 1,则 e1是 0;否则 e1 是 1;
  • 或:若 c1 或 c2 或 c3 中有一个是 1,则 e1是 1,;否则 e1为 0;
  • 与:若 c1 和 c2 以及 c3 都是 1,则 e1是 1;否则 e1为 0。

 

  • E 约束(异、互斥):a、b、c 中最多有一个可能为 1,也就是 a、b、b 不能同时为 1,输入条件之间为互斥关系。但可以同时为 0。

  • I 约束(或、包含):a、b、c 中最少有一个必须是 1,也就是 a、b、c 不能同时为 0,输入条件之间为包含关系。但可以同时为 1。比如程序中的多选按钮。

  • O 约束(唯一):a、b、c 中必须有一个且仅有一个为 1。比如程序中的单选按钮。

  • R 约束(要求):a 是 1 时,b 必须是 1,a 为 0 时,b 的值不确定。即不可能 a 是 1 时,b 是 0。

    以上 4 种是输入条件的约束,输出条件的约束只有一种,就是 M 约束:

  • M 约束(强制、屏蔽):若 a 是 1,则 b 强制为 0;若 a 是 0,那么 b 的值不确定。

2、判定表 

判定表又称“决策表”,是一种表格状的图形工具,适用于处理判断条件较多,各条件又相互组合、有多种决策方案的情况。由于决策表可以把复杂的逻辑关系和多种条件组合的情况表达的既具体又明确,因此在程序设计发展的初期,判定表就经常被当作编写程序的辅助工具。

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

条件桩(Condition Stub):指所有条件的名称,列出的条件的先后次序无关紧要。

动作桩(Action Stub):指所有可能采取的操作,顺序没有约束。

条件项(Condition Entry):条件桩中的条件所有可能的取值。

动作项(Action Entry):与条件项紧密相关,列出在条件项的各组取值情况下应该采取的动作。

 例题:

答案:

 

 

四、正交表法

        适用场合:正交实验法是一种基于正交表的、高效率、快速、经济的实验设计方法,在一个界面中有多个控件,每个控件有多个取值,测试时考虑不同的控件不同取值之间的多种组合,但组合数量巨大(>20种,20种以下一般考虑判定表因果图),没有必要全部测试,如何从所有的组合中挑选最少、最优的组合进行测试,可以使用正交排列法。

  • 因素(Factor):在一项实验中,凡是被考查的变量就称为因素。

  • 水平(Level):在实验范围内,因素被考查的值称为水平。

  • 正交表的表现形式可描述如下:

图片描述

也可以简单的写成:L行数(“水平”的“因素”次方)。

如: L4(2 的 3 次方)是指有 3 个因素,每个因素最多有 2 个水平(取值),根据正交表,共可以设计 4 条测试用例。

例子:(1)题目

 (2)答案:原本是L9(3的3次方),正交表里面没有就取了L9(3的4次方)

      (3))常用的正交表请参考如下链接:

https://www.lanqiao.cn/courses/23673/learning/?id=1163083&compatibility=false

正交表的测试注意事项:

   1)使用每个控件的每个取值参与组合的次数是基本相等的(均匀的),而且正交表不能自己创建,必须按照官方给的参考表来

   2)在所有的组合数据中,选取数据时,应该均匀的选取,而不能从局部选取。 

4)如果表里面没有该公式,就取该公式相邻最大的

五、大纲测试法

适用场合:程序包含多个窗口,每个窗口中又有多个功能,这些功能之间又有一定的联系。为了梳理清楚窗口之间以及窗口不同功能之间的联系,使用测试大纲法。

如:安装程序的测试

  1)  分析需求列出窗口以及每个窗口中的功能

  2)  根据大纲,找到窗口及功能之间的关系,编写测试用例

六、场景法

适用场合:大多数的业务比较复杂的软件系统都适合使用场景法(便于将各个功能点串起来,便于形成完整的业务感觉)是一种基于软件业务的测试方法,把自己当成最终用户,尽可能的模拟用户在使用此软件的操作。

熟悉所测软件的业务逻辑:

1)模拟用户正确操作的业务流程---验证软件的业务功能是否实现

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

总结:先关注功能的整体业务流程是否能够实现(场景法),当整体业务流程完成之后,再去关注细节(等价类、边界值等方法)。

注意一个场景可能对应多条测试用例,或者一条用例可能对应多个场景。

七、错误推测法

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

1)程序中所有可能的错误

2) 容易发生错误的特殊情况

3) 以前产品测试中曾经发现的错误


 

  • 47
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值