当前位置: 首页 > news >正文

大数据测试

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、文件上传漏洞的原理?危害?修复? 原理:⽂件上传漏洞是发⽣在有上传功能的应⽤中,如果应⽤程序对⽤户上传的⽂件没有控制或者存在缺陷,攻击者可以利⽤应⽤上传功能存在的缺陷&#xff…...

如何使用 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…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!

简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...

【WebSocket】SpringBoot项目中使用WebSocket

1. 导入坐标 如果springboot父工程没有加入websocket的起步依赖&#xff0c;添加它的坐标的时候需要带上版本号。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dep…...

6️⃣Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙

Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙 一、前言:离区块链还有多远? 区块链听起来可能遥不可及,似乎是只有密码学专家和资深工程师才能涉足的领域。但事实上,构建一个区块链的核心并不复杂,尤其当你已经掌握了一门系统编程语言,比如 Go。 要真正理解区…...

字符串哈希+KMP

P10468 兔子与兔子 #include<bits/stdc.h> using namespace std; typedef unsigned long long ull; const int N 1000010; ull a[N], pw[N]; int n; ull gethash(int l, int r){return a[r] - a[l - 1] * pw[r - l 1]; } signed main(){ios::sync_with_stdio(false), …...

boost::filesystem::path文件路径使用详解和示例

boost::filesystem::path 是 Boost 库中用于跨平台操作文件路径的类&#xff0c;封装了路径的拼接、分割、提取、判断等常用功能。下面是对它的使用详解&#xff0c;包括常用接口与完整示例。 1. 引入头文件与命名空间 #include <boost/filesystem.hpp> namespace fs b…...

内窥镜检查中基于提示的息肉分割|文献速递-深度学习医疗AI最新文献

Title 题目 Prompt-based polyp segmentation during endoscopy 内窥镜检查中基于提示的息肉分割 01 文献速递介绍 以下是对这段英文内容的中文翻译&#xff1a; ### 胃肠道癌症的发病率呈上升趋势&#xff0c;且有年轻化倾向&#xff08;Bray等人&#xff0c;2018&#x…...

CSS 工具对比:UnoCSS vs Tailwind CSS,谁是你的菜?

在现代前端开发中&#xff0c;Utility-First (功能优先) CSS 框架已经成为主流。其中&#xff0c;Tailwind CSS 无疑是市场的领导者和标杆。然而&#xff0c;一个名为 UnoCSS 的新星正以其惊人的性能和极致的灵活性迅速崛起。 这篇文章将深入探讨这两款工具的核心理念、技术差…...