软件测试的生命周期: 需求分析→测试计划→ 测试设计/测试开发→ 测试执行→ 测试评估
总体设计思路:基于需求的测试方法
基于需求的测试方法重点关注以下两大关键问题。 (1)验证需求是否正确、完整、无二义性,并且逻辑一致。 (2)要从黑盒的角度,设计出充分并且必要的测试集,以保证设计和代码都能完全符合需求。
黑盒测试: 不关心内部的过程,只关心输入输出
黑盒测试用例的方法有哪些? 等价类,边界值,因果图,正交法,场景设计法,错误猜测法
1. 等价类
依据需求将输入划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能 穷举测试的问题。
有效等价类: 是合理的、有意义的输入数据构成的集合
无效等价类: 根据需求说明书,不满足需求的集合
举个例子: 输入6-18个字符的密码: 有效等价类: 6~18个字母 6~18个数字 6~18个下划线 6~18个字母,数字 6~18个字母,下划线 6~18个字母,数字,下划线 … 无效等价类: 小于6个字符的数字/字母/下划线 大于18个字符的数字/字母/下划线 …
2. 边界值
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。
举个例子:
- 运动员的参赛项目为1-3项,取边界值为:0项、1项、3项、4项
- 查询面页面有999行,每50行为一页,取边界值为:输出0行、1行、50行、51行、999行
- 以注册邮箱的软件需求为例子,用户名要求长度为6-15位,边界值上点为:5,6,15,16 全了没有
3. 因果图
- 恒等:如果原因为真,那么结果必定为真。
- 与:只有2个原因都为真,那么结果为真 。
- **或:2个原因中有一个为真时,结果就为真。 **
- 非:只有原因为假,结果才为真。
因果图法设计测试用例的步骤如下。
(1)分析所有可能的输入和可能的输出。 (2)找出输入与输出之间的对应关系。 (3)画出因果图。 (4)把因果图转换成判定表。 (5)把判定表对应到每一个测试用例。
4. 正交排列
因素(Factor): 在一项试验中,考察的变量称为因素(变量) 水平(位级)(Level): 在试验范围内,因素被考察的值称为水平(一个变量的取值)
正交表的构成: 行数(Runs): 正交表中的行的个数,即试验的次数,用N代表。 因素数(Factors): 正交表中列的个数,用C代表。(变量的个数) 水平数(Levels): 任何单个因素能够取得的值的最大个数,用T代表。 (一个变量的取值)
正交表的表示形式:
L=行数(水平数*因素数) -----------> L=N(TC)
正交表的行数:(因素水平数相等,是偶数)
N=(水平数 - 1)因素数 1
正交表水平数不相等,就不能用以上公式计算了,查找正交表就可以了
正交表的两条性质: 每一列中各数字出现的次数都一样多。 任何两列所构成的各有序数对出现的次数都一样多
每一行代表一个测试用例
正交法设计测试用例的步骤:
1、有哪些因素(变量) 2、每个因素有哪几个水平(变量的取值) 3、选择一个合适的正交表 4、把变量的值映射到表中 5、把每一行的各因素水平的组合作为一个测试用例 6、加上你认为可疑且没有在表中出现的用例组合
5. 场景设计法
举个例子: ATM机取款流程:插卡—输入密码—输入取的金额—取钱—退卡 基本流程: 插卡—输入正确密码—输入的金额<银行账户余额—取钱成功—退卡 备用流程: 插卡失败/金额大于5w…
6. 错误猜测法
错误猜测法是经验丰富的测试人员喜欢使用的一种测试方法。
基于经验和直觉,找出程序中你认为可能出现的错误,有针对性地设计测试用例。
经验可能来自于在对某项业务的测试较多,也可以来自于售后用户的反馈意见,或者从故障管理库中整理bug。梳理出产品以往哪些地方容易出现问题,问题越多的地方,潜在的bug也就越多。