• 0
  • 1
分享
  • 银行系统对批量测试的认识和使用——软件测试圈
  • 曼倩诙谐 2022-09-21 10:59:44 字数 2303 阅读 2186 收藏 1

  导读

  当前,在计算机主机的应用处理模式中,批量处理作为一种事后数据处理方式,一直是一种简单而又非常重要的处理方式,尤其是对于海量数据处理,批量方式就更能显示其高效的处理效果。随着批量交易变得越来越复杂,以及对批量处理时效性的要求,迫切需要有一种有效的、快速的批量作业测试方式,以实现对批量处理的自动化测试。

  批量处理

  批量处理是指将数据以按批处理的模式完成大量的数据访问、计算、分类、分析、汇总的过程,最终输出大量的营业分析报表,表现出数据访问量大,计算量大,流程复杂等特性。

  一般而言,批量处理通过建立作业计划模板,以人工干预或系统自动调起程序的方式执行,模板中包含若干根据业务逻辑处理先后顺序进行排列的节点,节点可以调起对应的批量交易程序,对数据进行加工处理并输出结果。

  目前银行大量数据处理都是以批量形式执行,涵盖了会计核算,对公业务,个人业务,信用卡业务,客户信息业务,数据处理业务等多个业务条线,涉及到账务处理,报表统计,数据处理消费等多个核心功能,如何有效地检查、验证和确保批量业务的正确性,成为银行测试部门的关键任务。

  批量交易测试的共性关注点

1-1.png

  尽管银行批量业务种类繁多,但其在测试过程中关注点基本有以下几个方面:

  1、关注批量作业链配置,比如:配置模板正确性,调度计划是否符合预期,代理能否正常调起程序,负载均衡策略是否生效等。

  2、批量程序逻辑加工正确性,包含加工逻辑是否正确,数据是否有遗漏,是否有重复,入库表结构,字段名,特殊字符,超长字符能否正常入库等。

  3、程序本身语法及格式正确性,如是否包含明文密码,是否包含异常处理,日志定级是否正确,关键步骤是否有日志记录,程序语法是否规范,遇到特殊参数能否正确处理等。

  4、性能效率是否符合要求,批量交易常常环环相扣,上游加工结果往往是下游加工的输入,因此要求批量脚本须在一定的时间内完成。

  手工批量测试方式

  基于以上测试点,手工进行测试的一般步骤为:根据需求设计测试用例,进行测试数据准备插入正反向测试数据,执行批量程序,查询数据库,根据预期结果编写检查语句核对生成数据。

1-2.png

  但手工测试常常存在以下局限:

  测试效率低。实际测试过程中需要申请各类权限而后连接加载机,连接数据库。以手工方式逐条重复操作,测试效率低,无法有效支持有刚性时间要求的回归测试

  测试资产无法有效积累。测试过程中使用的SQL语句,编写的测试程序等无法结构化管理复用

  批量测试对测试人员要求高。针对逻辑复杂,数据来源多,数据量大的批量程序,编写核对SQL语句或程序难度大

  难以进行质量监控。批量项目协办众多,上下游逻辑耦合紧密,手工测试导致测试分布零散,无法进行有效监控

  批量测试平台初探

  针对以上问题我们团队开发了批量测试平台,实现了从数据准备->批量执行->结果校验的全流程自动化测试。

  平台核心功能有:

  1.通过批量平台串联整个测试流程,进行自动化测试,为回归测试提供支持。

  2.将录入的测试资产管理起来,方便后续复用借鉴

  3.通过预设的一系列检查规则:表结构检查、数据量检查、数据空值检查、数据合法性检查、数据正确性检查,降低了测试人员进行数据检查的门槛,同时支持数据库间,文件与数据库,文件间的大数据量对比。

  4.将多期测试数据保存,可从项目、系统等多维度进行质量分析。

  平台测试的基本流程:

1-3.png

基本流程

1-4.png

  平台主要分为三大模块,配置管理、执行管理、统计分析,配置管理主要为录入基本信息,后续平台将利用这些信息连接数据库和加载机,接着录入系统信息和项目信息,这步是方便分别从系统及项目维度对测试资产进行分类。

1-5.png

配置数据库

  执行管理是配置测试策略的核心,如何准备测试数据,执行批量程序的具体命令,配置执行结果的检查方法,这里我们预设了一些常见的检查规则,支持基本的结果检查,比如数据量进行对比,数据字段类型是否符合预期,某一字段是否在预期的范围内,两个表或表与文件的数据是否一致等。 通过这些预先定义良好的对比规则,降低了编写检查SQL语句的门槛,避免了繁复的人工检查过程。

1-6.png

