背景与目标
传统测试存在主观人为因素大、回归成本高、质量无客观数据衡量、自动化用例价值发挥不足、重复无效工作多、敏捷模式下效率低下等问题。精准测试旨在解决“测什么”、“测的怎么样”、“用例怎么精简”的问题,通过量化变更影响范围、计算覆盖率和辅助链路覆盖率,建立用例和代码关联关系。
精准测试核心理念
精准测试是一套软件测试辅助分析系统,通过监控测试过程、分析数据,得到精准量化数据,促进测试过程完善,形成度量及分析闭环。核心组件包括用例和代码的双向追溯、测试用例精简、测试用例自动生成等。
核心思想
- 逆向追溯:通过收集测试覆盖率(全量/增量),建立测试用例与代码的关联关系,评估“我测的怎么样”。
- 正向追溯:通过代码diff找出差异代码,根据全链路分析找出受影响的服务/接口/方法,确定用例回归范围,评估“我要测什么”。
实现方案
精准测试整体方案
- 调用链路分析:服务端调用链路分析结果,覆盖率流程,覆盖率执行结果。
- 有效覆盖率:解决历史冗余代码多、全量代码量大、用例覆盖逻辑未真实执行、真实业务场景未被覆盖等问题,提升有效测试行覆盖40%左右。
平台建设及收益
平台架构设计
- 平台能力:精准测试SDK、天玑平台。
- 平台收益:
- 核心服务平均全量行覆盖↑20%+。
- 有效测试行覆盖提升40%左右。
- 用例精简10%+。
- 拦截召回有效缺陷10+/月,缺陷逃逸率降低15%+。
- 赋能研发,降本提效,测试过程整体提效20%左右,自动化分析效率5分钟内,研发提效50%+。
应用场景
在商城、库存、交易、前台等多个大型技改项目中应用,实现测试过程工具赋能,整体提效20%左右。
未来演进
- 精准测试原子能力SDK的开源建设。
- 版本变更对全链路影响综合风险评估能力搭建。
- 测试用例自动生成,健全用例知识库。
- 多维信息融合建模的用例推荐算法。
- 结合chatGPT能力,探索精准测试流程新方向。