测开架构师谈大数据——大数据层级的测试重点

2022-04-07 13:38:44 浏览数 (1)

1

大数据层级的测试重点有哪些?

现在运用到大数据技术的公司非常之多,在这块的质量保证工作上已经成为软件测试工程师又一个需要挑战自己的地方。在目前较流行的大数据5V标准之下,决定了大数据测试所应对的业务和常规业务测试存在一定的差异性和难度,下面我们就来看看基于大数据层级的一些测试关注点。

大数据层级:

2

数据收集层测试重点

这一层是处于应用最底层,通常情况下大多数大数据类型的产品会从多数据源收集数据并进行一定的预处理然后存库(通常存放在HDFS中),该层级主要可能运用到的大数据技术Hadoop生态下的Flume、Kafka、Sqoop等

测试重点:

1. 数据的完整性(保证采集的数据不缺失)

2. 数据的一致性)(保证采集的数据和原始数据保持一致)

3. 数据合理性校验(如样本存在年龄=1000等)

4. Kafka通道的稳定性

5. Flume采集数据流的正确性

6. 校验加载完成后对应存储(HDFS)中的位置正确(因为HDFS会把大文件切分存储)

7. 满足数据加载性能的基线要求

3

数据存储层测试重点

这一层主要作用是用于存储采集到的数据或者计算分析完的数据,主要采用Hadoop技术栈中的HDFS、Hbase、Hive等

测试重点:

1. 对应数据库的读写性能是关键验证点

2. 数据存储的正确性和一致性

3. 模拟真实集群下NN节点的处理能力,DN块上报的正确性(可采用Dynamometer模拟)

4

资源管理和服务协调层测试重点

该层主要的目的是为了统一管理服务并进行资源分配,可以解决负载均衡的一些问题、心跳包机制由于网络原因造成的双主问题。只要是符合主从结构的应用均可以和该层做交互。目前主要采用技术为Hadoop的Yarn、Zookeeper等。

测试重点:

1. 正常业务的调度监控

2. 混沌实验---故障植入(如模拟主节点挂了或者单个节点负载过高等)

3. 高并发下的资源调度和预警机制检测

5

计算引擎层测试重点

计算引擎层是业务价值的核心,该层主要会介入数据预筛、数据清洗等动作。需要为后续的数据分析工作提供准确的数据支撑,否则最终产品出来的数据便毫无价值,因此这部分的工作为测试核心重点,对应技术栈MapReduce、Apach Storm、Spark Streaming,也有结合脚本直接载入内存做计算形式的。

测试重点:

1、数据调取的准确性(一般校验从HDFS中)

2、数据清洗规则功能校验(此处工作量较大,实际可采用自动化形式)

3、数据传输通道的稳定性和可靠性(一般用Kafka或者RPC方式)

4、MapReduce计算过程的验证(Map阶段验证和Reduce阶段验证)

5、实时流式计算的数据验证和配置测试(需要调整出最合适的Spark Streaming参数)

6、输出测试,确保清洗后的数据能正确载入到数据仓库或者向下游传递

数据分析层测试重点

数据分析层主要作用在于通过清洗后的数据形成对应的数据产品,主要的在于报表的形成、

数据指标的计算、等级评估等。所用到的技术栈Hive、Spark SQL,当然某些分析领域也会进一步和计算引擎做交互。

测试重点:

1、分析功能验证(覆盖现有数据集、满足现有分析需求)

2、具体指标分析接口校验

3、数据分析性能验证(不同量级、不同分析维度如计算型分析、过滤型分析、混合分析等)

4、数据完整性校验

5、数据安全(如敏感字段脱敏展示等)

6、下游平台能否正确接收到分析结果

END

0 人点赞