测试规范
目的
为了确保软件产品质量,使产品能够顺利交付和通过验收,特编写本文档,以作参考。
适用范围
本文档适用于项目开发过程中的单元测试、API测试、集成测试、系统测试、验收测试。
测试流程
测试输入文档
需求文档
- 需求评审阶段确定是否需要进行 性能测试/兼容性测试
- 逻辑清晰的流程图
- 在原流程图上修改的,变更部分需颜色区分
用户故事
UI设计
开发方案
- 接口测试
- 确定哪些需求需要接口测试
- 接口文档(关联需求)
- 数据库表及字段、接口
- 脚本:考虑性能,及实现方案
测试输出文档
测试用例
- 用例编写
- 用例编写规范,一个场景一条用例
- 用例评审
- 由测试人员主持会议
- 参会人员:对应需求产品、前端开发、后端开发、测试
- 测试人员记录评审变更点,会后及时更新用例
- 用例关联需求
bug列表
- 每个bug修复之后,备注bug出现的原因及修复方案(开发写)
- bug关联用例、关联需求
测试种类
- 单元测试(开发)
- 冒烟测试
- 集成测试
- 完成单元测试后,各模块联调测试,所有模块的测试用例均已执行且通过
- 集中在各模块的接口是否一致、各模块间的数据流和控制流是否按照设计实现其功能、以及结果的正确性验证等
- 测试方法一般选用黑盒测试和白盒测试相结合
- 系统测试
- 站在用户的角度对需求进行全面测试
- 考虑界面、性能、兼容、安全
- 回归测试
- 再次执行所有测试用例且通过
- 随机测试
- 根据测试人员自身能力与经验进行测试
- 验收测试(产品)
缺陷管理
缺陷等级定义
- P0系统死机、无反应、异常退出、数据丢失、重要数据计算错误
- 数据库死锁
- 客户端异常退出、无法启动
- 实现的功能与需求完全不符
- 客户端、服务器死机或者不响应
- 严重的数值计算错误(计算社保公积金工资数据)
- 核心功能出现异常(计算社保公积金工资订单、支付订单)
- 用户数据丢失或破坏
- 用户权限定义错误
- 微信客服socket断联
- P1主要功能及关键功能失效或未实现
- 数据统计错误
- 关键字段取值错误
- 核心功能的性能较差(3s以内)
- 数据保存或更新失败
- APP主流机型不兼容
- 无法正常保存(按钮功能未实现错误)
- 影响其余模块功能使用
- 存在不安全因素,可能导致非法进入系统、非法获得数据、盗用链接等情况发生
- P2非关键/主要功能失效或未实现
- 错别字
- 界面显示错乱
- 提示信息不易理解
- 输入限制未进行控制
- 删除操作未给出二次确认提示
- APP非主流机型不兼容
- P3不影响功能,界面优化
- 系统风格不统一
- 数据加载时间过长时未显示加载进度条
- 可输入区域和只读区域没有明显的区分标志
- 功能建议
缺陷优先级定义
缺陷优先级 |
描述 |
非常紧急 |
如果故障妨碍开发人员的进一步开发活动,应立即修复 如果阻塞测试,应立即修复 |
紧急 |
必须修改,不一定马上修改,但需当天修复 |
普通 |
需要列入当前迭代需求表中正常排队等待修复 |
较低 |
可列入下一迭代中进行修复 |
缺陷状态定义
缺陷状态 |
描述 |
初始状态【待处理】 |
测试或项目其他人员提交一个新的缺陷,等待开发人员修复或项目经理分配修改负责人 |
修复中 |
开发人员正在修改 |
已解决 |
缺陷已被开发人员修复,等待测试人员验证 |
已拒绝 |
不是缺陷或要求缺陷的提交者再次对缺陷进行说明 |
关闭 |
测试人员验证已修复的缺陷 |
重新打开 |
测试人员验证,缺陷没有修改正确 |
测试完成标准
- 被测试出的,在软件错误级别分类汇总定义
- 一级缺陷,致命错误,100%修复并且回归通过
- 二级缺陷,严重错误,100%修复并且回归通过
- 三级缺陷,一般错误,95%修复并且回归通过
- 四级缺陷,轻微错误,95%修复并且回归通过
- 用户可以接受未修改的软件错误
- 超过了预计的测试时间表,由项目负责人确定是否停止测试
测试报告
记录需求上线后出现的各种问题,关联需求、关联用例
遗留问题:线上bug如何规划?