安全公司报告
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211344125.7 (22)申请日 2022.10.31 (71)申请人 深圳联友科技有限公司 地址 518031 广东省深圳市福田区深南中 路2010号东风大厦22楼2211、 2212、 2213房 (72)发明人 江伟铿  (74)专利代理 机构 深圳市顺天达专利商标代理 有限公司 4 4217 专利代理师 高占元 (51)Int.Cl. G06F 11/36(2006.01) (54)发明名称 一种基于覆盖率分析和链路追踪的精准测 试方法 (57)摘要 本发明公开了一种基于覆盖率分析和链路 追踪的精准测试方法, 涉及软件测试技术领域。 本发明包括: 通过探针技术, 动态插桩, 识别增量 代码, 记录测试过程中代码覆盖率信息, 并定时 主动上传到服务端; 服务端根据覆盖率信息结合 源码染色, 生成覆盖率报告。 通过分析未覆盖代 码, 挖掘漏测场景及无效代码; 通过链路追踪, 记 录用例的链路轨迹, 版本提交时, 分析增量代码, 梳理变更的方法, 匹配用例的链路轨迹, 实现用 例的精准推荐。 通过覆盖率数据, 对未覆盖代码 分析, 挖掘遗漏场景, 减少漏测; 通过采集用例链 路数据, 实现用例的自动链路梳理和分析, 辅助 快速定位问题; 通过分析增量代码, 对比用例链 路数据, 实现精准推荐测试用例, 缩 小测试范围。 权利要求书2页 说明书6页 附图6页 CN 115391233 A 2022.11.25 CN 115391233 A 1.一种基于覆盖率分析和链路追踪的精准测试 方法, 其特 征在于, 包括以下步骤: 步骤一: 数据采集: S11: 用例执 行时, 用例对应的每 个请求在header里均带有用例标; S12: 请求执行时, 链路追踪探针采集运行日志到监控平台, 运行日志包含用例标和 traceid信息; 若请求在service中调用其他服务, 则获取到请求在各service的调用信息, 通用日志 SDK采集调用信息日志到监控平台; S13: 测试用例执 行完毕后, 对 采集的数据进行落库; 步骤二: 流水线调用: 获取增量文件 并对增量代码分析落库、 对推荐用例结果集去重后 完成精准推荐用例, 并在自动化测试平台根据用例id自动回归, 实现精准测试。 2.根据权利要求1所述的一种基于覆盖率分析和链路追踪的精准测试方法, 其特征在 于, 所述t raceid信息的获取 方式为: 用例对应的每个请求在到达service时, 探针均需检测traceid, 若不存在traceid, 或 者traceid为0 /Null, 则探针为请求创建唯一的t raceid; 用例标与t raceid 为一对多的对应关系。 3.根据权利要求1所述的一种基于覆盖率分析和链路追踪的精准测试方法, 其特征在 于, 获取到请求在各service的调用信息的步骤为: 当请求在service中调用其他服务时, 探针将当前请求的traceid透传下去, 在每个 service中都存在对应tracei d的调用记录, 从调用记录中获取到请求在各service的调用 信息。 4.根据权利要求3所述的一种基于覆盖率分析和链路追踪的精准测试方法, 其特征在 于, 所述调用信息包括用例标、 t raceid、 服 务名、 类名、 文件的方法。 5.根据权利要求1所述的一种基于覆盖率分析和链路追踪的精准测试方法, 其特征在 于, 采集的数据进行落库的方法为: 测试用例执行完毕后, 自动化测试平台调用精准测试平台接口, 把项目id和用例标传 至精准测试平台; 精准测试平台根据用例标从监控平台查询运行日志, 获取到用例对应的所有的 traceid, 并根据@timestamp字段对t raceid升序排序; 按顺序遍历每一个traceid, 从监控平台查询调用信息日志,获取traceid对应 的所有 调用信息记录并按@timestamp字段对t raceid升序排序; 每一条记录对应一个调用, 每一个调用插 入一条数据库记录; 所述数据库记录 字段包含: 项目id、 用例id、 t raceid、 servic、 clas s、 method。 6.根据权利要求1所述的一种基于覆盖率分析和链路追踪的精准测试方法, 其特征在 于, 所述流水线调用的步骤为: 发起DevOps流水线, 从GitLab中拉取项目代码并编译部署完成; 流水线发起精准测试分析, 并传递项目id给精准测试平台。 7.根据权利要求6所述的一种基于覆盖率分析和链路追踪的精准测试方法, 其特征在 于, 所述精准推荐用例的方法为: S31: 根据项目id获取自动化测试平台中关联的项目信息, 项目信息包括: 项目名称、 服权 利 要 求 书 1/2 页 2 CN 115391233 A 2务名称、 GitLab代码地址; S32: 根据codeurl通过git  diff 获取到项目当前版本与上一版本的增量文件清单, 并 过滤非代码文件, 利用javaparser分析java类文件, 获取增量文件 对应的差异id; S33: 增量代码分析落库; S34: 用例精准推荐: 根据差异id获取明细表中对应的记录, 遍历每一条记录, 根据项目 id、 服务名称、 类、 方法与调用信息做匹配, 当项目id、 服务名称、 类、 方法全部匹配成功后, 则获取对应的用例id, 加入到推荐用例结果集中; 遍历 完成后对推荐用例结果集去重, 完成 精准推荐用例。 8.根据权利要求7所述的一种基于覆盖率分析和链路追踪的精准测试方法, 其特征在 于, 利用javaparser分析java类文件的方法为: 如果文件是新增的, 则返回该文件所有的方法; 如果文件是修改的, 则比对新旧两个分支/Tag/版本文件对应的方法清单, 如果方法是 新增的, 加入返回方法结果集; 如果方法已存在, 则比对方法的MD5值, 如果一致则方法不 变, 如果不一致则表示方法是变更的, 加入返回方法结果 集。 9.根据权利要求8所述的一种基于覆盖率分析和链路追踪的精准测试方法, 其特征在 于, 所述增量代码分析落库的方法为: 主表: 每次增量代码 分析均插入一条记录, 记录包含差异id、 项目id、 GitL ab代码路径、 创建时间; 明细表: 每一个新增/变更的方法, 对应一条明细记录, 明细记录信息包含: 差异id、 类、 方法。 10.根据权利要求7所述的一种基于覆盖率分析和链路追踪的精准测试方法, 其特征在 于, 完成精准推荐用例后, 调用自动化测试平台接口, 传入精准推荐用例集, 自动化测试平 台根据用例id自动回归, 实现精准测试。权 利 要 求 书 2/2 页 3 CN 115391233 A 3

.PDF文档 专利 一种基于覆盖率分析和链路追踪的精准测试方法

文档预览
中文文档 15 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共15页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种基于覆盖率分析和链路追踪的精准测试方法 第 1 页 专利 一种基于覆盖率分析和链路追踪的精准测试方法 第 2 页 专利 一种基于覆盖率分析和链路追踪的精准测试方法 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 07:12:00上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。