posts - 32,  comments - 0,  views - 13464

 

与传统测试区别

image-20211231104504478

功能测试

数据质量

  • 主要包括4种测试方法

 

常用的功能测试方法

数据约束检查

  • 如数据类型、长度、索引、主键等是否符合要求

数据存储检查

  • 是否需要压缩文件形式存储
  • hive表类型是否合理(内外部表、分区、分桶表)
  • 代码中读取、写入文件目录是否正确

SQL文件检查

开发规范检查。一般公司都有自己的规范,如hiveql中的:

  • 注释
  • 字段,不行用*代替全部
  • …..

SQ语法检查

  • 合理使用insert into、insert overwrite、order by、group by等

数据处理逻辑验证

  • 脏数据处理是否符合预期
  • 去重处理

shell脚本测试

  • 测试jar包是否引用正确
  • mapper、reducer文件、mapreduce依赖文件等路径、运行配置参数是否合理
  • 我对shell不熟悉,一般采用python

调度任务测试

  • 是否支持重跑
  • 依赖层次是否合理
  • 任务是否在规定时间完成等

性能测试

主要由六种测试:基准测试、并发测试、负载测试、压力测试、容量测试、稳定性测试

 性能测试步骤

 

性能测试案例

  • 第六章用户行为分析平台为例子,采用YCSB工具,对平台底层Kudu进行性能测试

  • YCSB 是雅虎开源的性能测试工具,对NoSql产品进行测试和评估,如HBase、MongoDB等

测试场景

测试结果

 

 

 

大数据基准测试

对大数据框架、大数据平台、工具的出现进行基准测试,测试步骤分为:

  • 数据准备

  • 负载选择

 

大数据基准测试

对大数据框架、大数据平台、工具的出现进行基准测试,测试步骤分为:

  • 数据准备

  • 负载选择

 

 

  • 指标度量

基准测试工具

image-20211231153834017

 

 

大数据ETL测试

ETL测试类型

元数据测试

  • 验证表定义是否符号数据模型和应用程序的设计规范,包括对数据类型、数据长度、索引和约束等

数据完整性测试

  • 目的是验证是否已将预期数据从源加载到目标中,主要测试:比较源和目标之间的计数,如最大、最小、总和、均值和实际数据量

数据转换测试

  • 白盒测试。用sql或pl/sql对数据转换,用转换后的数据与目标中数据比较
  • 黑盒测试。外部界面方式造数据完成转换,用转换后的数据与目标中数据比较

增量ETL测试

目的是验证源上的更新能否正确加载到目标系统中

ETL集成测试

如下几个步骤:

  • 在源系统中,设置测试数据
  • 执行ETL过程把数据加载到目标中
  • 查看或处理目标系统中数据
  • 验证数据和使用该数据的应用程序的功能

ETL性能测试

ETL测试场景

实时数据ETL和测试

  • 实时数据一般指分钟级别以下,通常包括实时计算、存储、展示和分析等。

image-20211231161902589

  • 原始数据:可以理解为上游原始数据。对于整个上层消费应用,除数据本身以外,其他都是“黑盒,即不可见。目前,对于接入的数据源,常见的提供数据的方式人 Kafka、MQ 等。
  • 实时数据处理:这是整个数据流转路径的核心,负责根据业务需求对原始数据进行理并转发。常见的处理实时数据的应用框架有Flink、Storm和SparkStreaming等。
  • 数据存储:用于保存处理后的数据。对于业务功能,可以在这里获取需要使用的数据。在这里,我们一般使用基于内存的key-value数据库 Redis,以及列式数据医。 ClickHouse、MongoDB和HDFS等。另外,我们可以将数据转发至另一个数握 通道。
  • 数据应用:数据的具体使用。在这里,我们可以对数据进行业务层面的处理、数据的可视化展示。

离线数据ETL和测试

  • 离线数据一般采用T+1模式,即每天凌晨处理前一天的数据,一般采用Sqoop,datax,Flume和MapReduce等

image-20211231163101257

  • 对于不同的数据仓库结构,有不同的测试点

image-20211231163336807

大数据ETL测试工具

  • iCDQ
  • Talend
posted on   aha_baby  阅读(164)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示