大数据测试

1、前言

大数据测试是对大数据应用程序的测试过程,以确保大数据应用程序的所有功能按预期工作。大数据测试的目标是确保大数据系统在保持性能和安全性的同时,平稳无差错地运行。

大数据是无法使用传统计算技术处理的大型数据集的集合。这些数据集的测试涉及要处理的各种工具、技术和框架。大数据涉及数据的创建、存储、检索和分析,在数量、种类和速度方面都非常出色。您可以在此处了解有关大数据、Hadoop 和 MapReduce 的更多信息。

2、大数据测试策略

测试大数据应用更多的是对其数据处理的验证,而不是测试软件产品的单个功能。谈到大数据测试,性能和功能测试是关键。

在大数据测试策略中,QA工程师使用商品集群和其他支持组件验证TB级数据的成功处理。由于处理速度非常快,因此需要高水平的测试技能。处理可能分为三种类型

 

除此之外,数据质量也是大数据测试中的一个重要因素。在测试应用程序之前,有必要检查数据的质量,应该被视为数据库测试的一部分。它涉及检查各种特征,如一致性、准确性、重复性、有效性、数据完整性等。

3、如何测试大数据应用程序

下图给出了测试大数据应用程序阶段的高级概述

 

大数据测试大致可分为三个步骤:

步骤1:数据分段验证

大数据测试的第一步,也称为 Hadoop 前阶段,涉及过程验证。

  • 应验证来自 RDBMS、网络日志、社交媒体等各种来源的数据,以确保将正确的数据提取到系统中。

  • 将源数据与推送到 Hadoop 系统的数据进行比较以确保它们匹配。

  • 验证是否提取了正确的数据并将其加载到正确的 HDFS 位置。

像工具 Talend,Datameer,可用于数据分段的验证。

步骤2:MapReduce验证

第二步是验证“MapReduce”。在这个阶段,测试人员在每个节点上进行业务逻辑验证,然后在多个节点上运行后验证它们,确保

  • Map Reduce 进程正常工作。

  • 对数据实施数据聚合或隔离规则。

  • 键值对生成。

  • 在 Map-Reduce 过程之后验证数据。

步骤3:输出验证阶段

大数据测试的最后或第三阶段是输出验证过程。输出数据文件已生成并准备好根据要求移动到 EDW(企业数据仓库)或任何其他系统。第三阶段的活动包括

  • 检查转换规则是否正确应用。

  • 检查数据完整性和成功的数据加载到目标系统。

  • 通过将目标数据与 HDFS 文件系统数据进行比较来检查是否存在数据损坏。

4、架构测试

Hadoop 处理非常大量的数据并且是高度资源密集型的。因此,架构测试对于确保大数据项目的成功至关重要。设计不佳或不当的系统可能会导致性能下降,并且系统可能无法满足要求。至少,性能和故障转移测试服务应该在 Hadoop 环境中完成。

性能测试包括对作业完成时间、内存利用率、数据吞吐量和类似系统指标的测试。而故障转移测试服务的动机是验证在数据节点发生故障的情况下数据处理是否无缝进行。

 

5、性能测试

大数据性能测试包括三个主要操作

  • 数据获取和吞吐量:在此阶段,测试人员验证快速系统如何使用来自各种数据源的数据。测试涉及识别队列可以在给定时间范围内处理的不同消息。它还包括将数据插入底层数据存储的速度,例如插入 Mongo 和 Cassandra 数据库的速度。

  • 数据处理:它涉及验证查询或 map reduce 作业的执行速度。它还包括在数据集中填充底层数据存储时单独测试数据处理。例如,在底层 HDFS 上运行 Map Reduce 作业。

  • 子组件性能:这些系统由多个组件组成,必须单独测试每个组件。例如,消息被索引和消费的速度、MapReduce 作业、查询性能、搜索等。

 

6、性能测试方法

大数据应用的性能测试涉及对海量结构化和非结构化数据的测试,需要特定的测试方法来测试如此海量的数据。

 

性能测试按此顺序执行

1、该过程从要测试性能的大数据集群的设置开始

2、识别和设计相应的工作负载

3、准备单个客户端(创建自定义脚本)

4、执行测试并分析结果(如果不满足目标,则调整组件并重新执行)

5、最佳配置

7、性能测试参数

性能测试需要验证的各种参数是

  • 数据存储:数据如何存储在不同的节点。

  • 提交日志:允许提交日志增长的大小。

  • 并发:有多少线程可以执行读写操作。

  • 缓存:调整缓存设置“行缓存”和“键缓存”。

  • 超时:连接超时、查询超时等的值。

  • JVM 参数:堆大小、GC 收集算法等。

  • 降低性能:排序、合并等。

  • 消息队列:消息速率、大小等。

 

