一、等价类划分法
概念 :将输入数据划分为有效等价类和无效等价类,从每个子集中选取代表性数据进行测试。适用场景:
适用于输入数据量大且无法穷举的情况,如密码强度验证、日期选择器等。
步骤
- 明确需求,划分有效/无效等价类;
- 设计测试用例覆盖所有有效类和典型无效类。
二、边界值分析法
概念:
在输入/输出范围的边界值设计测试用例,因错误多发生在边界处。
适用场景:
适用于有明确边界限制的输入,如长度限制、数值范围等。
示例:
输入范围10≤X≤100,测试点为0,1,2,9,100。
三、场景法(流程图法)
概念:
基于软件业务逻辑,模拟用户操作路径,覆盖正常流程和异常处理。
适用场景:
适用于多步骤的业务流程,如登录、支付、文件上传等。
步骤
- 绘制流程图,识别所有路径;
- 为每条路径设计成功/失败测试用例。
四、判定表法
概念:
通过表格列出多输入多输出的逻辑组合,确保所有可能情况都被覆盖。
适用场景:
适用于输入条件之间存在依赖关系的场景,如权限验证、状态切换等。
示例:
用户权限分为普通、管理员、超级用户,设计表格覆盖所有权限组合。
五、错误推测法
概念:
根据经验或直觉推测程序可能出错的地方,针对性设计测试用例。
适用场景:
适用于复杂业务逻辑或历史问题较多的系统。
示例:
用户输入非数字字符时系统崩溃,推测输入验证逻辑存在问题。
其他补充方法
正交实验法:通过少数测试用例覆盖多因素组合,适用于多条件复杂场景。
极限测试:测试系统在最大/最小规格下的表现。
容错性/破坏性测试:验证系统对异常输入的处理能力。
总结
设计测试用例时需结合具体场景和需求,优先覆盖边界值和典型场景,再补充其他方法。对于复杂系统,建议采用组合策略(如边界值+场景法)以提高覆盖率。