1、等价类划分法
(1)简介
- 等价类就是某个输入域的子集。
- 等价类划分法是把所有可能的输入数据集合划分成若干个子集,每个子集内的元素对于揭露程序中的错误都是等效的,在每个等价类中取一两个数据作为测试的输入数据即可,这样就可以用少量代表性的测试数据取得较好的测试效果。
- 等价类又划分为 “有效等价类” 和 “无效等价类”。
- 有效等价类,就是符合需求规格说明书要求的合理、有意义的输入数据集合。利用有效等价类可检验程序是否完整实现了需求所规定的功能以及功能的实现是否正确符合预期。(简言之,有效等价类校验功能是否做完了且做得是否正确。)
- 无效等价类,与有效等价类恰好相反。无效等价类是指那些不合理的、无意义的输入数据所构成的集合。这类测试数据可反向验证功能的正确性和程序的容错处理。
(2)设计用例步骤
- 第一步、依据需求规格说明书,确定输入数据的范围。
- 第二步、将输入数据的范围划分成若干个互无交集的有效等价类。接着确定无效等价类包含的输入数据。
- 第三步、分别从每个等价类中提取一两个有代表性的数据作为测试数据。一般的,每提取出一个数据就可设计一条测试用例,或根据实际业务需求用最少数量的用例覆盖最多的测试场景。
(3)举例
- 例子1、测试聊天功能的内容输入框:可输入文本,最多只能输入100个字符。
- 第一步、确定输入数据的范围:文本。
- 第二步、划分等价类。
- 有效等价类
编号 | 等价类 | 取值 |
1 | 数字 | 正数、负数、整数、小数、零 |
2 | 汉字 | 简体、繁体 |
3 | 字母 | 大写、小写 |
4 | 符号 | 中文符号、英文符号 |
5 | 表情 | 符号表情、图像表情 |
6 | 他国语言 | 韩语、日语、英语 |
-
- 无效等价类
编号 | 等价类 | 取值 |
1 | 特殊符号 | 空格、回车 |
2 | 超过100个字符 | 200个字符 |
- 第三步、根据划分的等价类编写测试
- (说明:以下测试用例只是为了快速示意,并不是标准的测试用例书写方式。)
编号 | 输入数据 | 预期结果 |
case1 | 正数 |
发送者:可输入和发送成功 |
case2 | 负数 | |
case3 | 整数 | |
case4 | 小数 | |
case5 | 零 | |
case6 | 简体 | |
case7 | 繁体 | |
case8 | 大写 | |
case9 | 小写 | |
case10 | 中文符合 | |
case11 | 英文符合 | |
case12 | 符号表情 | |
case13 | 图片表情 | |
case14 | 韩语 | |
case15 | 日语 | |
case16 | 空格 | 发送者:发送失败并提示 |
case17 | 回车 | |
case18 | 输入超出长度:200 | 超出的字符自动屏蔽输入 |
2、边界值分析法
(1)简介
- 边界值分析是通过选取指定数据域的“上点”“内点”“离点”来测试输入或输出的边界。
- 上点:就是边界上的点,无论域是开区间还是闭区间。若是开区间,上点在域外;若是闭区间,上点就在域内。
- 离点:是指离“上点”最近得点,这里跟待测数据域是闭区间还是开区间有关系。如果是开区间,那么离点就在域内;如果是闭区间,那么离点就在域外。
- 内点:域内的任意点都是内点。
(2)设计用例步骤
- 第一步、确定测试域。
- 第二步、选取“上点”“内点”“离点”。
- 第三步、每个“上点”和“离点”就是一条用例,“内点”可选取代表性的中点创建一条用例。
(3)举例
- 例子1、测试聊天功能的内容输入框:可输入文本,最多只能输入100个字符。
- (我们继续使用“例子1”来说明,对其补充测试点。)
- 第一步、“最多只能输入100个字符”可确定输入的长度范围,用闭区间[1,100] 或 半开区间(0,100]表示。
- 第二步、[1,100]的上点:1、100,内点:50,离点:0,101;
- (0,100]的上点:0,100,内点:50,离点:1,101。
- 可以看到两种不同的区间表示方式,最终取到的测试数据都是一样的。
- 第三步、根据选取的点编写测试用例。
编号 | 输入数据 | 预期结果 |
case19 | 1个字符 | 发送者:可输入和发送成功 接收者:可接收和显示正确 |
case20 | 100个字符 | |
case21 | 50个字符 | |
case22 | 0(什么也不输入) | 发送者:发送失败并提示 |
case23 | 101个字符 | 超出的字符自动屏蔽输入 |