测试用例
1.测试用例的基本要素
测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步 骤、测试数据、预期结果等要素。
2.测试用例的设计方法
2.1基于需求的设计
基于需求的测试是一种最根本的软件测试,重点关注以下两大关键问题:
(1)验证需求是否正确、完整、无二义 性,并且逻辑一致。
(2)要从“黑盒”的角度,设计出充分并且必要的测试集,以保证设计和代码都能完全符合需 求。
2.2 具体的设计方法
2.2.1 等价类
- 有效等价类:对于程序的规格说明书是合理的、有意义的输入数据构成的集合,利用有效等价类验证程序是 否实现了规格说明中所规定的功能和性能
- 无效等价类:根据需求说明书,不满足需求的集合。
例如:超市买水果
有效等价类:苹果、桃子、梨
无效等价类:青菜、米、饮料,…
2.2.2 边界值
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法 的补充,这种情况下,其测试用例来自等价类的边界。
例如:
- 输入框长度为1-11,取边界值为:1、11、12、0
- 运动员的参赛项目为1-3项,取边界值为:0项、1项、3项、4项
- 查询面页面有999行,每50行为一页,取边界值为:输出0行、1行、50行、51行、999行
2.2.3 因果图
因果图是一种简化了的逻辑图,能直观地表明程序输入条件(原因)和输出动作(结果)之间的相互关系;如:
-
恒等::如果原因为真,那么结果必定为真。
例如:动物园运来大熊猫,动物园一定有大熊猫 -
与:只有俩个原因都为真,结果才为真。
例如:淑女,必须举止优雅且性别女~ -
或:俩个原因中有一个位真时,结果就为真。
例如:北京小伙,有车或有房~ -
非:只有原因为假,结果才为真。
例如:你不好好学习,找到好工作
因果图法设计测试用例的步骤如下:
(1)分析所有可能的输入和可能的输出。
(2)找出输入与输出之间的对应关系。
(3)画出因果图。
(4)把因果图转换成判定表
(5)把判定表对应到每一个测试用例。
2.2.4 正交排列
正交试验设计(Orthogonal experimentaldesign)是研究多因素多水平的一种设计方法,它是根据正交性,由试验 因素的全部水平组合中挑选出部分有代表性的点进行试验,通过对这部分试验结果的分析了解全面试验的情况,找 出最优的水平组合。
- 因素(Factor):在一项试验中,凡欲考察的变量称为因素(变量)
- 水平(位级)(Level):在试验范围内,因素被考察的值称为水平(变量的取值)
正交表的构成:
- 行数(Runs):正交表中的行的个数,即试验的次数,用N代表。
- 因素数(Factors):正交表中列的个数,用C代表。 水平数(Levels):任何单个因素能够取得的值的最大个数。
- 正交表中的包含的值为从0到数“水平数-1”或从1到“水平 数”,用T代表。
- 正交表的表示形式: L=行数(水平数*因素数) L=N(TC)
正交表的两条性质:
- 每一列中各数字出现的次数都一样多。
- 任何两列所构成的各有序数对出现的次数都一样多,
正交法设计测试用例的步骤:
1、有哪些因素(变量)
2、每个因素有哪几个水平(变量的取值)
3、选择一个合适的正交表
4、把变量的值映射到表中
5、把每一行的各因素水平的组合作为一个测试用例
6、加上你认为可疑且没有在表中出现的用例组合
2.2.5 场景设计法
通过想象某一具体的场景来设计测试用例
现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。该方法可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,使测试用例更容易理解和执行。
2.2.6 错误推测法
错误猜测法是经验丰富的测试人员喜欢使用的一种测试方法。
基于经验和直觉,找出程序中你认为可能出现的错误,有针对性地设计测试用例。经验可能来自于在对某项业务的 测试较多,也可以来自于售后用户的反馈意见,或者从故障管理库中整理bug。梳理出产品以往哪些地方容易出现 问题,问题越多的地方,潜在的bug也就越多。