• 快捷搜索
  • 全站搜索

农业银行测试技术的探索与实践

2017-01-17 15:45:24作者:中国农业银行数据中心(北京)测试保障部处长 蔡仕志编辑:金融咨询网
近年来,农业银行数据中心(北京)在测试工作开展中面临了多方面的挑战,但是中心经过长期探索与实践,逐步意识到测试技术对于测试工作的重要性,并摸索出了一条适应中心的测试技术发展之路。

近年来,农业银行数据中心(北京)(以下简称“中心”)在测试工作开展中面临多方面的挑战:首先,测试场景的广度及深度快速扩大,测试逻辑越来越复杂,简单堆砌人力的方式已经不能胜任;其次,外部需求对于中心承接测试的效率及质量要求越来越高,如何“又快又好”地开展测试成为工作重点;再次,由于人力、环境等资源限制,如何提高有限资源的投入产出比,是推进测试工作持续发展的关键。

图片2.jpg

  在此背景下,中心经过长期探索与实践,逐步意识到测试技术对于测试工作的重要性,并摸索出了一条适应中心的测试技术发展之路。

一、农业银行测试技术的探索历程

  中心的测试技术探索是在中心测试技术体系整体规划的指导下开展的,其主要历程可分为三个阶段。

  1.商用测试工具引入阶段

  早期,测试需求相对简单,而承接测试项目快速膨胀,人力资源成为主要瓶颈。为解决这个问题,中心通过引入适用特定测试场景的商用测试工具来快速满足最紧迫的测试需求。

  2.自主研发专项测试技术阶段

  经过一段时间的实践发现,部分测试场景中引入的商用工具并不能很好适应中心测试工作的发展,应用效果不理想,难以大规模推广应用。针对这些领域,中心投入力量进行自主研发,经过不断积累优化,逐步形成了一系列完备、创新的专项测试技术。

  3.专项测试技术整合阶段

  无论是商用引入,还是自主研发,在各项专项测试技术的发展过程中,各自独立的体系带来了较高的维护成本,极大限制了整体投入产出比的提高。因此,实现专项测试技术内部标准化,推动专项测试技术间整合,建设可复用的组织级测试资产库,成为目前中心测试技术工作的关键。

二、农业银行测试技术的体系建设

  中心的测试技术体系建设首先从整体上规划适应中心职能的测试技术(及相关测试工具)建设思路,并以此为指导,推动中心测试技术研究、研发、引入及推广工作有组织、有计划、有重点的开展。同时,在此过程中,通过不断积累已掌握测试技术的探索实践经验,来制定未掌握测试技术的探索实践方法。

  1.测试技术体系建设整体思路

  (1)战略明确,规划清晰

  测试技术体系的建设,需要从中心测试工作职能出发确定支撑各项具体测试任务的测试技术(及相关测试工具)的建设目标、方向、功能及适用场景。

  (2)急用先行,稳步推进

  推进测试技术体系的建设工作要有侧重,有先后,以支撑中心亟待突破领域的专项测试技术为重,以推动大幅提升测试效率及质量的专项测试技术为重,以适用更广范围、有利于构建中心级可复用测试资产的专项测试技术为重。

  (3)权衡自研与外购

  在风险可控的前提下,综合评估自研与外购两种工作方式的投入产出比。一般来说,需要现成商用工具大量定制改造才能投入使用的领域,自研可以适应深度定制,持续优化;需求相对清晰通用的专项技术领域,成熟商用工具无需过多定制即能快速实施,满足测试需求。

  (4)关注前沿技术

  测试技术体系建设不能闭门造车,要时刻关注技术前沿,跟进业界动态,确保测试技术方向的科学性及正确性。

  (5)动态调整,与时俱进

  测试技术体系规划并非一成不变,要根据内外部变化,及时调整测试技术的研究目标、方向及策略,避免在错误的道路上一条路走到黑。

  2.农业银行测试技术体系规划

  中心的测试技术体系建设规划概况如图1所示。

