• 0
  • 0
分享
  • 巧用这3个工具,轻松搞定大数据入库测试!——软件测试圈
  • 彩霞红红 2024-06-04 16:23:00 字数 1500 阅读 594 收藏 0

  1、大数据入库测试背景

  在大数据时代,数据已经成为企业的重要资产。为了确保数据的准确性和可靠性,数据入库测试成为了不可或缺的一环。大数据入库测试是在确保数据质量得前提下进行的,它包括了对数据的验证、处理以及存储的一系列检查工作。本文主要聚焦源系统测试部门收到开发人员提供的数据文件后,进行数据一致性测试过程中的简化操作。这里的数据一致性是指上传到大数据平台中的数据与从外部写入前的数据保持一致,即写入数据与读出数据始终是一致的。数据一致性能够表明大数据平台可保证数据的完整性,不会导致数据丢失或数据错误。

  2、大数据平台入库测试重点

  在大数据平台入库测试中,测试人员收到开发人员给的数据之后,首先需要核对入库信息表,重点确认源文件编码格式、行分隔符、列分隔符以及数据结构表的字段类型、字段长度、字段精度、主键标识等是否准确。然后再去对比源系统程序生成的数据和入库测试后生成的结果数据,来判断入库程序是否正确。主要可从以下几个方面进行重点测试:

  (1)结果文件格式

  每个银行大数据平台入库加工后的格式可能不同,比如分隔符的设置,需要检查分隔符是否统一置为设定的格式。

  (2)字段个数

  源文件所有字段会全部按序加载到结果文件中,同时入库处理规则也需要明确,入库之后是否会对数据进行特殊处理,比如是否有字段屏蔽、是否会加上次主键或者入库日期等。

  (3)字段数值

  核对源文件和结果文件同一条记录各字段数值是否保持一致。明确源文件字段里的空格是否会被舍弃、换行符如何处理等。

  (4)记录总数 

  一般情况下,首次加载日期的源系统数据和入库结果数据的记录数应保持一致。如果出现不一致情况,可进一步结合日志信息,确认是否发生去重或丢弃。确认存在问题或不确定的,需联系源系统、主库开发人员进行问题定位或排查。

  而银行或其它大型企业的大数据平台入库测试,可能涉及多个省份的信息,存在需将入库前各分省的信息,与入库后各省信息合并的数据结果进行对比的情况。测试过程要将入库前各省的信息记录汇总,涉及多张表,每张表数据量十分庞大。人工汇总难度较大,耗时较久,所以可以尝试用python代码合并同一张表的数据。

  3、大数据平台入库测试简化操作

  3.1利用7zip解压缩

  数据库数据包含多个压缩包,可以利用解压缩工具7zip一键解压文件。为了方便解压缩,可以先按类型将文件进行分组排列。

19-1.png


  3.2批量修改文件后缀名

  解压之后在文件所在目录输入cmd,回车。

19-2.png


  在命令行输入ren * *.txt命令,将文件后缀名统一修改为.txt。

19-3.png


  3.3文件分表存储

  根据入库结果,建立对应的入库前文件夹,然后根据表名在3.2节的文件中去搜寻对应的文件,复制到对应的入库前文件夹中。

19-4.png

19-5.png

  3.4合并入库前的表数据

  可下载Pycharm软件,利用python代码将3.3小节中的文件结果进行合并。

19-6.png

  3.5数据对比

  利用Notepad++工具,将3.4节中得到的合并结果,和入库后的结果进行对比。

19-7.png

  可以清晰看到入库前后数据记录总数是否一致。

19-8.png

19-9.png

  4、总结与展望

  总的来说,大数据入库测试是一个复杂的过程,需要综合考虑数据的准确性、存储能力、处理效率等多个因素,本文主要针对数据一致性测试中记录总数较多、需要人工合并的情况,采用Python代码简化流程。未来还可考虑对字段数值、字段个数对比等流程进行简化,通过构建自动化环境和利用智能化手段等方式,来提升大数据平台入库测试的效率和质量。


作者:邓旭    

