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

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 前言: 作为测试人员,和我们最常打交道的,莫属bug。当你发现bug后,会采取什么样的行动?是直接报出来,亦或找找问题原因?不管是我们自己找到的,亦或是开发修复后告诉我们的,知道问题之所在总是好的。在本篇文章中,笔者试图带领大家一起梳理下,为什么测试人员定位问题很重要,以及我们可以使用什么样的定位方法。一、定位问题的重要性很多测试人员可能会说,我的职责就是找到bug,至于找原因并修复,那是开发的事情,关我什么事?好,我的回答是,如果您只想做一个测试人员最基本最本分的事情,那么可以这么想。但是,如果您想要在测试甚至开发的道路上长足发展,就要知其所以然。那么,为什么定位问题如此重要?可以...
            9 10 4157
            分享
          • 总结了一些APP接口安全设计的要点供大家参考,如有疏漏请在评论里面提醒补充!请求合法性校验:请求合法性校验主要就是指如何避免API被非法的调用,比如系统里面有一个短信接口,就要考虑如何避免这个短信接口不被短信轰炸机滥用,可以采用的方式有以下几种:1. 验证码,验证码主要用于防范恶意注册、恶意破解密码、恶意灌水等非法操作,验证码可以使用Google的CAPTCHA解决方案。2. Token令牌,Token主要用于自动登录,也就是在不需要用户频繁登录的情况下保证访问的合法性。常见的流程是使用用户名和密码登陆后,服务端返回一个token,后续客户端每次方法都带上这个token,当这个tok...
            0 0 1968
            分享
          •   据英媒 The Register 当地时间本周三报道,一位 IBM 员工向该媒体透露,IBM 云服务部门 IBM cloud 过去数日经历了一次大规模裁员,影响数千名员工。  此外本次裁员还是秘密进行的:受裁员工必须签署 NDA,不得对外谈论裁员具体细节。  具体而言,本次秘密裁员主要针对高级的程序、销售和支持人员,受影响的员工大多在 50~55 岁年龄段,工龄位于 20~24 年之间,职级集中在 L7、L8、L9,裁员前拥有相当高的薪资收入。  IBM 发言人向英媒表示,这家科技巨头今年早些时候披露了一笔劳动力再平衡费用,这笔资金将影响 IBM 整体员工团队中的“非常低个位数百分比”,I...
            0 0 458
            分享
          • 1、fiddler抓取不了微信小程序的包最近突然遇到微信抓取不到小程序包,之前都是好的,但突然就凉凉了,经过不懈的查找终于在某个大佬的文章找到解决方法。原址在这里:https://mbd.baidu.com/ma/s/VwHQ8Rom以下是自己的操作记录。打开小程序,然后打开任务管理器找到小程序的应用,右键点击小程序,或者Mini Programs打开文件所在位置,在Plugins下有个WMPFRuntime包先将小程序和微信都关闭掉,然后将WMPFRuntime包内的文件都删除掉,关闭电脑防火墙,重新登陆微信,将小程序移除后重新获取,打开fiddler就可以进行抓包了!PS:如果出现设置好后...
            2 1 22240
            分享
          • 本篇的目的是简明的完成一份接口测试用例设计的撰写,维护的文档,需要大家共同努力,不断完善,存在的不足以及日后在实际使用中暴露出来的问题,希望大家及时出,以便更新文档。一、用例设计过程:罗马不是一天建成的,用例不是一次完成的;书写测试用例本身和完善代码一样,也是一个循序渐进的过程。首先,必须熟读需求说明书和接口设计文档,了解每个接口具体的使用场景,明白软件的性能指标。其次,设计接口测试用例:开始在编码阶段,测试人员根据需求说明书和接口设计文档设计接口测试用例。然后,codereview:开发完成编码后,在时间充裕的条件下,要进行?codereview,一方面是检查开发的代码功能逻辑是否正确,另一...
            12 12 3154
            分享
      • 51testing软件测试圈微信