测试实践 - 测试范围分析| 京东云技术团队
一、背景
需求迭代过程中产研漏评估业务影响点是 bug 漏到生产环境的主要原因之一。减少漏评估问题的发生是提升交付质量的重要方向,精准测试是除依赖产研人员能力及经验外的另一种分析业务影响点的方式。
二、实践方案
1.方案简介
下面介绍针对 java 单应用的代码改动影响自动分析方案。
1)原理介绍
基于代码依赖关系分析改动的代码影响到哪些入口代码(接口、消息、任务等入口方法)。
举例,如下图,假设某应用改动了底层方法 1,则基于代码间调用关系可以分析出方法 a、b、z 为被方法 1 影响的该应用最外层入口方法。
2)实施流程介绍
代码依赖分析方案详细介绍:
a.基于 asm 框架对 java 字节码文件进行解析,可解析出代码间调用关系。
举例,下图为字节码文件部分内容的截图,方法中的 invokexxx 指令为字节码中调用方法的指令,用 asm 字节码分析框架,可分析出如在 methodA 中调用了 methodB。
b.以提测分支与 master 分支含 diff 的方法作为查询对象,结合方法间调用关系数据,可查出某方法影响到哪些入口方法
三、实践效果
结合 coding 的 webhooks,实现代码提测后自动获取代码 diff 及其影响代码的自动分析。
四、未来规划
基于分析出的影响接口、消息入口信息,结合对应接口的测试用例,可以进一步实现测试用例的推荐与自动运行,及结合代码覆盖率分析能力自动给出测试覆盖率报告。
作者:京东科技 吕俊
来源:京东云开发者社区
版权声明: 本文为 InfoQ 作者【京东科技开发者】的原创文章。
原文链接:【http://xie.infoq.cn/article/4392855a8cf4b58475b1ae756】。文章转载请联系作者。
评论