1.软件测试用例概念
概念:一个为了特定的目的(检验开发的代码实现是否满足用户的需求)而设计的文档(包含测试输入、执行条件、预期结果),文档的形式可以是xmind、excel等
通俗点讲:测什么?怎么测?
举例:买手机、买电脑,要试用一下:开机、屏幕、运行速度、内存大小等,这就是生活中的测试用例。(生活中处处是测试,一切皆为测试)
案例1
买手机:按开机键,相当于输入了一组数据来测试,执行条件指的是开机的前提条件,比如是否有电;预期结果就是能顺利打开手机,那么测试完毕后,是否达到了想要的需求(顺利开机)。
所以通过上面的描述,我们不难看出,测试用例主要解决的问题是要测什么?怎么测?
标题 | 测试输入 | 执行条件 | 预期结果 |
验证电脑开机功能 | 有电 | 按下开机键 | 屏幕点亮 |
案例2
新浪注册页面:注册新浪通行证
这次测试的是邮箱地址格式是否正确,怎么测试的呢?分别输入了正确的地址和错误的地址进行测试的。
标题 | 测试输入 | 执行条件 | 预期结果 |
手机号码注册 | 15211077879 | 输入手机号码 | 验证通过 |
2.测试用例组成要素与用例模板
ID
唯一性
格式:项目-模块-001,如:QQ-账号-001
模块
优先级
作用:体现用例执行的先后顺序
分类:
高
中
低
用例标题
唯一性
见名知意
预置条件
测试步骤
尽可能详细
测试数据
预期结果
3.软件测试用例的作用
- 便于理清测试思路,确保需覆盖测试的功能点无遗漏
- 便于测试工作量的评估
- 便于提前准备测试数据
- 便于把控测试工作进度
- 便于回归测试
- 便于测试工作的组织,提高测试效率,降低测试交接成本
4.等价类
概念:通过科学的方法找到具有共同特性的测试输入的子集,能够从穷举测试解放(大大减少了测试用例的数量,从而提升测试效率)
4.1案例:
计算器:到底输入几组数据才算测试完毕?(讨论课题)
答案:一个一个测试效率低下,一定要分类测试
- 整数(在范围内的整数-99到99)取最大、最小、中间
- 小数(在范围内的整数-99到99)
- 符号(+-/*,。、!@#¥%……&*())
- 汉字(汉+0 能行吗?)
- 空格(0 * 空格 能行吗?)
- 不输入(空格 - 空格 能行吗?)
通过上面的描述,我们发现我们用户所有可能输入的数据,划分成了若干份(或者也可以称为子集),然后从每一个子集当中选取少数具有代表性的数据作为测试用例,这种测试用例我们称为“等价类划分法”。
(不可能穷举,只能挑些代表性的进行测试。)
等价类划分是一种重要的、常用的黑盒测试方法,不需要考虑程序的内部结构,只需要考虑程序的输入规格即可。它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。
(在有限的测试资源的情况下,用少量有代表性的数据得到比较好的测试效果。)
4.2分类:
有效等价类
即满足需求,指符合《需求规格说明书》,输入合理的数据集合
例子:有效数据
无效等价类
即不满足需求,指不符合《需求规格说明书》,输入不合理的数据集合
例子:无效数据
4.3等价类思考步骤:
1.先确定有效和无效等价
2.有效等价就是题目条件(两个的极端(边界则)要判断,中间值随意一个值也要判断)
比如:题目要求测试0~100数据
两端的极值: 0 和 100 肯定是要测,再随意取一个中间值测试下即可。
3.无效等价类先划分条件相反的情况,再找到特殊情况(中文、英文、符号、空格、空)
比如:上面案例中0~100都是有效等价类,那么小于0和大于100的数值,就是无效等类。
输入一个0~100的数字
有效等价类:0 ~100 其中极值:0 100
无效等价类:小于0数字, 大于100的数字,特殊情况
(从有效、无效、特殊三方面考虑测试)
4.5设计测试用例的步骤:
需求分析
划分等价类
有效
无效
规则(需求本身)
长度
类型
是否为空(必填项)
是否重复
设计用例
典型应用场景
输入框
我们可以把“有效等价”和“无效等价”用例写在一个Excel表格中(写出来永远比自己脑子里想要好)