51
开发测试
Development and Testing
2020 . 08
中国金融电脑
基于 Web 的银行核心系统自动化
测试研究与应用
华夏银行自动化测试研究与应用课题组
近年来,伴随业务创新的不断加快,商业银行的核
心系统更新频率及新功能发布速度均与日俱增,从而使
测试人员面临的工作压力越来越大。在此背景下,自动
化测试的出现为减轻测试人员负担提供了新的方法,其
在大幅提升测试效率的同时,也有助于软件质量的提升。
为验证自动化测试的实用价值,华夏银行从引入自动化
测试的必要性出发,对基于 Web 的自动化测试框架开
展了深入探索和实践,并据此对该测试框架的未来进行
了初步展望。
一、核心系统测试面临的问题和挑战
在金融科技领域,伴随开发模式和开发框架的日渐
成熟,银行核心系统的版本更新频率也持续加快,而每
个批次都会倒逼测试人员不断提高交付速度,不仅准备
工作极为繁琐,且往往要进行多次重复操作。例如,每
个新版本在测试前都要预埋大量的客户号、存款账号、
贷款账号、现金存款、凭证领用等基础测试数据,之后
再开始分析测试需求、准备测试环境、设计执行测试案
例、截屏保留测试证据以及分析测试结果等工作,并需
要对异常结果案例进行重新设计和执行。然而,在这些
操作中,除了设计测试案例与分析测试结果对软件质量
有重大影响外,其他操作都可归结为辅助测试环节,但
却经常使测试人员心力交瘁,并导致真正关乎软件质量
的测试时间被不断挤压。
为缓解这一现象,华夏银行自动化测试研究与应用
课题组(以下简称“华夏银行课题组”)对辅助测试环
节的操作细节进行了深入分析。研究发现,某些操作每
天都要重复几百甚至上千次(如同一类型的重复领取、
同一系统的登录、同一交易案例的执行以及截屏保留测
试证据等),而执行重复操作正是自动化测试最擅长的
领域,引入自动化测试不仅可显著提高测试速度和测试
覆盖率,同时也能拥有更好的稳定性和可扩展性。不过,
自动化测试也不是万能的,对于 UI 布局、视觉感官、
音视频同步、模糊判断、异常结果的判断以及新增功能
的快速验证等工作而言,仍旧是手工测试较为得心应
手。结合上述结论,华夏银行课题组最终将自动化测
试的用途归结为两个方面:一是保证已投产的功能还
能正常运行,二是辅助手工测试快速验证新功能并发
现问题。
二、测试框架设计与应用实践
1. 工具选择与初期目标
“工欲善其事,必先利其器”,在自动化测试领域
也同样如此。为选择最为合适的测试工具,华夏银行课
题组对当前主流工具中排名前两位的 UFT 与 Selenium
进行了比对分析(排名来自 2017 年的“软件工程趋势
与发展国际会议”),并逐项归纳了各自的优势和不足
(具体见表 1)。通过对比发现,无论是在版权费用、
扩展能力方面,还是在提高自研能力等方面,Selenium
都有其得天独厚的优势,也更为契合当前的业务发展
需求。
为证实这一判断,华夏银行选择测试问题相对集中