上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

A2--曾睦宁--广发银行信创项目技术测试实践分享.pdf

编号:152025 PDF 37页 13.57MB 下载积分:VIP专享
下载报告请您先登录!

A2--曾睦宁--广发银行信创项目技术测试实践分享.pdf

1、广发银行信创项目技术测试实践曾睦宁广发银行资深测试经理曾睦宁近年一直在银行从事测试工具研发和实践工作,带领团队建成广发银行测试工具体系,涵盖自动化测试、造数、覆盖率统计、混沌工程、精准测试、流量测试等诸多方面,具备丰富工具建设经验,为众多项目量身定制技术测试解决方案。广发银行研发中心测试部资深测试经理嘉宾照片目录CONTENTS信创项目背景与测试的思路和方法01 双发对比技术的运用02 流量案例自动生成技术的运用03 信创项目测试技术实施成果04 01信创项目背景与测试的思路和方法 信创国产化项目实施背景信创国产化项目实施背景项目背景 信创是“信息技术应用创新“的简称,为解决核心关键技术“卡脖

2、子”的问题,近年来,关乎国计民生的关键行业率先开展信创工作,金融行业作为国家信创战略主战场,近些年也取得了瞩目成绩,对于银行软件来说,信创项目主要是基于底层基础软件改动而对应用软件开展的适配改造,如何在此类项目高效、高质量、低成本地开展功能测试成为各家银行测试人员孜孜以求的目标,广发银行结合信创项目技术特点,总结实践出一套行之有效的全量功能回归技术测试方法。银行信创项目测试特点银行信创项目测试特点测试时间少测试资源投入少被测应用应用层改动少银行系统质量要求高 信创项目测试思路与方法信创项目测试思路与方法测试思路与方法 针对银行信创项目的特点,我行功能测试的基本思路是不能简单的功能回归,既要保证

3、效果还要成本较低,建立了这套技术测试方法,通过多场景的双发比对保证主要功能的正确性,通过自动生成的流量案例保证低频功能的正确性,两者结合覆盖了全量的功能,既保证了高效、高质量,又将成本控制在较低水平,下面分别介绍两种技术测试方式的技术实现和适用场景:1、双发对比技术的运用2、流量案例自动生成技术的运用02双发对比技术的运用 以旧系统为基准,将新旧系统处理后的结果进行比较,发现新系统和旧系统不一致的地方。比对的内容包括:响应报文、数据库、文件。比对请求报文通过流量双发工具,双发新旧系统,以便后续开展新旧比对,双发分为实时和事后回放两种方式。双发双发比对什么是双发?什么是比对?双发工具采用java

4、agent的方式接入旧系统,旧系统无需代码改造,无业务侵入双发agent拦截到流量经过序列化后转发到双发工具后端实时模式下,双发工具后端直接将流量转发新系统回放模式下,双发工具后端将流量处理后存储在数据库中,再按要求的时间双发新旧系统比对工具通过文件同步和双发工具获取比对介质。u 文件同步:采集比对的文件u 双发工具:从双发工具获取报文对报文、文件或数据库数据进行预处理,包括:u 字段拆分组合:对字段进行拆分和合并。u 数据去噪:去掉不参与比对的字段,如时间戳等。u 编码转换:如GBK转UTF8。u 半角全角转换u。数据采集数据加工数 据 采 集 和 数 据 加 工比对工具文 件 比 对支持的

5、文件类型:ODS文件、文服文件、批量文件、联机交易文件。插 件 管 理管理定制化的比对插件,方便支持不同应用系统。报 文 比 对支持的报文格式:Xml、Json、8583、定长、定长+Xml等。数 据 库 比 对数据库比对支持的类型:分布式数据库和集中式数据库。比 对 功 能比对工具交 易 覆 盖 分 析分析比对涉及的交易,以便补充漏测交易。代 码 覆 盖 率 分 析根据代码覆盖率分析未被覆盖的代码,以便补充场景。报 文 比 对 统 计比对失败报文信息、未覆盖的接口信息。数 据 库 比 对 统 计比对失败表信息、未覆盖的表信息。文 件 比 对 统 计比对失败文件信息、未覆盖文件信息。结 果 统

