火焰杯备战攻略
火焰杯
一.阶段1测试用例设计
什么是TestCase
测试用例 ?
为特定目的而设计的一组测试输入,执行条件和预期结果的文档
通过大量的测试用例来检验软件的运行效果
测试用例是指导测试工作进行的依据
穷举测试是无法实现的
- 时间不允许
- 场景太多,数量太大
测试用例的价值
- 指导测试的实施
- 规划测试数据的准备
- 编写测试脚本的“设计规格说明书”
- 评估测试结果的度量基准
- 分析缺陷的标准
黑盒测试
1.等价类
- 无需考虑程序内部结构,只需要考虑程序的输入规格
- 将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性
- 在有限的测试资源情况下,用少量有代表性的数据得到比较好的测试效果
- 有效等价类 :指符合《需求文档》,输入合理的数据集合
- 无效等价类:不符合《需求文档》,输入不合理的数据集合
等价类划分原则:
-
规定输入的取值范围或个数:划分一个有效和两个无效 例如:用户名长度6-18位
-
规定了输入的集合或规则必须要遵循的条件:划分一个有效和一个无效
例如:用户名必须以字母开头
-
输入条件是布尔值,则划分一个有效一个无效
-
输入条件是一组数据,并且每一个输入的值做不同处理,则划分若干有效和一个无效 例如:用户vip等级
-
输入条件规定了必须要遵循的某些规则,则划分一个有效和若干无效
例如:用户名首字母必须大写
-
不是所有的等价类都有无效等价类 例如:用户选择性别
等价类设计步骤:
- 先划分等价类:找出所有可能的分类
- 确定有效等价类:需求中的条件
- 确定无效等价类:与条件相反的情况,再找到其他特殊情况
- 从各个分类中挑选测试用例
等价类表:
等价类表 | ||
输入条件 | 有效等价类 | 无效等价类 |
输入条件 | 有效等价类 | 无效等价类 |
---|---|---|
1-100整数(包括1和100) | [1,100]整数 | < 1 整数 |
> 100整数 | ||
小数 | ||
字母 | ||
汉字 | ||
特殊字符 | ||
为空 |
用例编号 | 所属等价类 | 输入框1 | 输入框2 | 预期结果 |
---|---|---|---|---|
1 | 有效等价类 | 39 | 60 | 99 |
2 | 无效等价类 | -1 | 40 | 给出错误提示 |
3 | 无效等价类 | 40 | -1 | 给出错误提示 |
4 | 无效等价类 | 110 | 2 | 给出错误提示 |
5 | 无效等价类 | 2 | 110 | 给出错误提示 |
6 | 无效等价类 | 10.5 | 3 | 给出错误提示 |
7 | 无效等价类 | 3 | 10.5 | 给出错误提示 |
8 | 无效等价类 | abc | 20 | 给出错误提示 |
9 | 无效等价类 | 20 | abc | 给出错误提示 |
10 | 无效等价类 | 人 | 21 | 给出错误提示 |
11 | 无效等价类 | 21 | 人 | 给出错误提示 |
12 | 无效等价类 | ! | 5 | 给出错误提示 |
13 | 无效等价类 | 5 | ! | 给出错误提示 |
14 | 无效等价类 | 为空 | 9 | 给出错误提示 |
15 | 无效等价类 | 9 | 为空 | 给出错误提示 |
单个元素设为无效等价类后,其余元素需要设为有效等价类,以便排除错误
总结:
- 长度
- 类型
- 组成规格
- 是否为空
- 是否重复
- 是否去除空格
2.边界值
- 大量的测试实践表明,故障往往出现在定义域或值域的边缘
- 边界值分析法是对等价类划分法的补充,测试用例来自有效等价类的边界
- 上点:边界上的点 离点:离上点最近的点 内点:在输入域内的一个点
选取正好等于,刚好大于或刚好小于边界值作为测试数据
3.因果图
适用场景:
- 描述多种条件的组合
- 产生多个动作
恒等
:原因出现,结果也出现;原因不出现,结果也不出现
非
:原因出现,结果也不出现;原因不出现,结果也不出现
或
:有多个原因。有一个出现结果就出现
与
:有多个原因。若几个原因都出现,结果才出现
- “因”: 输入条件
- “果”: 输出条件
因果图的约束条件:互斥 包含 唯一 屏蔽
4.判定表
判定表的组成
:
- 条件桩:问题的所有条件
- 动作桩:问题的所有输出
- 条件项:针对条件桩的取值
- 动作项:条件项各种取值情况下的输出结果
判断三角形
输入三个正整数a,b,c 分别作为三角形的三条边
判断三条边能否构成三角形
如果能,判断三角形的类型?
确定条件桩
:
- a,b,c构成三角形? a<b+c b<a+c c<a+b
- a=b?
- a=c?
- b=c?
确定动作桩:
1.非三角形 2.一般三角形 3.等腰三角形 4.等边三角形 5.不可能
规则数:条件项条件桩
条件桩 | 条件项 |
---|---|
c1:abc构成三角形? | 1:满足两边之和大于第三边 0:不满足 |
c2:a=b? | 1:a=b 0:a!=b |
c3:a=c? | 1:a=c 0:a!=c |
c4:b=c? | 1:b=c 0:b!=c |
动作桩 | 动作项 |
A1.非三角形 | 1:不是三角形 |
A2.一般三角形 | 1:是一般三角形 |
A3.等腰三角形 | 1:是等腰三角形 |
A4.等边三角形 | 1:是等边三角形 |
A5.不可能 | 1:条件组合不可能出现 |
此处规则数:24=16
判定表
条件桩 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
c1:abc构成三角形? | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
c2:a=b? | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
c3:a=c? | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
c4:b=c? | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
动作桩 | ||||||||||||||||
A1.非三角形 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | ||||||||
A2.一般三角形 | 1 | |||||||||||||||
A3.等腰三角形 | 1 | 1 | ||||||||||||||
A4.等边三角形 | 1 | 1 | ||||||||||||||
A5.不可能 | 1 | 1 | 1 |
简化判定表
条件桩 | 8 | 9 | 10 | 11 | 13 | 15 | 16 |
---|---|---|---|---|---|---|---|
c1:abc构成三角形? | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
c2:a=b? | - | 0 | 0 | 0 | 1 | 1 | 1 |
c3:a=c? | - | 0 | 0 | 1 | 0 | 1 | 1 |
c4:b=c? | - | 0 | 1 | 0 | 0 | 0 | 1 |
动作桩 | |||||||
A1.非三角形 | 1 | ||||||
A2.一般三角形 | 1 | ||||||
A3.等腰三角形 | 1 | 1 | |||||
A4.等边三角形 | 1 | 1 | |||||
A5.不可能 | 1 |
- 场景法
- 基于模型的测试
文章评论