3、大数据测试

作者: 猪儿打滚 | 来源:发表于2020-07-01 18:22 被阅读0次

    前言

    在个人看来,大数据测试可以归为一个测试体系。因为它不仅要验证正常的业务功能,还要针对大数据所使用的工具/框架进行测试,这需要大数据测试人员掌握大数据技术,比如说Hadoop生态圈的技术:Hadoop生态圈技术栈

    大数据是什么

    大数据是指那些数据量特别大、数据类别特别复杂的数据集,这种数据集不能用传统的数据库进行转存、管理和处理。

    大数据测试策略

    1、基本功能测试

    不管是什么样的测试,首先要保证的就是基本功能的正确性。从黑盒层面来看,大数据测试可以看成三个步骤:


    大数据黑盒视图

    1、原始数据->大数据处理
    这里要测试的是原始数据的正确性,比如数据来源是埋点,那么就需要保证埋点上报的正确性,也就是对埋点进行测试。
    测试文档可以是埋点测试文档
    2、大数据处理
    这里要测试的是大数据对原始数据处理的正确性,大数据对原始数据处理完后,会把处理后的数据保存在一个/多个数据仓库中(比如es),这时候可以通过查询数据仓库的数据来进行。
    测试文档可以是详细设计文档
    3、前端展示
    前端展示的数据,有两个可能性:
    a.展示的数据直接来源于大数据(比如clickhouse)
    b.展示的数据是经过后端处理的
    所以这里的测试,是需要根据具体的业务和实际的技术方案来进行
    测试文档可以是需求文档

    2、大数据处理步骤的测试

    步骤图示

    从上图可以看出,大数据处理步骤大体上可以分成三个步骤:

    • 1、原始数据进入大数据步骤
      首先要确保原始数据在到达hdfs/kafka前的正确性
      1.确保原始数据正确进入系统中
      因为原始数据可能来源于埋点、关系型数据库、日志系统、其它系统等地方,所以要首先保证原始数据能够正确进入系统,有可能在进入时候因为数据格式不匹配而报错
      2.确保加载进来的数据和原始数据是一样的
      当原始数据进入系统后,需要看下加载进来的数据是否和原始数据一样,或者说是否符合下一步所需的数据格式标准。
      3.确保数据正确提取和加载到hdfs/kafka

    • 2、数据在计算框架中的处理(ETL)
      当文件存入HDFS之后就要通过MapReduce进行处理了。这个阶段可能出现的问题包括但不限于编码不对、节点配置错误、聚合不正确、输出格式不对等问题。一般需要进行如下的测试:
      1.MapReduce进程正常工作
      2.数据处理完成,输出文件正确
      3.验证map时生成的key-value是否正确
      4.验证reduce结束后聚合是否正确
      5.输出格式是否符合要求

    • 3、处理后的数据输出阶段
      此阶段主要是生成处理过的最终数据文件以及存放到数据仓库。一般需要进行如下的测试:
      1.检查转换规则被正确应用
      2.检查数据加载到目标系统中且完整
      3.通过将目标数据与HDFS文件系统数据进行比较来检查没有数据损坏

    这些过程中,可以通过Hive得到分析报告来做进一步的验证。

    hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

    PS.上面2和3,摘自http://www.mamicode.com/info-detail-2156972.html

    相关文章

      网友评论

        本文标题:3、大数据测试

        本文链接:https://www.haomeiwen.com/subject/slecqktx.html