大数据测试
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…...

远程桌面如何连接?
远程桌面连接是一种可以在不同地点之间共享电脑桌面的技术。通过远程桌面连接,用户可以在远程的计算机上操作另一台计算机,就像是直接坐在前者的前面一样。这种技术可以帮助用户解决在不同地点之间共享数据、协同办公、设备管理等问题。 【天联】的使用场…...

Centos 停服倒计时!你的操作系统何去何从?
在计算机技术的不断演进中,操作系统扮演着至关重要的角色。然而,对于许多企业和个人用户来说,CentOS的突然停服消息带来了一场不小的冲击。作为一款备受欢迎的企业级Linux发行版,CentOS的停服意味着用户需要重新评估自己的操作系统…...

ITMS-91053: Missing API declaration
1. 添加PrivacyInfo.xcprivacy File → New → File → App Privacy 2. 格式 3. 已知对应关系 NSPrivacyAccessedAPICategoryFileTimestamp 3B52.1: Files provided to app by user, per documentation:File Timestamp NSPrivacyAccessedAPICategoryDiskSpace …...

iOS 裁剪图片
参考资源 YSHYClipImageDemo YQImageTool 裁剪图片 完整demo:https://github.com/liquangang/cutImageFinish...

算法训练营第60天|LeetCode 647.回文子串 516.最长回文子序列
LeetCode 647.回文子串 题目链接: LeetCode 647.回文子串 代码: class Solution { public:int countSubstrings(string s) {int size s.size();int result 0;vector<vector<int>>dp(size,vector<int>(size,false));for(int i si…...

读天才与算法:人脑与AI的数学思维笔记25_涌现理论
1. 人工智能新闻 1.1. 人工智能新闻报道算法的核心是如何将未经处理的原始数据转换成新闻报道 1.2. 很少有记者为美联社决定使用机器来帮助报道这些新闻持反对意见 1.2.1. 像“Wordsmith”这样的算法,具有自动化的洞察力、科学的叙事能力,现在正被应用…...

C/C++ IPV6服务器socket绑定在::,接受ipv4链接(双栈)
先决条件: 1、 创建IPV6套接字 2、打开套接字可重用 3、禁用仅限 IPV6 BOOL bEnable FALSE; if (setsockopt(listenfd_, IPPROTO_IPV6, IPV6_V6ONLY, reinterpret_cast<char*>(&bEnable), sizeof(bEnable)) < 0) …...

【Win10设备管理器中无端口选项】
计算机疑难杂症分享002 Win10设备管理器中无端口选项1、问题现象2、问题原因3、问题解决3.1、驱动精灵(亲测的此方法)3.2、添加过时硬件3.3、官方的方法 Win10设备管理器中无端口选项 1、问题现象 当我调试串口通信时,发现打开设备管理器没有端口,打开…...

「YashanDB迁移体验官」Oracle向YashanDB迁移的丝滑体验
📢📢📢📣📣📣 作者:IT邦德 中国DBA联盟(ACDU)成员,10余年DBA工作经验, Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主,全网粉丝10万 擅长主流Oracle、My…...

实现用户个人随机salt生成jwt及鉴别用户权限的实现思路
实现用户个人随机salt生成jwt及鉴别用户权限的实现 盐值是什么? 盐值(salt)是在密码学中用于增加密码安全性的一种随机值。它通常是一个随机生成的字符串,与用户密码结合在一起,然后再进行加密处理。盐值的作用是增加…...