大数据测试
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…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...
给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...
Python训练营-Day26-函数专题1:函数定义与参数
题目1:计算圆的面积 任务: 编写一个名为 calculate_circle_area 的函数,该函数接收圆的半径 radius 作为参数,并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求:函数接收一个位置参数 radi…...
QT开发技术【ffmpeg + QAudioOutput】音乐播放器
一、 介绍 使用ffmpeg 4.2.2 在数字化浪潮席卷全球的当下,音视频内容犹如璀璨繁星,点亮了人们的生活与工作。从短视频平台上令人捧腹的搞笑视频,到在线课堂中知识渊博的专家授课,再到影视平台上扣人心弦的高清大片,音…...
聚六亚甲基单胍盐酸盐市场深度解析:现状、挑战与机遇
根据 QYResearch 发布的市场报告显示,全球市场规模预计在 2031 年达到 9848 万美元,2025 - 2031 年期间年复合增长率(CAGR)为 3.7%。在竞争格局上,市场集中度较高,2024 年全球前十强厂商占据约 74.0% 的市场…...
