测试用例
一、测试用例基本要素
-
测试用例(Test Case)概念:是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素
-
测试用例的八要素
- 测试编号
- 测试模块
- 测试标题
- 测试级别
- 测试环境
- 测试步骤
- 测试输入
- 预期结果
-
核心要素: 测试环境、测试步骤、测试输入、预期结果
-
评价测试用例的标准
- 用例表达清楚,无二义性
- 用例可操作性强
- 用例的输入与输出明确
- 一条用例只有一个预期结果
- 用例的可维护性好
- 用例对需求的覆盖率高
- 暴露程序Bug的能力强
-
注册163邮箱的测试用例
标题 注册163邮箱 环境 Win10+IE 模块 网页 测试步骤 1.进入163首页
2.点击注册免费邮箱
3.测试邮件地址长度是否大于6个字符小于16个字符,
4.测试能否用字母、数字、下划线开头
5.密码长度是否6~16个字符,大小写字母是否区分,密码是否不可见,是否有特殊字符
6.两次输入密码格式不一样是否报错
7.验证码大小写不一样是否通过
8.无效手机号
9.必填信息完整性能否影响邮箱注册成功
二、编写测试用例的方法
-
总体设计方法
- 基于需求
- 学习需求
- 难点在于看出需求以外的测试点
- 基于需求
-
具体设计方法
-
等价类
-
思想:减少测试用例,解决输入无穷的问题
-
使用场景:输入、输入无穷
-
概念:无穷的输入分成N个类,然后从类里边提取一个数据进行测试,测试通过就认为它所在的这一类数据全部测试通过
等价类概念:具有相等的属性集合在一起
归类的目的:
1. 解决输入无穷的情况
2. 输入类的元素过多,确保是否覆盖所有元素
有效等价类:对于程序的规格说明书是合理的、有意义的输入数据构成的集合,利用有效等价类验证程序是否实现了规格说明中所规定的功能和性能。
无效等价类:根据需求说明书,不满足需求的集合。
-
-
边界值
- 使用场景:输入和输出的边界值
- 取值测试:开区间,向内取值;闭区间,向外取值
- [1,50] : 0, 1, 50, 51
- (1, 50]: 1,2,50,51
- 边界值方法是等价类方法的一种补充方法,两者互补,成对出现
-
因果图
-
使用场景:输入和输出之间的关系,输出依赖一个或多个输入
-
因果图法设计测试用例的步骤:
- 分析所有可能的输入和可能的输出
- 找出输入与输出之间的对应关系
- 画出因果图
- 把因果图转换成判定表(输入:幂数 ,输出:底数)
- 从判断表提取测试用例
-
四种概念:恒等、与、或、非
-
恒等:如果原因为真,则结果必定为真
-
与:只有两个原因都为真,结果才为真
-
c1满足,c2满足:e1成功
-
c1满足,c2不满足:e1不成功
-
c1不满足,c2满足:e1不成功
-
c1不满足,c2不满足:e1不成功
-
-
或:多个个原因中有一个为真时,结果就为真
-
c1满足,c2满足:e1成功
-
c1满足,c2不满足:e1成功
-
c1不满足,c2满足:e1成功
-
c1不满足,c2不满足:e1不成功
-
非:只有原因为假,结果才为真
-
-
-
-
正交排列表
-
目的:减少测试用例条目,用尽量少的用例覆盖输入的两两组合
-
思想:正交表(抽样)
-
正交表性质
- 所有列中的数据个数相同
- 任何两列中的有序对数相同
-
即:每一列中各数字出现的次数都一样多,任何两列所构成的有序对数出现的次数都一样多
-
注:一列不能出现两个有序对数
-
正交表的表示形式: L = N ∗ ( T C ) L : 行数 T : 水平数 C :因素数 L=N*(TC)\quad L:行数\quad T:水平数\quad C:因素数 L=N∗(TC)L:行数T:水平数C:因素数
N = ( T − 1 ) ∗ C + 1 N : 表示最少的实验次数 N=(T-1)*C+1\quad N:表示最少的实验次数 N=(T−1)∗C+1N:表示最少的实验次数 -
当因素过多的情况下,可以使用微软的PICT工具来生成正交表
-
-
场景设计法
-
概念:软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而 同一事件不同的触发顺序和处理结果就形成事件流。
-
典型的应用:是是用业务流把各个孤立的功能点串起来,为测试人员建立整体业务感觉,从而避免陷入功能细节忽视业务流程要点的错误倾向
-
案例:用户登录
- 判断用户名是否存在
- 判断用户名和密码是否匹配
- 判断用户状态是否正确
- 点击
-
注意
-
一个场景必须从开始到结束
-
业务流程和事件流,一个业务流程不一定是一个场景
-
难点在于要对需求很了解
-
-
-
错误猜测法
- 经验丰富的测试人员基于经验和直觉
- 猜测三个来源
- 测试人员对项目测试时间长:1. 功能、业务复杂度了解;2. 对于开发人员的能力了解
- 用户线上/线下反馈
- 上线前/上线后的缺陷和故障库
- 案例:注册
- 校验中特殊字符空格的处理,是否进行空格截取
- 密码校验中的大小写
- 姓名中的特殊字符
- 密码发送是否明文
-
三、测试用例的有效性
- 测试用例的有效性
- 是否有bug
- 是否满足用户需求
四、测试用例的粒度和评价
- 粒度:指测试用例编写的详细程度
- 评审:正式评审和非正式评审
- 正式评审:项目组评审
- 非正式评审:同行评审和用户检查
- 如何确保所编写的测试用例的正确性?
答:采取测试用例的评审方法,首先测试用例评审分为正式评审和非正式评审,其中正式评审指的是项目组评审,非正式评审指的是同行评审和用户检查
五、常见测试用例
- QQ登录测试用例
- TFK导入导出数据功能测试用例