如何在银行系统中做批量测试~

导读

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

批量处理

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

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

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

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

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

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

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

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

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

手工批量测试方式

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

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

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

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

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

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

批量测试平台初探

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

平台核心功能有:

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

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

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

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

平台测试的基本流程:

基本流程

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

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

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

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

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

总结

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

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

  • 4
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
优索绩效考核系统V5.0在原来的系统基础上重新全新开发,全新的架构模式,全新的页面设计,保留了原来的特色功能的基础上,又增加了很多特色功能,增加的特色功能如下: 1、采用树结构显示部门信息,部门可以是无极限的去设置之间的关系; 2、增加部门评估的功能,可以对部门进行评价; 3、增加了工资查询系统,可以通过后台导入工资信息,不同用户可以通过后台进行查询自己的工资; 4、增加顶部导航的配置功能,可以自己手动配置顶部信息; 5、增加岗位功能,系统按照岗位进行设置评价的套包; 6、新闻系统增加针对角色或者人员进行发布的功能; 优索绩效考核系统(企业关键业绩考核系统)是黑龙江优索工作室开发的产品。 本系统采用.Net2013开发,数据库基于Access/SQL2000/2005/2008/2012引擎开发。 系统运行环境为.NET2.0+IIS6.0基础环境。系统功能主要特色是可以自建部门,科室、员工信息。 评估指标的项目和分数可以通过后台进行设置,您可以随便根据自己的需求进行定义。 可以批量评价员工信息,不同的角色可以使用不同的评估指标进行评价。 评估后的数据可以采用FLASH技术以图表的格式显示出来,方便使用的企业进行数据分析和数据挖掘。 相关的数据均可以导出EXCEL文档,部分数据还可以导出PDF,DOC,XLS格式,方便保存和打印。 系统在边防站、公安部门、医院、银行内部、政府部门,船务局测试运行良好(用户案例因为怕同行业竞争,故没有显示)。 【系统运行】 点击网站根目录下的【系统运行.bat】文件即可显示系统的功能;测试版本采用的是 虚拟IIS服务器,因此可能不稳定;正式版本采用Windows的IIS服务器,安全稳定; 正式版本需要的运行环境如下: 1、 Windows Server 2000/2003/2008 2、 Microsoft .NET Framework V2.0 3、 Internet信息服务(IIS6.0/7.0) 4、 Access2003/2007/SQLServer2000/2005/2008 5、 Microsoft Offices2003/2007(导出数据使用) 测试版本需要的运行环境如下: 1、 Windows Server 2000/2003/2008 2、 Microsoft .NET Framework V2.0 3、 Access2003/2007 【账户密码】 演示版本,使用正确用户名密码才能登陆系统,演示版本的用户资料如下: 用户名:admin 密码:admin 郑重声明:本下载版本仅是使用Access数据库进行演示的程序,有功能限制;如果需要购买的用户请联系我们测试我方SQLSERVER版本的正式系统; 【升级日志】 2020-05-11 版本号:7.3.0.0511 1、全部评分汇总和全部评分记录只能看到所属管理人员的记录信息; 2、评分的导入导出时间和评分时间关联;可以导入评分时间; 3、评分工作管理里面去掉建立时间,显示评分时间功能; 4、评分工作管理修改页面可以修改评分时间; 5、增加人员得分排名查询功能,可以按照用户分组,部门,岗位进行排名; 6、用户属性增加用户分组功能,可以将用户进行分组管理; 7、增加得分分析功能;支持折线图,柱图,饼图,以及详细的排名信息,还可以查看详细的得分记录; 8、显示最新2周的得分明细,最新1个月的总分明细,最新6个月每个月的成绩明细; 9、修复IE模式不能显示相关图表的问题; 10、修复部门选择的时候,有时候无法关闭的问题; 11、软件到期仍然可以登录,但是不能修改数据; 12、排名功能调整,2个第二名之后是第四名,不是第三名了; 13、评分明细,打开评分人的显示,知道分是哪个人评价的; 14、增加成绩对比分析功能;
平安口袋银行 v2.2.1 更新时间:2015-01-15资费提示:免费版当前版本:2.2.1软件语言:文软件类别:手机银行软件大小:13.95 MB适用固件:1.6及更高固件内置广告:没有广告适用平台:Android 平安口袋银行是平安银行专为Android操作系统使用用户全新推出的移动金融服务平台,通过它,你可以随时随地掌控自己的金融资产。新颖时尚的设计风格,简洁易用的操作界面,让移动银行体验更具创意,新鲜有趣。全程通讯加密,保障信息安全。
 4大功能模块 我的财富: 在这里你可以查询和管理你名下所有的平安借记卡,信用卡,基金,理财产品和贷款,让你对自己的资产负债一览无遗 我的金融圈: 独创的金融圈让你可以有效管理与你有资金往来的任何账户信息,通过“我自己”功能还可以自由分配你名下各个账户的资产 金融超市:你可以在这个mini的金融市场里进行风险承受能力测试,并根据自己的承受能力尽情挑选适合你的基金和理财产品 我的愿望:给自己许几个愿望,进行科学合理的财务规划,随着进度条一格一格的填满,美好的愿望一个接一个的实现 特色功能-实时转账:平安手机银行实时转账功能,没有周末节假日限制,任何时间转账实时到账,跨行异地转账手续费全免. 网银注册 还没有注册平安网银的客户,下载后点击首页右上角的“注册”按钮即可,方便快捷。 非平安银行客户,可以使用“更多”的“网点查询”、“费率查询”和“我的账本”等功能。
可以按照以下步骤进行测试: 1. 编写Mapper.xml文件,定义批量插入的sql语句。 2. 在Mapper接口定义批量插入的方法,并使用@InsertProvider注解指定Mapper.xml文件的sql语句。 3. 在测试注入Mapper接口,并调用批量插入方法,将多条记录插入数据库。 4. 查询数据库,检查插入的记录是否正确。 示例代码如下: Mapper.xml文件: ```xml <insert id="batchInsert" parameterType="java.util.List"> insert into user (name, age) values <foreach collection="list" item="item" separator=","> (#{item.name}, #{item.age}) </foreach> </insert> ``` Mapper接口: ```java @Mapper public interface UserMapper { @InsertProvider(type = UserSqlProvider.class, method = "batchInsert") int batchInsert(List<User> userList); } ``` 测试类: ```java @RunWith(SpringRunner.class) @SpringBootTest public class UserMapperTest { @Autowired private UserMapper userMapper; @Test public void testBatchInsert() { List<User> userList = new ArrayList<>(); userList.add(new User("Tom", 20)); userList.add(new User("Jerry", 25)); userList.add(new User("Mike", 30)); int count = userMapper.batchInsert(userList); assertEquals(3, count); List<User> result = userMapper.getAllUsers(); assertEquals(3, result.size()); assertEquals("Tom", result.get(0).getName()); assertEquals(20, result.get(0).getAge()); assertEquals("Jerry", result.get(1).getName()); assertEquals(25, result.get(1).getAge()); assertEquals("Mike", result.get(2).getName()); assertEquals(30, result.get(2).getAge()); } } ``` 注意:在测试需要先插入数据,再查询验证插入的数据是否正确。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值