1. 等价类划分
将输入数据分为有效等价类和无效等价类,确保测试覆盖所有可能的输入情况。常见的测试场景为文本框输入,比如只能输入整数,那么有效等价类就是整数,无效等价类就是非整数。
2. 边界值法
测试输入或输出值的边界条件,包括最小值、最大值和范围之外的值。也常见于文本框输入,比如输入0-100之间的值,此时可以尝试最小值0,最大值100,范围之外的值-1,101,此时不光使用到了边界值,也使用了等价类划分,即范围内的值和范围之外的值。
3. 决策表
使用表格来组织条件和动作,以系统地测试软件的所有可能路径。假设我们要测试银行账户的存款功能,我们可以使用决策表来列出所有可能的条件和动作。
图1 决策表设计测试用例
4. 因果图
使用因果图来表示输入和输出之间的关系,以识别测试条件。
使用因果图来设计测试用例,考虑账户取款功能。我们定义以下原因和结果:
原因1: 账户余额充足
原因2: 账户余额不足
原因3: 输入的取款金额大于0
原因4: 输入的取款金额小于等于0
结果:
R1: 取款成功
R2: 取款失败
因果图如下:
图2 因果图设计测试用例
5. 状态转换
测试软件在不同状态之间的转换,以确保正确地处理所有可能的转换。
假设银行账户有以下状态:
状态1: 未激活
状态2: 激活
状态3: 冻结
状态转换可能如下:
从状态1到状态2:账户激活
从状态2到状态3:账户冻结
从状态3到状态2:账户解冻
我们可以设计以下测试用例来覆盖状态转换:
图3 状态转换设计测试用例
6. 路径测试
确保测试覆盖程序中的所有可能执行路径。这种测试通常由单元测试覆盖会更好。
7. 错误猜测
基于经验和直觉来预测可能的错误,并设计测试用例来验证这些猜测。
8. 随机测试
使用随机生成的输入数据来测试软件,以发现不常见的错误。
网友评论