大数据测试
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 可能不适合消息队列。
-
测试脚本:需要高度的脚本来设计测试场景和测试用例。
-
测试环境:数据量大,需要特殊的测试环境。
-
监控解决方案:存在可以监控整个环境的有限解决方案。
-
诊断解决方案:需要开发自定义解决方案以深入挖掘性能瓶颈区域。
相关文章:

大数据测试
1、前言 大数据测试是对大数据应用程序的测试过程,以确保大数据应用程序的所有功能按预期工作。大数据测试的目标是确保大数据系统在保持性能和安全性的同时,平稳无差错地运行。 大数据是无法使用传统计算技术处理的大型数据集的集合。这些数据集的测试涉…...

金融业开源软件应用 管理指南
金融业开源软件应用 管理指南 1 范围 本文件提供了金融机构在应用开源软件时的全流程管理指南,对开源软件的使用和管理提供了配套 组织架构、配套管理规章制度、生命周期流程管理、风险管理、存量管理、工具化管理等方面的指导。 本文件适用于金融机构规范自身对开…...
SolidWorks 齿轮配合
SolidWorks 齿轮配合 在SolidWorks中,齿轮配合是一种特殊的配合类型,用于模拟两个或多个齿轮之间的旋转关系。这种配合确保当一个齿轮旋转时,其他齿轮按照特定的比例旋转,非常适合模拟机械传动系统。以下是使用齿轮配合的详细步骤…...

鸿蒙开发-ArkTS语言-XML
鸿蒙开发-UI-web 鸿蒙开发-UI-web-页面 鸿蒙开发-ArkTS语言-基础类库 鸿蒙开发-ArkTS语言-并发 鸿蒙开发-ArkTS语言-并发-案例 鸿蒙开发-ArkTS语言-容器 鸿蒙开发-ArkTS语言-非线性容器 文章目录 前言 一、XML概述 二、XML生成 三、XML解析 1.解析XML标签和标签值 2.解析XML属性…...

网安面经之文件上传漏洞
一、文件上传漏洞 1、文件上传漏洞的原理?危害?修复? 原理:⽂件上传漏洞是发⽣在有上传功能的应⽤中,如果应⽤程序对⽤户上传的⽂件没有控制或者存在缺陷,攻击者可以利⽤应⽤上传功能存在的缺陷ÿ…...

如何使用 WavLM音频合成模型
微软亚洲研究院与 Azure 语音组的研究员们提出了通用语音预训练模型 WavLM。通过 Denoising Masked Speech Modeling 框架(核心思想是通过预测被掩蔽(即遮蔽或删除)的语音部分来训练模型,同时还包括去噪的过程)&#x…...
学习java第六十七天
注入 Bean 的注解有哪些? 答: Autowired:根据类型进行注入,如果匹配到多个Bean,则会爆出异常。可以和Qualifier搭配使用,指定使用哪个名称的Bean Resource:首先根据名称注入,如果…...

Linux(Ubuntu24.04) 安装 MinIO
本文所使用的 Ubuntu 系统版本是 Ubuntu 24.04 ! # 1、下载 MinIO wget https://dl.min.io/server/minio/release/linux-amd64/minio# 2、添加可执行权限 chmod x minio# 3、导出环境变量,用于设置账号密码,我设置的账号和密码都是 minioadmin export MI…...

视频汇聚边缘网关EasyCVR硬件设备无法访问域名,解析失败该如何处理?
安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。视频汇聚融合管理平台EasyCVR既具备传统安防视…...

差速机器人模型LQR 控制仿真(c++ opencv显示)
1 差速机器人状态方程构建 1.1差速机器人运动学模型 1.2模型线性化 1.3模型离散化 2离散LQR迭代计算 注意1:P值的初值为Q。见链接中的: 注意2:Q, R参数调节 注意3:LQR一般只做横向控制,不做纵向控制。LQR输出的速度…...

探索设计模式的魅力:权力集中,效率提升,中心化模式的优势与挑战
🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》 💪🏻 制定明确可量化的目标,坚持默默的做事。 ✨欢迎加入探索中心化模式之旅✨ 大家好啊!👋 这次我们要聊的是IT界一…...

