自动化思维
-
自动化策略思路:
- 项目分析(因为:梳理清楚项目的现状情况,自动化策略要结合项目现状来开展)
- 项目类型-是快速发布还是精品化项目特征-是新功能还是老功能影响还是改动
- 项目重点-重点和难点体现在什么地方
- 项目人员-人员技能、人员比例等等
- 公司要求-流程要求、高压线、规范等等
- 确定目标(设置预期目标效果)
- BVT覆盖率:80%
- xx模块:功能覆盖率xxx%
- 覆盖项目基本用户场景
- 开发单测覆盖xx模块算法,确保算法逻辑功能
- 代码覆盖率达到xxxxx%
- 代码review、扫描要求
- ……
- 风险分析(包括:风险识别+风险评估+风险应付)
- 风险识别:时间维度、人员技能、人力安排、产品特性难度、新技术、非成熟方案
- 风险评估:分为-高中低,基于风险测试(RBT)- 风险值=风险概率*风险影响
- 风险应对:针对风险,应对措施、办法
- 分层测试(从整体或模块进行分层分析,给出每个层面的测试策略,分解测试)
- 单元测试:函数级测试,验证代码正确性
- 接口测试:模块级测试,单个模块、模块与模块之间交互接口功能
- 功能测试:业务级系统级的测试,端到端的测试
- 专项测试:稳定性、可靠性、性能、兼容性、用户场景等等。
- 测试内容、策略
- 风险分析后,得出应对措施的测试内容
- 分层分析后,每层的测试内容
- 完成版本目标,所需要测试的内容
- 其他纬度:老功能自动化维护等等
- 自动化策略:重点是什么、什么方法、覆盖广度和深度、在什么阶段完成。
-
自动化设计原则:
- 1比1原则(维护性)
- 用例编写:变量的抽取
- 环境适配:改变环境后,什么东西需要修改
- 代码设计:需求变化后,什么东西需要改变
- 最少依赖原则(环境适应性+复用性)
- 所有的topo物理环境最少
- 所需要的额外搭建的服务最少
- 依赖人工准备最少
- 分层测试原则(精准测试+提前测试)
- 版本级的分层总体思路
- 模块或专项级的详细思路
- 简单方法原则(可测试性+现成成熟方案)
- 尽量使用简单的方法
- 无法找到满意简单方法,可以进行可测试性测试
- 覆盖面广原则(价值性+有效性)
-
自动化设计思路:
- 需求目标
- 理清项目需求
- 确定目标
- 找出价值点
- 策略制定
- 参考“自动化策略思路”
- 技术预言、学习准备
- 对于一些全新技术方法,提前预研
- 对于需要人员学习的技能,提前准备
- 整体设计
- 整体框架
- 环境topo图
- 整体分析思路
- 自动化关键字
- 整体可测试设计
- 复用自动化分析
- 等等其他总体方面考虑
- 详细设计(模块、专项)
- 模块开发设计深入理解
- 模块整体分层思路
- 模块的可测试性需求
- 模块的详细测试方法
-
备注:
- 平台框架的目的:管理代码和用例,提高复用率和效率。
- 通用代码库的目的:提高代码复用率,减少重复开发,提高效率。