6、 计不同应用比对规则不一致导致的工具通用性问题01如何提高比对效率02如何提高回放效率03如何提高出错排查效率04双发比对遇到的问题与解决思路技术难点及解决思路由于需要兼容不同系统的比对规则,工具需要兼容处理,采用通用插件+个性化插件的模式解决通用性问题:通用插件:1)码值的转换,如GBK转UTF-8;2)特殊字符处理,如:全角、半角转换 .个性化插件:1)字段排序;2)多字段计算;3)数据库字段拆分或合并 .系统A插件系统B插件通用插件2通用插件3通用插件1系统C插件01 比对规则不一致导致的工具通用性问题A系统比对B系统比对C系统比对通用插件+A系统插件通用插件+C系统插件通用插件+B系统

7、插件技术难点及解决思路生产环境报文流量、文件和数据库的数据量非常庞大,全量比对耗费时间过长,通过以下技术手段提升比对效率:1)报文去重:采用回放模式时,录制流量按照交易码、渠道类型(如柜面渠道、网银渠道等)去重,达到一定数量流量后,按上述规则主动抛流量。2)大文件拆分:将大文件拆分为多个小文件,对小文件进行比对,可节省大量时间。3)数据库导出文件比对:文件比对相比数据库比对节约了数据库I/O操作,一般将数据库导出为文件进行比对,提高比对效率。02 比对效率提升思路技术难点及解决思路03 交易回放提效思路根据交易时间段划分流量包,多线程并行回放。有回放失败的交易,确认为有先后顺序的金融类交易,添

8、加到前面的串行交易序列中串行并 行流量双发工具支持:串行和并行两种回放模式结束后对于有先后顺序的金融类交易按照配置的顺序串行回放,后发交易在本交易时间之前的前序交易收到响应报文后,才开始回放。技术难点及解决思路04 比对出错排查提效思路错误自动去重对于相同原因引起的报错只保留一条,例如同一字段比对失败引起的多笔流量失败,保留一条。完善比对报告包含包括原始比对信息和按字段结构化展示的比对信息,且比对差异加亮加粗。丰富查询条件支持按交易码、交易类型、交易时间、错误类型等查询。双发比对使用方式优 势:实 施 成 本 低不 足:数 据 多 样 性 不 足生 产 数 据 脱 敏 后回 放 比 对生 产

9、环 境实 时 双 发 比 对测 试 环 境实 时 双 发 比 对优 势:生 产 数 据 丰 富不 足:实 施 成 本 较 高优 势:生 产 数 据 丰 富不 足:具 备 技 术 投 产 的时 间 和 环 境03流量案例自动生成技术运用流量案例测试技术简述 信创项目另外一种技术测试方式是流量案例的使用,对一些P0级的场景以及一些低频的测试场景我们会额外写一些自动化脚本作为双发比对的补充,但没用传统的UI或接口自动化的形式,通过流量录制的方式自动生成案例,这种方式成本较低。录制:将交易触发的所有请求和响应报文以及由入口调用引发的子调用保存成自动化案例。回放:模拟请求触发,将请求报文直发服务器,触发

10、的db、cache等操作,使用录制的子调用作为挡板,还原当时的场景,将回放时真实的响应报文和录制时的响应报文比对,验证结果的正确性。流量案例自动生成实现原理技术简介工具原理与使用方式用户界面操作登录系统交易前查询转账发起交易审批余额查询IP、环境根据用户IP按顺序录制界面UI请求、响应报文信息登录接口流量交易前查询接口流量转账发起接口流量交易审批接口流量余额查询接口流量录制子调用插件回放时MOCK返回不真实操作DB操作CACHE操作外围系统接口调用操作流量案例生成:工具将客户端挂载到目标应用主进程,实施动态监控用户请求IP,当用户进行页面操作时,自动将用户触发的所有请求记录并保存成自动化案例。