图片3.jpg

  测试技术体系自上而下分为4个层面。

  一是测试任务层:根据中心测试职能,将中心测试任务分为4类(其中由于验收测试采用人工测试的方式,不涉及测试技术,故未列入图1中)。

  二是分类层:将适用于特定测试任务的专项测试技术按其特点进行分类。

  三是专项测试技术层:适用于特定测试任务的分类专项测试技术。

  四是测试工具层:应用特定专项测试技术的测试工具。

  其中,专项测试技术层的每项技术概况如下。

  (1)交易级(接口)自动化测试技术

  通过与后台系统进行接口级(交易报文)通信来进行自动化测试,用于大规模后台交易的自动化回归测试、无界面接口交易的自动化功能测试、批量测试数据准备等。

  (2)基于日志回放的自动化测试技术

  以不同并发回放特定条件的日志数据来进行自动化测试,用于重点行部交易自动化回归测试、全量交易自动化性能测试等。

  (3)界面级(非移动端)自动化测试技术

  模拟人工从非移动端界面发起自动化测试,用于非移动端系统界面的自动化回归测试、批量测试数据准备等。

  (4)界面级(移动端)自动化测试技术

  模拟人工从移动端界面发起自动化测试,用于移动端系统界面的自动化功能测试、移动端性能测试及移动端兼容性测试、批量测试数据准备等。

  (5)基于脚本发压的自动化测试技术

  通过从开放平台或主机平台向被测系统发起高并发通信报文来实现自动化测试,用于重点业务的自动化性能测试。

  (6)安全测试整体技术

  实现各类应用系统不同级别的的安全扫描、漏洞分析及安全评估等,用于安全专项测试。

  (7)体验测试整体技术

  实现各类应用系统内外部体验的隔离部署及反馈搜集等,用于体验专项测试。

  (8)自动化测试标准化技术

  建立统一的测试数据模型库,实现界面级自动化测试技术及接口级测试技术内部的对象(交易格式及界面元素)标准化及案例标准化,用于组织级测试资产库建设。

  (9)基础环境辅助技术

  保障测试环境高效、高质地支持各种场景的测试工作开展,用于测试环境建立、分配、备份、回收,及模拟环境处于应用活动状态等。

  (10)测试数据辅助技术

  保障测试数据高效、高质地支持各种场景的测试工作开展,用于测试数据脱敏、测试数据瘦身及测试数据提取等。

  (11)挡板技术(软件)

  实现应用系统(软件)的虚拟化,返回模拟的软件报文,用于内部或第三方的虚拟化软件系统或服务搭建。

  (12)外设模拟技术(硬件)

  实现外设终端(硬件)的虚拟化,返回模拟的硬件报文,用于第三方的虚拟化硬件设备服务搭建。

  (13)其他辅助测试技术

  帮助提高测试效率、测试质量及测试资产复用率的其他辅助技术。

三、农业银行特色测试技术分享

  1.交易级自动化测试系统

  农业银行新一代核心银行系统(BoEing)自动化测试系统(BATS)是中心自主设计研发、针对后台交易的自动化测试系统,主要用于大规模后台交易的自动化回归测试、无界面接口交易的自动化功能测试及批量测试数据准备等场景。

  BATS的最大创新是将影响测试效率及测试质量的测试逻辑抽象成5项关键资源(交易、基础测试数据、测试案例、执行场景及执行结果),及基于这些资源的7项关键操作(录制交易、准备数据、设计案例、录制操作、设计执行场景、执行批次及分析结果),通过对每项关键资源建立模型,设计统一的模型表达式,将每一项关键操作的逻辑转化为模型表达式的生成、解析及执行动作(基于BATS的测试框架如图2所示)。由此,BATS将所有的测试逻辑转化为规则的模型表达式,从而在保障测试质量的同时,最大程度地提高了测试效率。

图片4.jpg

 1 2 下一页 尾页

扫码即可手机
阅读转发此文

本文评论

相关文章