建设银行网站长沙营销型网站建设

广州市南海工艺品有限公司 2026/09/09 20:22:14

一、背景与概念

随着软件测试行业的长足发展,测试理念、技术都在发生着日新月异的变化。因此一套完整的自动化测试用例对于每个软件公司都是不可或缺的,然而虽然有如此规模宏大的自动化案例集资源投入,同时也有大量人力的投入,但是当版本更新时,无法精确知晓哪些功能受到影响,进而不能精准选取测试用例。

而金融科技更是发展迅猛,服务于银行业的软件越来越多,需求迭代越来越快,系统架构越来越复杂,测试周期也越来越短;而银行业务系统有着业务链条长、系统结构复杂、无法完全解耦等特性,因此基于经验是无法精准选取测试用例的,不足以保障测试范围准确。

为了解决这些难点,精准测试在2012年被提出,所谓精准测试是一种可追溯的软件测试技术,就是借助一定的技术手段,通过算法辅助对传统的软件测试过程进行可视化、分析和优化的流程,其核心思想就是对测试过程的活动进行监测,将采集到的监控数据进行分析,得到精准的量化数据进行质量评价。

程序的微小变动也会带来新的测试工作,通过经验进行质量评估很容易引入问题,而全量的回归测试也难以负荷。下图是目前的测试工作现状。

因此使用精准的数据来判断,让测试人员精准地知道程序变更、测试范围、测试覆盖完整性等等,最终提供更加有效地测试分析结果。精准测试的目标如下图所示。

目标一是通过识别变更代码获取变更程序。精准测试可以更精确地圈定需要回归测试的用例范围。

目标二是精准测试基于变更程序或调用链维度提供测试度量结果,用以判断本次测试的变更程序代码是否覆盖完全,进而帮助测试更精准地评估测试风险,并形成测试准出标准。

目标三是精准定位错误原因,在测试用例执行时,精准测试针对失败案例,提供可视化调用关系,帮助测试快速定位问题,提升开发测试的协同效能。

综上,精准测试在测试范围分析、测试度量和定位错误等方面提供分析手段,使得测试工作事半功倍。

二、业界实践

(一)爱奇艺精准测试体系

爱奇艺精准测试支持客户端和服务端多端使用,支持手工和自动化场景,内部多个平台联动,打通整体使用流程,可以准确获取单个用例的代码覆盖。服务端能做到系统级别串联,客户端则能实现多组件整合,已经实现用例和代码分支或代码块级别的关联。

下图为爱奇艺精准测试体系整体架构图:精准测试服务是核心,负责建立用例和代码映射关系知识库并根据git提交记录计算测试范围和影响范围。不同的终端用到的代码覆盖率工具也不相同,在与外围平台的集成上,服务端可以和环境平台相结合,通过环境平台实现代码覆盖率工具的安装;客户端则可以和构建平台做集成。

(二)字节跳动精准测试实践

上图为字节跳动研发团队常见的研发流程。需求研发分为了五个阶段,精准测试主要在自测和功能验收测试和回归测试节点。在三个节点中,业务通过请求SmartEye服务,可以分别获取到自测推荐用例、功能测试推荐用例以及回归测试推荐用例。其中,自测用例和功能测试推荐用例用于验证代码变更是否引起存量程序功能异常,将功能缺陷发现前置,为研发团队争取更多的修复时间。回归测试用例推荐用来精简回归测试人力,帮助业务节省回归测试人效。

上图为精准测试整体方案,Code Graph平台为SmartEye提供数据支撑,Code Graph平台的双端静态代码调用链分析能力与整体调用链路拓扑数据,完成基于MR的变动DIFF分析以及上下游调用链分析,并针对变动DIFF部分,完成代码变动率的统计。

三、行内现状及发展

总体而言行内(中国工商银行)的精准测试目前缺少用例录制以及用例推荐功能。

1、覆盖率采集类型

我行在覆盖率采集方面有较深入的探索,目前支持多语言的覆盖率采集,包括JAVA、存储过程、CTP与MYBATIS。

2、使用覆盖率工具代码染色系统辅助测试

从GIT提交的JAVA变更获取到变更方法的维度,并支持采集变更存过,变更Mybatis方法,变更CTP文件。目前的覆盖率工具通过代码染色直观地展现了配置应用多种语言的增量覆盖率情况,为降低系统上线风险提供支持。

