本文章介绍自动化测试方案的优化。
Quick Guide
用例选择的优化
- 用例级别划分:p0+p1:p2:p3 数量比例 = 2:7:1
- p0: 冒烟用例 保证流程基本走通
- p1: 基本功能测试
- p2: 复杂功能测试
- p3: 异常场景
- 优先覆盖p0和p1
- 用例层级
- 单元测试:场景覆盖百分百
- API:正常调用和健壮性场景覆盖
- WEB:所有页面和用户常见操作
- 用例优化:20%用例覆盖80%场景
用例执行的优化
快
构建快 执行快
- 自动化任务划分
- 根据执行时间拆分:执行时间 1min内 1~5min 超过5min
- 根据用例级别拆分:冒烟测试和全量测试
- 并发和分布执行
定位快
- 日志要包含关键信息:
- 函数执行前后要有开始和完成日志
- 数值计算要有结果日志
- 日志类别划分:
- debug:详情运行日志
- info :重要运行日志
- warn:警告信息
- error:错误信息
多
- 多套环境:环境变量参数化,让用例可以在多套环境分别执行
- 开发环境
- 测试环境
- 类生产环境
- 提高用例的自动化率
- 减少用例:区分用例难度,实现对应策略解决
- 没有时间实现
- 实现难度大
- 暂时无法实现
- 防止自动化用例堆积
- 完成功能测试,需要完成p0和p1用例
- 划分责任人去实现
- 减少用例:区分用例难度,实现对应策略解决
稳:用例稳定性
- 增加重试机制
- 增加等待机制灵活和准确
- 提高校验的容错性
- 提高用例方案的稳定性
- ui用例:可以要求开发固定页面元素id,减少元素定位不稳定
与项目开发结合
持续集成
持续交付
持续部署
持续集成—>持续交付—>持续部署:
- 提交代码 —-> 代码静态检查—-> 代码规范审核—-> 单元测试—-> 构建版本包 (完成持续集成)
- 失败 —-> 回滚代码 —-> 发邮件给提交代码人员
- 版本包部署开发环境 —-> 进行冒烟测试—-> 进行全量测试
- 版本包部署测试环境 —-> 进行冒烟测试—-> 进行全量测试
- 版本包部署uat环境 —-> 进行冒烟测试—-> 进行全量测试
- 失败 —-> 发邮件给提交开发和测试人员
- 版本包部署线上(完成持续交付)—-> 进行冒烟测试—-> 进行全量测试(完成持续部署)