测试用例
1.测试用例的编写
- 一组测试输入
- 执行条件
- 预期结果
- 解决要测什么、怎么测、如何衡量
2.测试用例的重要性
- 有效性(对所有需求中的功能性需求和非功能性需求设计测试用例)
- 可复用性(可重复执行,提高效率)
- 易组织性
- 可评估性(测试用例的通过率是检验代码质量的保证)
- 可管理性(检验工作进度)
3.好的测试用例
- 功能要覆盖完全
- 尽可能抓住多的错误
- 相似测试用例中最有效的
- 模板根据所测对象可以进行调整
编写测试用例的优缺点和用途
- 优点
- 便于梳理需求
- 验证产品的需求是否合理
- 监督产品对需求做出更加详细的设计
- 记录产品的设计细节
- 加深对产品的认识和印象
- 反映测试进度
- 帮助发现拓展测试范围,扩大测试覆盖面,发现隐藏的缺陷
- 方便回归测试,复查bug是否还会出现
- 为紧急状态下的测试提供参考信息
- 培训新人,提高新人的测试效率
- 缺点
- 设计成本高:测试人员需要花费大量的时间投入到测试用例的编写上面。同时测试用例文档的页数越多,被完整阅读的可能性就越少。
- 效果差:穷尽测试不可能,好的测试用例设计是从无穷的测试中选择合理测试输入、测试组合、测试数据等,以相对有限的测试用例数目尽量达到理想的覆盖率。而详细的测试用例设计很难完全定义这些组合和场景,实践中需要测试设计不断迭代和更新。
- 维护成本高:测试用例的输入参考,例如:需求文档是经常变更的,这就会导致测试用例越详细,其维护的工作量更大。
- 用途
- 核实需求:每一个需求点都会设计测试用例
- 评估结果:对产品进行评估,对测试完成情况进行评价
- 准确回归:快速正确的进行版本的充分测试
- 防止遗漏:目标明确
- 提高效率:避免盲目测试
- 缩短周期:节约测试时间
准备编写测试用例
- 收集资料
- 需求文档
- 设计文档
- 遗留系统相关文档
- 与相关人员讨论
- 探索性测试
- 分步骤探索软件
- 具体问题具体分析
- 是测试用例有利的补充
设计测试用例的基本准则
- 测试用例的代表性:能够代表并覆盖各种代表
- 测试结果的可判定性
- 测试结果的可再现性
测试用例的书写标准
- 用例标题
- 测试项
- 输入步骤核实数据
- 预期及结果
- 测试用例之间的关联
如何选择测试方法
- 在任何情况下都必须使用边界值分析方法
- 用等价类划分方法补充一些测试用例
- 涉及到业务流程的软件,应采用场景法
- 用错误猜测法再追加一些测试用例
- 如果程序的功能说明中含有输入条件的组合情况,则应在一开始就选用判定表法
- 如果程序某功能适合自动测试,可以采用自动测试以及随机测试