配置接入代码染色的应用,可直观获取到对应月度版本的变更程序方法级别覆盖率,将此作为精准测试的实践数据,在后续可展开更深度的分析,并不断扩大推广规模以及深度,增强精准测试的应用效果。

3、支持静态调用链解析,全链路精准上,工行探索异构调用链之间的关系,给出的测试分析更为全面。

4、静态调用链解析包括 CTP、存过、JAVA三大类

5、同行内平台打通部署

在行内环境集成之上,现已嵌入PAAS平台,改造后的应用只需要配置三个PAAS参数即可下载工具包,使用服务。若为非云环境的was,我们会从cmdb上取到配置信息做夜间的自动部署。

该示意图展现了数据流向,最底层的Docker镜像解析服务通过解析.dockfile文件获取字节码内容;向上是数据采集,客户端采集到的覆盖率结果通过覆盖率集群输送到消息中间件支上,同时静态调用链解析服务,会进行一个静态文件的解析;再向上是数据存储层,将覆盖率数据存在redis上,把海量覆盖数据,调用链数据存在hbase里面,环境相关的方法信息存在oracle里面;然后是服务层,根据拥有的数据提供实时变更方法覆盖率采集展示,投产日维度覆盖率报表,一级入度调用链覆盖报表三大功能。

四、进一步建设

1、目前的变更影响分析中,主要是基于静态调用链分析,但静态代码存在局限性,如反射,未来还需要进一步结合动态代码分析的结果进行修正和补充调用链。

2、精准测试智能化,主要体现在测试用例推荐方面,准确地推荐案例,形成“精准分析->自动化测试->覆盖度量”地测试闭环。目前中国工商银行内也在推进这方面发展,上研已提出“智能规范推送工具”基于现有的需求数据、案例内容、测试规范库的信息进行智能化提取,在无需额外投入的情况下,实现智能化案例推荐,用以提高测试效能。

3、在服务层的三项服务基础上进行拓展,基于数据基础层提供的数据支持,提供全链路精准打通不通异构程序间的关系,支持微服务之间的调度,全方位度量包含调用链的测试分析。

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

营销网站建设专业网站建设

重构开发工作流:三大云原生工具的架构融合实践【免费下载链接】code-server项目地址: https://gitcode.com/gh_mirrors/cod/code-server

2026/06/30 12:20:00

旅游网站建设绍兴网站建设

全功能应用:拼写检查与索引生成在文本处理领域,拼写检查和索引生成是两项重要的任务。下面将详细介绍如何使用相关工具和脚本完成这些任务。拼写检查脚本拼写检查脚本通过设置一个 shell 变量AWKLIB来

2026/06/30 10:15:19

网站建设合同龙岗网站建设公司

如何搭建专属的特斯拉数据分析平台:从零开始的完整实践指南【免费下载链接】teslamate项目地址: https://gitcode.com/gh_mirrors/tes/teslama

2026/06/30 12:45:32

网站建设广告天津网站建设公司

还在为《流放之路》复杂的装备搭配和天赋树选择而困扰吗?Path of Building作为一款专业的离线构筑规划工具,能够帮助你精确计算伤害输出和防御能力,在

2026/06/30 12:15:30

甘肃网站建设泸州网站建设

点击下方卡片,关注“CVer”公众号AI/CV重磅干货,第一时间送达点击进入—>【顶会/顶刊】投稿交流群添加微信号:CVer2233,小助

2026/06/30 13:21:05

网站建设模板网站品牌建设

终极QQ截图独立版:5分钟快速安装与完整功能指南【免费下载链接】QQScreenShot电脑QQ截图工具提取版,支持文字提取、图片识别、截长图、qq录屏。默认截图文件名为ScreenSh

2026/06/30 11:35:26

昆明网站建设济南网站建设公司

ms-swift框架下SAPO与GSPO算法在决策任务中的表现在构建真正“聪明”的AI系统时,我们常常会遇到一个尴尬的局面:模型能写出语法完美的句子,也能在单

2026/06/30 11:05:53

北京网站建设网站建设书

计算机毕业设计springboot网络商城系统z0572au6 (配套有源码 程序 mysql数据库 论文)本套源码可以在文本联xi,先看具体系统功能演示视频领取ÿ

2026/06/30 12:52:33