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

上海顾湘里品牌管理有限公司 2026/09/09 19:36:36

一、背景与概念

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

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

为了解决这些难点,精准测试在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、在服务层的三项服务基础上进行拓展,基于数据基础层提供的数据支持,提供全链路精准打通不通异构程序间的关系,支持微服务之间的调度,全方位度量包含调用链的测试分析。

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

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

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

网站建设报价招商网站建设

在当今全球化的学术研究环境中,面对海量的外文文献,如何高效地进行阅读、翻译和笔记整理成为了每个研究者必须面对的核心挑战。Zotero翻译插件作为文献管理领域的重要工具&#x

2026/06/30 11:29:56

台州网站建设移动网站建设

Pyreverse终极指南:5分钟学会Python代码可视化分析【免费下载链接】pylintIt's not just a linter that annoys you!项目地址

2026/06/30 10:19:20

徐州网站建设大良网站建设

第一章:为什么90%的量子程序调试失败?量子程序调试的高失败率源于其与经典计算范式的根本差异。传统调试工具无法直接观测量子态而不破坏叠加性,导致常见的断点和日

2026/06/30 13:25:35

建设银行官方网站网站建设多少钱

EvalScope评测系统深度整合,一键生成权威模型排行榜在大模型技术飞速发展的今天,每天都有新的语言模型、多模态模型发布。从Qwen到LLaMA,从Inte

2026/06/30 13:52:08

嘉兴网站建设巩义网站建设

还在为商业流媒体平台的限制而烦恼吗?Jellyfin Android TV客户端为你提供了完美的解决方案!这款完全开源的家庭影院应用让你真正掌控自己的媒体世界,

2026/06/30 12:01:29

六安网站建设长春网站建设公司

你是否曾经为下载大文件而烦恼?网速慢、下载中断、管理混乱,这些问题在 Ghost Downloader 3 中都将得到完美解决。这款基于 PyQt/PySide 框架开发的

2026/06/30 10:09:48

建设厅网站网站建设团队

LunaTranslator语音朗读配置指南:三步打造个性化游戏体验【免费下载链接】LunaTranslatorGalgame翻译器,支持HOOK、OCR、剪贴板等。Vis

2026/06/30 11:52:58

网站建设中网站建设规划书

第一章:Open-AutoGLM 应用适配数量更新速度比拼在当前大模型快速迭代的背景下,Open-AutoGLM 的应用适配数量增长速度成为衡量其生态扩展能力的关键指标。本

2026/06/30 11:12:24

网站建设流程顺德网站建设

💡实话实说:有自己的项目库存,不需要找别人拿货再加价,所以能给到超低价格。摘要随着全球公共卫生事件的频发,高校作为人员密集场所&

2026/06/30 12:34:02