一. 测试分析
1. 什么是测试分析
通过多种技术手段对被测对象进行分析,得出被测物定性或定量的元素称为测试分析,重点是分析。
2. 测试分析的目的
- 做对的事
- 分解复杂事物, 确保测试设计时, 所需面对的对象的完整性和正确性, 是后续活动的输入
- 确保测试活动的效率及有效性
- 测试分析输出
- 完整的测试范围, 包括测试功能点/功能点需要覆盖的测试点/测试类型/测试手段
- 功能点/测试点之间的依赖关系, 合理的测试用例框架
3. 测试分析流程
- 分析框架
- 应当针对需求/产品线/功能模块整理测试框架, 明确测试范围覆盖的依据
- 范围包括功能测试/性能测试/稳定性测试/压力测试/兼容性测试/其他专项测试
- 分析角度
- 原始需求
- 功能设计/实现逻辑
- 用户场景
- 其他, 如合入/改动等
- 分析方法
- 由原始需求梳理业务流程进行分解, 以"若A=1则B=1"为边界划分, 边界之间即测试对象(功能点)
- 由测试对象间的数据流/状态关系梳理关联关系, 以"C=2时,若A=1则B=2"为边界划分, 边界之间及关联测试对象
- 最终状态
- 测试类型合理
- 测试对象无遗漏
- 测试对象关联无遗漏
- 测试对象相对独立
二. 测试设计
1. 什么是测试设计
测试设计的过程是根据测试对象信息,不断建立模型的过程。通过建立模型,从测试角度描述测试对象、了解测试对象、分析测试对象,并最终得到验证该模型的测试用例的过程。
2. 测试设计流程
- 设计流程
- 由测试对象的必要效能输出最高优先级测试点, 即冒烟测试用例
- 根据测试对象的实现逻辑进行设计, 如逻辑上需要判断/遍历/数据类型转换/序列化/循环等使用对应的测试设计方法输出测试用例
- 根据测试对象在用户使用时常用的部署方式/输入数据/操作方式等场景来补充其他A的情况及B的预期状态, 即用户场景测试用例
- 根据用例的测试步骤/断言等合并相同测试用例并考虑的验证方面及最佳验证方法, 最佳应当考虑方法有效性/可行性/方法效率
- 设计方法
- 根据边界值设计
- 根据容量设计
- 根据正反状态设计
- 根据等价类设计
- 根据输入多样性设计
- 测试合并方法
- UI/功能/性能容量合并
- 正反合并
- 包含合并
- 过程合并
- 重难效测试点合并
- 最终状态
- 一条测试用例对应一个测试点 - 避免遗漏且目的明确
- 测试用例框架合理 - 即执行顺序相对流畅, 重复/繁琐操作少
- 测试用例数量合理 - 测试成本和输出质量的平衡
三. 测试分析设计总结
1. 测试分析设计的意义
- 测试工作前移
- 在得到测试对象之前测试无法实施, 但可以预先梳理和明确"我们要测试什么"和"和怎么测试", 充分的测试分析设计达到的理想状态是在得到测试对象前完成了除测试执行以外的所有内容
- 能够在达到预期质量前提下减少测试执行时间即提高了整体开发效率
- 提高测试执行效率
- 最小数量/执行成本的测试用例可达到预期的质量
- 减少人员变动的执行成本
- 测试有效性/可靠性
- 通过测试分析可确保每条测试用例有依据/可达到测试目的
- 通过测试设计可降低不同人员执行时的差异