8、测试环境需求

测试环境需要取决于您正在测试的应用程序类型。对于大数据软件测试,测试环境应该包括

  • 它应该有足够的空间来存储和处理大量数据。

  • 它应该有一个具有分布式节点和数据的集群。

  • 它应该具有最低的 CPU 和内存使用率以保持高性能以测试大数据性能。

9、大数据测试对比传统数据库测试

图片

10、大数据场景中使用的工具

图片

11、大数据测试的挑战

1、自动化

大数据的自动化测试需要具有技术专长的人员。此外,自动化工具不具备处理测试过程中出现的意外问题的能力。

2、虚拟化

它是测试的组成部分之一。虚拟机延迟会在实时大数据性能测试中产生计时问题。在大数据中管理图像也很麻烦。

3、大数据集

需要验证更多数据并且需要更快地完成。

需要自动化测试工作。

需要能够跨不同平台进行测试。

12、性能测试挑战

  • 多样化的技术:每个子组件属于不同的技术,需要单独测试。

  • 特定工具不可用:没有单一工具可以执行端到端测试。例如,NoSQL 可能不适合消息队列。

  • 测试脚本:需要高度的脚本来设计测试场景和测试用例。

  • 测试环境:数据量大,需要特殊的测试环境。

  • 监控解决方案:存在可以监控整个环境的有限解决方案。

  • 诊断解决方案:需要开发自定义解决方案以深入挖掘性能瓶颈区域。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/616377.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

codeforces round 149 div2(a,b,c,d)

手速场&#xff0c;可惜我傻逼卡 c c c了 题目链接 A #include<bits/stdc.h>using namespace std;#define int long long #define PII pair<int,int>void solve() {int n,k;cin>>n>>k;if(n<k){cout<<1<<\n;cout<<n<<\n;}…

【JVM】阅读Class字节码:常量池

目录 基本结构解析 常量池 常量池简介 如何阅读Class文件中的常量池信息 基本结构解析 Magic(魔数) Magic的唯一作用是确定这个文件是否为一个能被虚拟机所接受的class 文件。魔数值固定为0xCAFEBABE&#xff0c;不会改变。 常量池 常量池简介 下图是反编译过后的字节码文…

【机器学习】 技术栈和开发环境搭建

各位大佬好 &#xff0c;这里是阿川的博客 &#xff0c; 祝您变得更强 个人主页&#xff1a;在线OJ的阿川 大佬的支持和鼓励&#xff0c;将是我成长路上最大的动力 阿川水平有限&#xff0c;如有错误&#xff0c;欢迎大佬指正 博客目录 技术栈编程语言库框架编辑器项目IDE …

Maven 的仓库、周期和插件

优质博文&#xff1a;IT-BLOG-CN 一、Maven 仓库 在Maven的世界中&#xff0c;任何一个依赖、插件或者项目构建的输出&#xff0c;都可以称为构建。Maven在某个统一的位置存储所有项目的共享的构建&#xff0c;这个统一的位置&#xff0c;我们就称之为仓库。任何的构建都有唯一…

【Linux】AlmaLinux 9.4版本发布

AlmaLinux 9.4 正式版发布&#xff0c;该版本基于 Redhat Enterprise 9.4&#xff0c;内核版本号&#xff1a; 5.14.0-427.13.1.el9_4.x86_64 相对于Rocky Linux&#xff0c; AlmaLinux更加的稳定&#xff0c;生产环境建议使用AlmaLinux来替代CentOS 7.x AlmaLinux 9.4版本系统…

Star-CCM+绘制网格-全局网格定义(网格类型选择、薄体网格、网格重置)

前言 绘制网格是有限体积法仿真中必不可少的环节。目前Star-CCM+新版本(2304版)导入面网格只可以导入到部件中。网格类型也只能在操作中完成。零部件导入部件后,选中参与计算的全部部件→右键选择“将部件分配给区域”。此处需要注意的是,只有分配给区域后的部件才能进行网…

Java医院绩效管理应用系统源码java+ maven+ avue 公立医院绩效考核管理系统源码 支持二开

Java医院绩效管理应用系统源码java maven avue 公立医院绩效考核管理系统源码 支持二开 医院绩效管理系统解决方案紧扣新医改形势下医院绩效管理的要求&#xff0c;以“工作量为基础的考核方案”为核心思想&#xff0c;结合患者满意度、服务质量、技术难度、工作效率、医德医风…

详解typora配置亚马逊云科技Amazon S3图床

欢迎免费试用亚马逊云科技产品&#xff1a;https://mic.anruicloud.com/url/1333 当前有很多不同的博客社区&#xff0c;不同的博客社区使用的编辑器也不尽相同&#xff0c;大概可以分为两种&#xff0c;一种是markdown格式&#xff0c;另外一种是富文本格式。例如华为云开发者…