uniapp0基础编写安卓原生插件之编写安卓页面在uniapp上显示(摄像头调用)
前言 如果你对安卓插件开发部分不熟悉你可以先看uniapp0基础编写安卓原生插件和调用第三方jar包和编写语音播报插件之零基础编写安卓插件 效果 开始 dcloud_uniplugins.json {"nativePlugins": [{"hooksClass": "","plugins": [{&…...
fastapi数据库连接池的模版
在FastAPI中,数据库连接池通常通过使用SQLAlchemy来实现。以下是一些基于官方文档和其他可靠资源的数据库连接池模板示例。 1. 使用SQLAlchemy创建异步数据库引擎 首先,你需要创建一个异步数据库引擎,这将作为数据库连接的来源。以下是使用sqlalchemy.ext.asyncio模块创建…...

如何批量将十六进制数据转成bin文件
最近在做新项目遇到一个问题,我们要通过上位机把一堆数据通过串口发送给下位机存储,而上位机需要Bin文件。 解决办法: 1)创建一个记事本文件,然后将其后缀修改成.bin 2)然后打开notepad,新建一个文件,随便写下数据 我…...
知识付费程序源码_30秒轻松搭建知识付费小程序_免费试用,知识付费工具有哪些?哪个比较好用?
继2016年知识付费大火之后,衍生出很多关于知识付费的平台或工具。除了得到APP、荔枝微课、千聊等需要用户作为“客”家申请入驻的流量型平台,还有一些其他的知识付费工具,那么有哪些呢? 知识付费工具,推荐使用系统。 自2016年知识…...
【系统架构师】-案例篇(九)容器化、CDN与微服务
某汽车制造企业提出开发一个车联网系统。该系统釆用微服务架构,将系统功能分解为多个松散耦合且可独立部署的较小组件或服务。最终设计的系统包括了车辆信息服务、车辆监控服务、车辆控制服务、人车授权服务、资源聚合服务、车机互联服务等。 在系统上线之后&#…...
OpenAI工作原理及核心机制
一、工作原理: 1、数据收集: AI系统首先需要大量的数据作为学习的基础。这些数据可以是文本、图像、音频、视频等形式,来源于互联网、传感器、数据库等渠道。 2、预处理: 收集到的数据需要经过清洗和整理,去除无关…...

JVM调优-调优原则和原理分析
1.写在前面 对于JVM调优这个话题,可能大部分程序员都听过这个名词。 但是绝大多数程序员,都没有真真实实去干过,都没有真实的实践过。也不懂得如何调优?不知道要调成怎么样? 那今天咋们就对这个话题来展开描述一下&…...

dell服务器安装ubuntu18.04桌面版教程
目录 一、制作U盘启动盘 1.镜像下载地址: 2.制作U盘启动盘 二、服务器进入bios一系列设置 1.插入U盘启动盘 2.开机过程按F11键,进入Boot Manager ,点击 3.点击点击One-shot BIOS Boot Menu 4.进入boot menu ,找到U盘(一般…...

医疗图像处理2023年CVPR:Label-Free Liver Tumor Segmentation-无标签肝肿瘤分割
目录 一、摘要 二、介绍 三、相关工作 四、网络框架 1.位置选择 2.纹理处理 3.形状生成 4.后处理 5.参数设计 五、实验 1.数据集: 2.评价指标: 3.实现: 4.结果: 六、结论 一、摘要 通过在CT扫描中使用合成肿瘤&am…...

华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
【生成模型】视频生成论文调研
工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...

华为OD机试-最短木板长度-二分法(A卷,100分)
此题是一个最大化最小值的典型例题, 因为搜索范围是有界的,上界最大木板长度补充的全部木料长度,下界最小木板长度; 即left0,right10^6; 我们可以设置一个候选值x(mid),将木板的长度全部都补充到x,如果成功…...
API网关Kong的鉴权与限流:高并发场景下的核心实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 引言 在微服务架构中,API网关承担着流量调度、安全防护和协议转换的核心职责。作为云原生时代的代表性网关,Kong凭借其插件化架构…...
LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)
在上一篇文章中,我们详细介绍了如何使用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以实现人脸情感识别的功能。本篇文章将聚焦于微调完成后,如何调用这个模型进行人脸情感识别的具体代码实现,包括详细的步骤和注释。 模型调用步骤 环境准备:确保安装了必要的Python库。…...