《信创国产化适配》信创适配是关键,软件信创测试在实战中有哪些重点

2023年08月21日
4.4min阅读

测试环节作为系统上线前的最后一道防线,决定了上线后的安全和稳定运行是否已经得到保障。在软件测试这方面,我国的支撑软件也长年处于被“卡脖子”的状态,软件测试国产化程度亟待提高。软件测试工具要实现真正的国产化,还需对开发工具、数据库、操作系统、中间件等各个环节进行进一步适配。因此,在产品研发到系统上线的整个研发生命周期中,适配是信创最关键的环节。

通过信创适配测试,金融机构和金融科技企业才能确保信创软件能按预期的要求运行,尽早发现系统的缺陷并确保其得到正确修复处理,降低信息技术风险。

实践前期要规划好适配重点和策略

经过多年的发展,信创产业链逐渐完善。期间信创适配需面临不同厂商的服务器、操作系统、芯片、数据库等,尤其操作系统、数据库等型号版本多且适配难度大等问题,企业为此投入了大量人力和资源。信创适配一定是有所选择的,而不是盲目追求大而全,否则为满足信创而额外投入的质量成本是巨大的。在软件产品确定适配范围前提下,我们需要提前规划好质量维度的覆盖、测试重点和测试策略等。适配一般是指软件不同系统平台上的匹配,需要匹配不同操作系统、数据库、中间件,验证软件在其上是否能够安装运行,并满足用户质量需求。参考GB/T 25000.10-2016中软件产品质量模型定义,产品质量又划分为了八个质量维度,如下:

图1:GB/T 25000.10定义的软件产品质量模型恒生挑选产业链各细分领域的优秀厂商并结合软件产品的特点进行了充分的选型。以麒麟Linux,openEuler等国产操作系统为主,支持华为鲲鹏ARM、海光x86处理器等国产处理器;在数据库方面,以恒生自主研发LightDB为主,同时支持 PostgreSQL。

那么如何确定测试的重点呢?主要可从功能重要性、使用频率、问题概率这几方面考虑。可移植性、兼容性、功能性、性能效率是信创软件最重要的四个质量特性,也是适配测试的重点。在这个质量基础上,可适当根据软件产品特点及测试需求对其它几个质量维度进行选测。信创测试重点在于可移植性和兼容性的验证。在满足了可移植性和兼容性后,软件的功能在完整度、正确实现的充分性,如果软件功能实现有缺失或有问题,导致用户不能使用该软件完成想要的基本操作,这样的软件是较难被用户接受的。同时,性能效率是否满足使用要求,也是“可用”的重要评价要素。如软件所能满足的并发数、响应时间等性能指标,对用户操作体验有着直接影响,一个功能完好但性能极差的软件也是很难被用户接受的。软件产品不同功能模块,其质量标准要求是有差异的,尤其是核心功能需要投入更多的精力对其进行验证。

除此之外,对那些非核心功能、但会对核心功能产生影响的模块,我们也不应该忽视,至少要保证这些模块在一般情况下能够正常运转,即使在极端情况下也不会导致核心功能发生错误。用户使用频率高,发生错误的可能性相对要高一些,而且一些小问题所造成的影响可能会随着使用次数的增多而被扩大。对于这样的模块,应该成为测试的重点,特别是核心功能中使用率高的模块应重点测试。对于出现错误会导致软件产品系统性风险,甚至造成资损的我们要重点保障,对于历史缺陷集中的功能模块我们也应该给予特殊关注、重点测试。比如结合过往的测试经验总结,分析历史信创测试缺陷数据。如果数据库层面问题占90%,那么数据库兼容适配应成为测试的重点。重点问题主要集中部位在存储过程和函数、数据类型和Sql方言。假设我们在有限时间内,需完成信创测试,我们重点应该放在数据库层面,并重点测试如上场景。

如何用好各类测试技术工具?

确定软件测试范围后,为提高适配的稳定性和效率,我们需要选择合适的测试技术和方法,恒生在该方面总结了一定的实践经验,以下工具能极大提高软件信创测试的质量和效率,以供参考。

数据库兼容性扫描

数据库兼容性扫描工具针对软件开发过程中涉及的数据库以及对应的程序代码进行扫描,其核心原理在于对目标SQL语句或脚本进行语法和词法分析,然后选择所需适配的数据库进行预分析,来判断是否符合适配要求。该工具可以最大程度提高适配效率以及覆盖功能的全面性。该工具可根据实际情况自研,更好地适配自身产品和框架。恒生基于Jres3.0框架特点,研发了数据库兼容扫描工具(HSSQL-Check),其 支持的开发语言范围包括:Java源代码、Jar包、SQL文件、MyBatis框架的xml文件等包含的SQL语句 ;其支持的数据库版本包括MySql 5.78.0、Oracle 10g~19c、OceanBase 1.4~2.2、达梦8、LightDB、TIDB4.0及以上版本数据库。

自动化测试

解决繁琐重复的工作,最高效的手段就是用自动化手段代替人工操作。恒生自动化解决方案可提供针对标准协议的接口自动化以及三种终端类型(WEB端、桌面客户端、移动端)UI自动化测试。接口协议支持T2、T3恒生自研服务协议,包括市场主流服务协议如:Http/Https、Dubbo、SpringCloud、Sofa、WebSocket等。此外,非标私有协议可通过平台提供的SDK包进行二次扩展。UI自动化基于图像识别和自然语言处理可快速完成自动化测试脚本开发工作。

录制回放

针对自动化案例不足又无人力投入开发自动化的困境,我们也可以选择一些可以快速录制回放的工具,比如:jvm-sandbox-repeater,功能强大,不过有语言的限制。恒生产品因涉及多语言,我们选择的是基于Gor的网关入口流量录制以及基于全链路日志流量回放的工具,满足快速全量的回归测试验证需求。流量录制模式顾名思义就是在不影响用户正常使用的前提下,获取线上用户的真实请求和服务响应结果将其保存,经过处理或筛选后的流量回放到目标服务器上,以此来验证历史功能的正确性。日志回放模式是指基于历史流量的日志指定特定时间段的日志流量信息,经过处理或筛选后回放到目标服务器上,以此验证历史功能的正确性。无论采用哪种模式核心原理一致,包括逐笔请求结果校验,请求结果的关键字段信息必须一致,定时检查的数据库关键指标必须一致,数据库支持比对Sql语句执行结果。

引流测试

在日常测试过程,部署测试环境更多会选择客户占比多的主流配置作为我们首选测试环境,我们可以在验证主流环境时,同时也验证信创测试环境的功能的实现正确性,可以选择引流测试,然后进行测试结果的比对。该技术方法核心思路来源与生产引流测试,将其借鉴应用于测试环节。对于被测试系统所发生的一切将复制到待验证系统上来。解决我们多套环境兼容性测试的问题。工作流程先是复制请求流量,并用代理引流到多个待验证环境A、环境B、环境C等系统,再将各个系统在引流期间所产生的落地数据做对比。一直以来,国家对金融数字化基础设施和应用系统国产化都高度重视,实现自主可控、稳定创新的软件体系,防范系统性金融风险是金融信息系统基础建设中的关键目标。