11、使用方式流量录制回放的难点与解决思路流量录制回放平台作为测试工具在我行落地所面临的问题:兼容现有老旧系统架构Sandbox原有框架存在不足应用代码更新导致原有流量回放失败解决JDBC与数据库问题解决前后端不分离系统难以实施自动化测试问题解决子调用匹配问题解决系统内接口子调用丢失问题前端流量自动更新后端流量自动更新保证流量录制回放技术的适用规模提高流量回放成功率为了解决这些问题,平台重点做了些技术优化:优化DB交互层子调用插件01增加子调用Mock匹配策略 02补充入口重复检测机制03建立流量自动更新机制04利用IP染色实现UI流量录制05优化序列化与反序列化机制06流量录制回放的难点与解决思路

12、p DB交互层子调用插件:例如mybatis子调用插件,在拦截过程中容易出现拦截不到或者序列化失败的问题,优化拦截机制后拦截成功率大大提升。入口(HTTP/DUBBO/Java)CACHEDBAPIMybatis子调用插件拦截类拦截方法MapperMethod.calssexecute部分系统拦截不生效,拦截失败Request可能不支持序列化Response可能不支持序列化拦截类拦截方法BaseExecutor.classcachingExecutor.class适配所有系统,不会丢失queryupdate获取具体sql、参数,支持序列化与反序列护额改造后的Mybatis插件流量录制回放的难点

13、与解决思路为解决原有AOP机制不支持JDBC插件问题,定制化一套全新的AOP处理机制。入口(HTTP/DUBBO/Java)CACHEDBAPIMybatisibatishibernateJDBC不支持JDBCAOP实现参数捕获执行拦截封装结果集获取JDBC执行Sql与参数拦截JDBC与数据库交互动作获取JDBC返回结果集JDBC子调用JDBC插件AOP实现原理流量录制回放的难点与解决思路p 子调用Mock策略:工具引入方法调用链匹配机制,实现精准匹配,解决原有底层框架子调用匹配问题,很大程度提高了回放成功率。入口回放子调用拦截子调用匹配策略参数相似度匹配对象最小差异匹配无法精准匹配到目标子调

14、用子调用匹配策略录制时及时保存方法调用链堆栈回放时动态获取方法调用链堆栈比对两次方法调用链,筛选符合条件的目标mock节点改造前的子调用匹配策略改造后的子调用匹配策略子调用精准匹配流量录制回放的难点与解决思路p 流量自动更新机制:整个自动更新机制包括前端流量自动更新及后端流量自动更新;解决代码更新导致回放失败的问题。前端流量自动更新JSP流量更新机制回放JSP接口Mock子调用未能还原录制场景完全还原录制场景检测JSP响应是否变更回放结束JSP响应发生变更更新历史存量JSP响应流量录制回放的难点与解决思路后端流量自动更新子调用补全机制实现子调用自动更新录制接口A流量A子调用A子调用B子调用C录

15、制缺失回放接口A成功匹配子调用A成功匹配子调用B触发子调用C从Cache、DB、API中可正常读取或其他操作构造子调用C并加入录制子调用集比对回放结果结束回放更新存量流量子调用成功失败流量录制回放的难点与解决思路04信创项目测试技术实施成果实践方式与效果应 用 前 景 广 泛,截 止 目前,通 过 这 套 技 术 测 试方 案 已 完 成 2 5 个 应 用的 全 量 功 能 回 归应 用 前 景 广相 比 手 工 回 归,平 均 单 个应 用 全 量 功 能 回 归 测 试 工作 量 小 于 一 人 月测 试 资 源 少在 已 完 成 的 2 5 个 应 用系 统 测 试 中,发 现 缺陷 4 5 个,上 线 以 后 未出 现 重 大 功 能 缺 陷测 试 效 果 好平 均 单 个 应 用 全 量 功能 回 归 周 期 缩 短 至 3 周测 试 周 期 短感谢聆听关注QECon公众号

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(A2--曾睦宁--广发银行信创项目技术测试实践分享.pdf)为本站 (2200) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部