配置测试文件

  批次管理是对任务进行编排,在这里我们以任务作为执行的最小单元,一个批次下可以包含多个任务,因为在实际测试过程中,一个项目可能包含多个批量测试任务,这些测试任务的执行环境及系统各不相同但是都隶属于同一个项目,所以这里使用批次的概念编排多个任务。

1-7.png

批次管理

  执行历史这里可以查看结果报告,我们将excel当中配置的各个sheet页在这里按条目一一对应,并且可以看到具体的执行日志,结果错误的语句,并抽取一定量的错误数据以供缺陷分析。

1-8.png

测试结果

  统计分析模块目前还未完成开发,未来将根据使用情况,积累到足够数据后,针对数据采集情况采用不同报表和统计方式,以期能通过数据分析和报表呈现的方式对批量程序质量进行持续跟踪,进而提高测试质量。

  总结

  批量测试无前台页面,逻辑关系复杂,覆盖业务面众多,数据量大等特点,导致批量测试的难度很大。平台的产生纵然能解决自动化和降低部分检查难度,但其造数和测试的复杂性仍旧存在,导致平台配置仍然复杂。如荀子所言,“跬步不休,跛鳖千里;累积不缀,可成丘阜”,下一步的方向是将更多新技术与项目实际相结合,步步拆解其复杂性,进一步提高批量测试效率。

  测试课程免费送,点击下方链接填写测试行业调查问卷,提交后即刻获得!链接:http://vote.51testing.com/ 




作者:方正    

来源:http://www.51testing.com/html/09/n-7793109.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 小屌丝:鱼哥,我想写一个接口订单并发性能,能不能给我讲一下小鱼:接口订单并发?我前篇文章不是写过常见并发框架然后你在追加一个创建订单和生成订单不就可以了?小屌丝:鱼哥,你说的可轻松,那你能不能来一个?小鱼:好吧,那我就以我某个项目为例,我们实际的看一下,都需要哪些步骤。小屌丝: 鱼哥,就你这一点,最招人稀罕。哈哈!小鱼:挖草了~~那么我们就来分析一下,订单并发性能,我们想要什么:    >>1.订单并发数    >>2.成功订单数    >>...
            1 0 17165
            分享
          • 在当前这个时代,直播功能还是相对比较普遍的,无论是douyin上面的直播,还是唱歌软件上面的pk或者是一些培训软件上讲师直播等。在不久之前测试的一个项目中,包含了很多课程相关的丰富功能,这里简单做个总结,重点介绍下直播功能的测试要点。课程模式分为如下三种:直播课,录播课,双师课。直播课很好理解,是先约定开课时间,然后到达时间之后,讲师上线,进行直播讲课,学员可以实时提问,课程结束之后有回放。录播课是先将课程视频制作好,然后上传到服务器,添加课程,添加章节,上传海报等,学员购买后即可观看学习,视频可以回放可以暂停可以快进。双师课跟前面两种稍微有点区别,双师课有课程学习也有实操,除了跟着线上老师进...
            1 1 21352
            分享
          •   一、问题引入  笔者在使用robotframework工具进行web ui自动化脚本编写时,发现:对于页面某个复选框元素定位,使用select checkbox关键字+xpath定位方式进行复选框勾选操作时,报错“Checkbox with locator,'xpath=//hs-i18n[contains(.,'xx')]' not found”,即xpath定位路径的checkbox找不到。经过笔者排错和研究,得出以下结论:1、xpath定位路径正确;2、select checkbox对元素使用标签有限制,只能对input标签使用,而测试的元素...
            12 12 1754
            分享
          • 三角形三边面试题,是一个经典的很老的题了,在2011年的时候,华为面试遇到过,今天无意中搜到了,加上自己理解和思路汇总下,这个题主要是等价类划分的应用对一个三角形三边如何设计测试用例假设三边分别为A、B、C,那么根据现有条件,我们可以设计以下功能点先来看看构成三角形的条件1、任意两边相加之和大于第三边a + b > c a + c > b b + c > a2、两条边相等,两条边的平方和等于第三边的平方和a = b >&n...
            14 14 4954
            分享
          •   51Testing软件测试网正在收集测试行业问卷结果,如果你也想为测试行业的前景助力,就点击下方的链接提交答案吧,还有精美礼品等你拿(测试课程五选二)。链接:http://vote.51testing.com/  测试团队在项目或版本测试完成后,需要对本次项目或版本所发现的缺陷做统计分析,在分析的过程中,总结项目或版本在哪些方面可以进行改进,为下个项目或版本的管理,做更好的管理和风险预防。  分析缺陷一般从以下角度来进行:  以某个项目为例,此项目共涉及6个关联系统,整个项目周期,发现的缺陷数共508个(缺陷数已按等级进行换算)。下面从各方面分析缺陷的分布情况。  从缺陷的根本原因上分析 ...
            0 0 1830
            分享
      • 51testing软件测试圈微信