来源:http://www.51testing.com/html/84/n-7801084.html

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 蓦然回首自己做IT这个行业已经十年了,这十年中我获得了很多,技术能力、培训、出国、大公司的经历,还有很多很好的朋友。但再仔细一想,这十年中我至少浪费了五年时间,这五年可以足够让自己成长为一个优秀的程序员,可惜我错过了,我用这五年时间和很多程序员一样在困惑和迷茫中找不到出路!路其实一直都在那里,只是我们看不到而已!以前我一直被公司和技术牵着走,并不是自己在选择技术,而是不自觉地被推到了这个位置上。想想有多少人对于自己将来要从事的职业和技术类型进行过深入思考和比较呢?当我跳出编码后,我开始思考和程序及程序员职业生涯相关的问题,最后发现,影响我们走入今天的困局的竟然是一些我们常常挂在嘴边的话(观念)...
            0 2 3102
            分享
          • 前言: 作为测试人员,和我们最常打交道的,莫属bug。当你发现bug后,会采取什么样的行动?是直接报出来,亦或找找问题原因?不管是我们自己找到的,亦或是开发修复后告诉我们的,知道问题之所在总是好的。在本篇文章中,笔者试图带领大家一起梳理下,为什么测试人员定位问题很重要,以及我们可以使用什么样的定位方法。一、定位问题的重要性很多测试人员可能会说,我的职责就是找到bug,至于找原因并修复,那是开发的事情,关我什么事?好,我的回答是,如果您只想做一个测试人员最基本最本分的事情,那么可以这么想。但是,如果您想要在测试甚至开发的道路上长足发展,就要知其所以然。那么,为什么定位问题如此重要?可以...
            9 10 4148
            分享
          •   去年12月,被称为“天才少年”的稚晖君宣布从华为离职,开启了创业之旅,也就是智元机器人。  稚晖君在个人微博宣布将于8月18日(本周五)在上海召开新品发布会,正式发布远征A1智能机器人。  从海报来看,这个机器人拥有人类外形,类似人体的多关节设计,应该能实现类人动作。从海报来看,这个机器人拥有人类外形,类似人体的多关节设计,应该能实现类人动作。  而其心脏特别标记处鲜艳的红心,似乎在暗示在心智方面会带来惊喜。  2020年,稚晖君加入“华为天才少年计划”,正式成为华为的一名员工。随后在华为的两年内,稚晖君曾用业余时间打造出自动驾驶自行车、给葡萄缝针的机械臂等叫绝的产品。  有知情人士透露,...
            0 0 686
            分享
          • 第二篇 基础问答(下)6. 依赖第三方的接口如何处理?这个需要自己去搭建一个mock服务,模拟接口返回数据,也就是我们常说的挡板服务。可以使用的工具有很多,比如在线版的 easy mock,java优秀的接口mock工具moco,或者利用web开发的框架比如flask、django等等自己写一个小的接口服务,部署上就可以。有了mock服务,让开发人员把对应的地址替换掉即可。如果不方便替换可以使用抓包工具或者burpsuite截获请求,修改地址或相应参数,再发送出去就可以了。关于mock的服务还会衍生出一个很常见的话题:如果我们的接口需要真实支付(比如对接支付宝的相关接口),如何测试?也就是说你...
            0 1 3173
            分享
          •   一、什么是回归测试  回归测试(regression test)是在程序被修改后启动的一个测试过程。其目的在于验证程序被修改后,程序仍然按照原有测试用例正常运行。在开发阶段,回归测试可用于发现缺陷并被修复后,重新验证带缺陷功能块这一阶段。  二、回归测试和普通测试的区别  许多人常以为回归测试只是普通测试的拓展,然而事实并非完全如此。回归测试与普通测试存在着以下几点区别。  1.测试计划有不同  普通测试的测试计划使用的测试用例全是新增未曾执行过的,常用于代码开发阶段;而回归测试测试计划中使用的测试用例为已经被执行过的。  2.测试范围不同  普通测试旨在于检测程序的正确性,包括单模块功能...
            12 12 3206
            分享
      • 51testing软件测试圈微信