99136.com澳门太阳
您当前所在位置: 首页 > 新闻中心 > 市场活动_a000000.com

首席测试专家阳清波:银行系统全生命周期的分层自动化测试体系(巅峰论道 共话未来 天阳科技2017金融行业科技高峰论坛)

信息来源:原创   发布时间: 2017年04月30日

天阳科技从07年开始投入金融测试行业,整整10年的测试历程中,我们为80多家银行提供了专业测试服务。我们与客户、同行一起推动和见证了测试行业的发展。我们也看到,相比开发而言,银行在测试方面的能力相对薄弱。

我们从一开始,就明确了公司不能只为客户提供人力的服务,还要提供脑力的价值,为客户提供测试方法、测试技术、测试工具,建立测试标准。我们在这些方面的研发上已累计投入了2500多万元。以下分享的就是部分的成果。

我们的目标是,针对不同类型的系统、不同的测试阶段、提供标准的方法论、提供技术平台。

银行系统的全生命周期包括:从需求、设计、集成、到上线运行四个阶段的测试。

给定一支交易,究竟要编写多少个案例?这个关乎测试的质量,是测试体系的根本问题,无论是手工测试还是自动化测试,必须首先解答这个问题,才能保证测试质量。今天我们给出标准的方法论来寻找这个问题的答案。

        所有测试的起点都是测试需求分析,测试需求分析是为了得到测试案例。要把不同种类的需求完整的转变为测试案例,就需要对需求分析进行标准化,即分析交易流程、规则、操作步骤、数据、状态,保证测试需求的唯一性、可测试性和准确性。但传统的需求分析都是以文字方式表达,理解困难、可读性差,这样的测试需求并不能快速完整的转化成标准化案例。就需要对需求分析进行矢量表达,针对交易流程、交易内部的分支、数据项、业务规则,以及业务间的规则和数据传递关系,并运用数据分析和图形设计,将需求分析矢量化。再运用技术手段和工具,解析这些流程图、状态图、数据项,把测试需求由自然语言转化成数字语言。

有了矢量化表达的测试需求,再来设计案例,反倒变得简单,就是一个标准算法的事了,把标准的案例设计方法和算法固化到测试平台,就可以自动生成标准化的案例集,以最少的案例达到最全的覆盖。这就解决了上文提出的:给定一个交易,究竟应该设计多少个案例的标准化问题。

案例设计出来以后,如何客观的评价案例的效果呢?在运行测试案例时,我们可以运用一些技术手段,反过来检测本次测试覆盖了哪些交易的分支、覆盖了哪些代码类、访问了哪些接口、访问和更新了哪些数据表,通过这些方面的覆盖度分析就可以客观的检验案例的有效性。

一个系统除了系统自身的功能之外,还应该包括它的上游接口、下游接口、以及它的数据。这几方面都应该有针对性的测试。

    银行系统非常多,既有前台系统,也有后台系统和数据系统。传统测试不管什么系统都是从前台发起,通过前台的表象进行测试,测试精度不够。现在有了自动化接口测试技术,就可以直接针对后台系统,从它的上下游接口开始,进行CT扫描式的精准测试。自动化接口测试通过标准化的需求分析和案例设计来保证覆盖度;给测试者展示的也是解析和封装好的数据项,技术要求不高;执行效率远大于从前端发起的测试,执行一个案例的时间是毫秒级,有条件进行笛卡尔乘积的全组合测试,极大的提高测试覆盖度。自动化接口测试,最大的优点是精准、快速、高覆盖。

一个系统的组成,除了应用之外,还包括数据。尤其是核心系统建设这种需要进行数据迁移的,数据成为系统建设非常关键的一个风险点。但数据量太大,手工测试无法覆盖。可以运用自动化接口测试技术,进行大并发测试,就可以在短期内对大量数据进行覆盖性测试,接近或达到100%的数据覆盖。这就解决了以往数据移植测试完全依靠人工,覆盖度远远不够的问题。

集成测试经常遇到的一个问题就是测试环境不够。尤其像新核心建设这种大型项目,需要的环境套数都是两位数的,而且都要全系统环境,这对环境资源的压力非常大。运用挡板成为主要的选择之一,但要同时模拟几十套系统,就需要运用企业级挡板来搭建环境,一套挡板模拟行内、行外多个系统。

在系统上线之后,由于系统变更导致的回归测试工作量大,时间紧,所以业界求助于自动化回归测试。要满足回归测试对于全面、快速、易维护的诉求,不能单纯依靠UI自动化测试这一种方式,必须多种技术结合,进行立体的自动化测试,在不同链路上进行分层的自动化测试。针对前台系统用UI自动化测试,针对后台系统和行外接口用接口自动化测试。发挥每种技术的优点,互相补充。

    在接口自动化测试的基础上,又发展了一种新的报文回放技术。报文回放是基于真实业务数据,通过真实报文进行情景回放,并比较结果,以达到类似跟账测试的效果。先备份数据库、然后从网络抓包、解析和重组报文、自动发包比对结果,达到快速回归测试的目的。

上文提到的多种测试技术,分别应用于前台系统、后台系统和数据系统,可以用于SITUAT和回归测试;针对于不同的诉求,不同的场景,我们都给出了相应的解决方案,标准的方法论,并且全部在测试平台上予以实现。在测试技术和测试工具的研发领域将继续保持大的投入,我们愿与客户一起努力,为银行IT系统的稳定运行贡献自己的价值和力量。

银行系统全生命周期的自动化测试平台

a000000.com

成功案例 99136.com澳门太阳
Copyright@http://www.tansun.com.cn all rights reserved  2014 天阳科技版权所有。  京ICP备050453号  TEL: 010-50955911