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系统