【基于 PyTorch 的 Python 深度学习】6 视觉处理基础:卷积神经网络(1)

前言 文章性质&#xff1a;学习笔记 &#x1f4d6; 学习资料&#xff1a;吴茂贵《 Python 深度学习基于 PyTorch ( 第 2 版 ) 》【ISBN】978-7-111-71880-2 主要内容&#xff1a;根据学习资料撰写的学习笔记&#xff0c;该篇主要介绍了卷积神经网络的卷积层部分。 预&#xff1…

计算机字符集产生的历史与乱码

你好&#xff0c;我是 shengjk1&#xff0c;多年大厂经验&#xff0c;努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注&#xff01;你会有如下收益&#xff1a; 了解大厂经验拥有和大厂相匹配的技术等 希望看什么&#xff0c;评论或者私信告诉我&#xff01; 文章目录 一…

halcon 2D模板匹配 3D

一、概述 模板匹配常用于定位和查找&#xff0c;有很多的方式&#xff0c;halcon 中就有灰度匹配 、形状匹配、变形匹配、缩放匹配等&#xff0c;其实最常用的还是两种第一个就是灰度匹配、还有就是形状匹配 二、金字塔概述 网上有很多关于金字塔的解释&#xff0c;我这里直…

JCR一区 | Matlab实现TTAO-CNN-BiLSTM-MATT多特征分类预测

JCR一区 | Matlab实现TTAO-CNN-BiLSTM-MATT多特征分类预测 目录 JCR一区 | Matlab实现TTAO-CNN-BiLSTM-MATT多特征分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.Matlab实现TTAO-CNN-BiLSTM-MATT三角拓扑聚合优化器优化双向长短期记忆神经网络融合多头注意力…

智慧园区能耗管控系统,3D可视化开发都需要哪些技术栈?

数据可视化&#xff1a; 数据可视化是将数据通过图表、图形、地图等可视化方式展示&#xff0c;使得数据更加直观、易于理解和分析。在智慧园区能耗管控系统中&#xff0c;可以使用各种图表库&#xff08;如Echarts、Highcharts&#xff09;和可视化工具&#xff08;如Tableau…

【LeetCode:2391. 收集垃圾的最少总时间 + 二分】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

【强化学习-深度强化学习DRL】什么问题可以用DRL解决?条件:场景固定数据廉价

引言&#xff1a;深度强化学习适用于满足场景固定、数据廉价这两个要求的问题求解。本节对场景固定进行详细的论述。术语&#xff1a;深度强化学习&#xff08;DRL&#xff09; 条件一&#xff1a;场景固定&#xff08;两个分布一致&#xff09; 场景固定指的是&#xff0c;保…

美股市场恒生指数冲刺19000点关口 地产股大涨

查查配5月10日电(中新财经记者 谢艺观)5月10日,港股现强势行情,恒生指数盘中一度冲至18993.28点,距离19000点关口仅一步之遥。 美港通证券以其专业的服务和较低的管理费用在市场中受到不少关注。该平台提供了实盘交易、止盈止损、仓位控制等功能,旨在为投资者提供更为全面的投…

HNCTF-PWN

1.ez_pwn 直接看危险函数&#xff0c;不能溢出&#xff0c;只能覆盖ebp。 后面紧接的又是leave,ret 很明显是栈迁移&#xff0c;通过printf打印出ebp&#xff0c;通过偏移计算出栈地址。 通过gdb调试&#xff0c;偏移是0x38 以下是payload&#xff1a; from pwn import * #i…

通过单总线实现单片机之间的数据传输

单总线、没有时钟线的通信时&#xff0c;不能使用简单的高低电平来通信&#xff0c;因为接收方不知道此时发送的数据是第几位数据&#xff0c;容易造成错乱。 因此在使用一根线对外传输数据时&#xff0c;需要自定义一个通信协议&#xff0c;它至少要包含格式头数据&#xff0c…

二维数组 和 变长数组

在上一期的内容中&#xff0c;为诸君讲解到了一维数组&#xff0c;在一维数组的基础上&#xff0c;C语言中还有着多维数组&#xff0c;其中&#xff0c;比较典型且运用较为广泛的就是我们今天的主角——二维数组 一 . 二维数组的概念 我们把单个或者多个元素组成的数组定义为一…

springboot项目打包部署

springboot打包的前提条件jdk必须17以后不然本地运行不来&#xff08;我用的jdk是22&#xff09; 查看自己电脑jdk版本可以参考&#xff08;完美解决Windows10下-更换JDK环境变量后&#xff0c;在cmd下执行仍java -version然出现原来版本的JDK的问题-CSDN博客&#xff09; 1、…