(一) 场景法:
(1)含义
就是模拟用户操作软件时的场景,主要用于测试系统的业务流程。软件操作是由事件触发来控制流程的,事件触发时的情景就形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。
(2)场景法的分类
-
基本流:也叫有效流或正确流,主要是模拟正确的业务操作过程的情景。
-
备选流:也叫无效流或错误流,主要是模拟无效的业务操作过程的情景。
题目及流程如下:
输入用户名——输入密码——输入验证码——点击登录——登录成功
我们根据要求,可以分析出并组成多个场景:
通过场景,我们可以写出多条测试用例:
注意:1).场景法必须要有基本流
2).场景中必须有内容从用例开始到用例结束
(二)边界值
(1)含义
根据边界值划分法,等价类分析法中的测试数据不是选取等价类中的典型值或任意值,而是应当选取正好等于、刚刚大于、刚刚小于边界的值作为测试数据。
(2)上点、离点、内点的确定
上点:边界上的点,区间的终点值。
离点:离上点最近的点称为离点。开区间的离点,就是开区间中 上点 内侧紧邻的点。闭区间的离点,就是闭区 间中 上点 外侧紧邻的点。
内点:上点之间(域范围内)的任意一点。
(三)等价类划分
(1)含义
等价类测试方法是把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例。使用等价类划分方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。
(2)分类
有效等价类:是指对于程序的需求规格说明来说是合理的,有意义的输入数据构成的集合。
无效等价类:是指对于程序的需求规格说明来说是不合理的,无意义的输入数据构成的集合。
(四)正交实验法
是一种基于正交表的、高效率、快速、经济的实验设计方法,它研究“多因素多水平”的情况,然后套用正交表来随机地产生用例(用例之间没有主次之分),是一种提高测试覆盖率的简单易用的方法。
-
因素(Factor):在一项实验中,凡是被考查的变量就称为因素。
-
水平(Level):在实验范围内,因素被考查的值称为水平。
-
正交表的表现形式可描述如下:
也可以简单的写成:L行数(“水平”的“因素”次方)。
如: L4(2 的 3 次方)是指有 3 个因素,每个因素最多有 2 个水平(取值),根据正交表,共可以设计 4 条测试用例。
-
常用的正交表请参考如下链接:
第十五届蓝桥杯(软件测试)模拟赛 2 期题目_蓝桥杯 - 蓝桥云课
答案:(1)L9是3的3次方,因为没有对应的正交表,如果使用小的正交表,容易漏掉多条测试用例,所有我们要使用与之相对于大一点的正交表,所以取L9(3的4次方)
(五)判定表
(1)含义
判定表又称“决策表”,是一种表格状的图形工具,适用于处理判断条件较多,各条件又相互组合、有多种决策方案的情况。由于决策表可以把复杂的逻辑关系和多种条件组合的情况表达的既具体又明确,因此在程序设计发展的初期,判定表就经常被当作编写程序的辅助工具。
(2)判定表组成部分
条件桩(Condition Stub):指所有条件的名称,列出的条件的先后次序无关紧要。 动作桩(Action Stub):指所有可能采取的操作,顺序没有约束。 条件项(Condition Entry):条件桩中的条件所有可能的取值。 动作项(Action Entry):与条件项紧密相关,列出在条件项的各组取值情况下应该采取的动作。
(3)判定表的规则
- 第 1 步:分析需求,列出所有的条件桩和条件项;
- 第 2 步:分析需求,列出所有的动作桩和动作项;
- 第 3 步:根据规则,设计初始判定表;
- 第 4 步:简化判定表,合并相似规则,设计测试用例。
运用判定表设计测试用例,可以将条件理解为输入,将动作理解为输出。
(六)因果图法
(1)含义
因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种情况的组合。因果图(Cause-Effect-Graphing)提供了把规则转化为判定表的系统化方法,其中“原因”是表示输入条件,“结果”是输入条件经过一系列计算后得到的输出。
(2)关系表
- 恒等:若 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 的值不确定。
(3)注意事项
- 第 1 步:分析待测系统的规格说明,找出原因与结果。
- 第 2 步:明确所有原因和结果之间的制约关系以及组合关系,画出因果图。
- 第 3 步:在因果图上标记约束条件。
- 第 4 步:跟踪因果图中的状态条件,把因果图转换为判定表。
- 第 5 步:将判定表中的每一列作为依据,生成测试用例。