大数据基础-测试过程

一、大数据:

大数据是一个大的数据集合,通过传统的计算技术无法处理。这些数据集的测试需要用各种工具、技术、框架进行处理。大数据涉及数据创建,存储、检索、分析,而且它在数量、多样性、速度都很出色。

二、大数据的测试类型:

验证其数据处理、性能和功能测试是关键

  • 处理:批量、实时、交互
  • 数据质量测试:字段一致性、准确性、重复性、有效性、数据完整性
  • 性能测试

三、大数据的测试步骤

step1:数据阶段验证:

pre-Hadoop阶段,数据预测试阶段

工具:Talend或Datameer

step2:Mapreduce验证

测试每个节点上进行业务逻辑验证,然后运行多个节点后验证他们,确保如下操作的正确性。

  1. 来自方面的数据资源应该被验证,来确保正确的数据被加载进系统;
  2. 将源数据与推送到Hadoop系统中数据进行比较,确保他们匹配;
  3. 验证正确的数据被提取并加载到HDFS正确位置
  4. Map与Reduce进程正常工作;
  5. 在数据上实施数据聚合或隔离规则;
  6. 生成键值对;
  7. 在执行Map和Reduce进程后验证数据。

Step3:输出阶段验证

输出验证过程,生成输出数据文件,同时把文件移到EDW中或者把文件移动到任何其他基于需求的系统中。(一般有开发人员完成,测试需要在有数据调用处看数据回显是否正常)

  1. 检查转换规则被正确应用;
  2. 检查数据完整性和成功的数据加载到目标系统中;
  3. 通过目标数据与HDFS文件系统数据比较检查数据是否损坏。

四、架构测试

性能测试以及故障转移测试服务应该在hadoop中完成

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

五、性能测试

大数据性能测试包括两个主要的行动:数据采集和整个过程

数据采集和整个过程:在这个阶段,测试人员验证快速系统如何消耗来自各种数据源的数据。测试涉及识别队列在给定时间框架内可以处理的不同消息。它还包括如何快速将数据插入到底层数据存储中,例如插入到Mongo和Cassandra数据库中。

数据处理:它涉及验证执行查询或映射缩减作业的速度。它还包括在底层数据存储填充到数据集中时独立测试数据处理。例如,在底层HDFS上运行MapReduce作业
子组件性能:这些系统由多个组件组成,而且必须单独测试每个组件。例如,消息的索引和消费速度有多快,mapreduce作业,查询性能,搜索等

六、性能测试方法

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

性能测试按此顺序执行

性能测试的参数

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

数据存储:数据如何存储在不同的节点中;

  1. 过程从设置要测试性能的大数据群集开始
  2. 确定和设计相应的工作量
  3. 准备个人客户(自定义脚本创建)
  4. 执行测试并分析结果(如果不满足目标,则调整组件并重新执行)
  5. 最佳配置
  • 提交日志:允许增长的提交日志有多大;
  • 并发性:有多少个线程可以执行写入和读取操作;
  • 缓存:调整缓存设置“行缓存”和“键缓存”;
  • 超时:连接超时值,查询超时值等;
  • JVM参数:堆大小,GC收集算法等;
  • 地图降低性能:排序,合并等;
  • 消息队列:消息速率,大小等。

测试环境需求

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

  1. 它应该有足够的空间来存储和处理大量的数据;
  2. 它应该有分布式节点和数据的集群;
  3. 它应该有最低的CPU和内存利用率,以保持高性能。

七、大数据测试面临的挑战

自动化

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

虚拟化

这是测试的一个不可缺少的阶段。虚拟机延迟会在实时大数据测试中造成计时问题。在大数据中管理图像也是一件麻烦事。

大数据集

八、性能测试挑战

多种技术组合:每个子组件属于不同的技术,需要单独测试

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

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

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

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

诊断解决方案:需要定制解决方案来深入了解性能瓶颈区域

  1. 需要验证更多的数据,并需要更快地完成;
  2. 需要自动化测试工作;
  3. 需要能够跨不同的平台进行测试。

概要

随着数据工程和数据分析技术的不断进步,大数据测试是不可避免的。

大数据处理可以是批处理,实时或交互式处理

测试大数据应用程序的3个阶段是

数据分级验证
“MapReduce”验证
输出验证阶段

架构测试是大数据测试的重要阶段,因为设计不佳的系统可能会导致前所未有的错误和性能下降

大数据的性能测试包括验证

数据吞吐量
数据处理
子组件性能

大数据测试与传统数据测试在数据,基础架构和验证工具方面有很大的不同

大数据测试挑战包括虚拟化,测试自动化和处理大型数据集。大数据应用程序的性能测试也是一个问题


              【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】


一、Python编程入门到精通

二、接口自动化项目实战 

三、Web自动化项目实战


四、App自动化项目实战 

五、一线大厂简历


六、测试开发DevOps体系 

七、常用自动化测试工具

八、JMeter性能测试 

九、总结(尾部小惊喜)

生命不息,奋斗不止。每一份努力都不会被辜负,只要坚持不懈,终究会有回报。珍惜时间,追求梦想。不忘初心,砥砺前行。你的未来,由你掌握!

生命短暂,时间宝贵,我们无法预知未来会发生什么,但我们可以掌握当下。珍惜每一天,努力奋斗,让自己变得更加强大和优秀。坚定信念,执着追求,成功终将属于你!

只有不断地挑战自己,才能不断地超越自己。坚持追求梦想,勇敢前行,你就会发现奋斗的过程是如此美好而值得。相信自己,你一定可以做到! 

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

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

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

相关文章

【JAVA】CyclicBarrier源码解析以及示例

文章目录 前言CyclicBarrier源码解析以及示例主要成员变量核心方法 应用场景任务分解与合并应用示例 并行计算应用示例 游戏开发应用示例输出结果 数据加载应用示例 并发工具的协同应用示例 CyclicBarrier和CountDownLatch的区别循环性:计数器的变化:用途…

【Spark面试】Spark面试题答案

目录 1、spark的有几种部署模式,每种模式特点?(☆☆☆☆☆) 2、Spark为什么比MapReduce块?(☆☆☆☆☆) 3、简单说一下hadoop和spark的shuffle相同和差异?(☆☆☆☆☆…

【HTML5、CSS3】新增特性总结!

文章目录 23 HTML5 新增特性23.1 语义化标签23.2 多媒体标签23.2.1 视频<video>标签23.2.2 音频<audio>标签 23.3 input属性值23.4 表单属性 24 CSS3 新增特性24.1 属性选择器24.2 结构伪类选择器24.2.1 选择第n个元素24.2.2 常用的6个结构伪类选择器 24.3 伪元素选…

Qt for Android设置安卓程序默认横屏+全屏

我的qt版本是5.14.1&#xff0c;网上查到的方法是&#xff0c;把编译出的build文件夹中的AndroidManifest.xml文件复制出来然后修改&#xff0c;然后把修改后的xml文件加入pro文件&#xff0c;语法为ANDROID_PACKAGE_SOURCE_DIR $$PWD/AndroidManifest.xml&#xff08;具体&am…

Window和Linux设置代理和取消代理(http_proxy)

前言 需要git clone下载项目的时候&#xff0c;一直clone不下来&#xff0c;则需要添加代理 特别注意&#xff0c;在图形界面中设置代理之后&#xff0c;还需要在终端命令行中设置&#xff0c;否则终端无法使用 1. Window 临时设置代理&#xff1a; export http_proxyhttp…

【运维笔记】Hyperf正常情况下Xdebug报错死循环解决办法

问题描述 在使用hyperf进行数据库迁移时&#xff0c;迁移报错&#xff1a; 查看报错信息&#xff0c;错误描述是Xdebug检测到死循环&#xff0c;可是打印的堆栈确实正常堆栈&#xff0c;没看到死循环。 寻求解决 gpt 说的跟没说一样。。 google一下 直接把报错信息粘贴上去…

LV.13 D5 uboot概述及SD卡启动盘制作 学习笔记

一、uboot概述 1.1 开发板启动过程 开发板上电后首先运行SOC内部iROM中固化的代码(BL0)&#xff0c;这段代码先对基本的软硬件环境(时钟等...)进行初始化&#xff0c;然后再检测拨码开关位置获取启动方式&#xff0c;然后再将对应存储器中的uboot搬移到内存&#xff0c;然后跳…

如何提高RAG增强的准确性

在一个典型的RAG应用开发中&#xff0c;必要的步骤为文档加载&#xff0c;文档拆分&#xff0c;向量化&#xff0c;向量存储。然后基于向量存储进行相似性查询&#xff0c;或基于向量距离的查询。这类查询就叫检索&#xff0c;LangChain所提供的对应组件就是检索器。 但这种方…

数据分析为何要学统计学(10)——如何进行比率检验

比率检验是通过样本推测某种事件的总体占比水平。要求事件仅有互斥的两种情况&#xff0c;即&#xff0c;概率分别为p与1-p。 比率检验分单样本和双样本两种情况&#xff0c;以下我们分别介绍。 1. 单样本比率检验 形如这样的问题&#xff1a;“小学生近视比例日益提高&#…

mybatis 批量新增(返回主键),批量查询,批量更新数据

1.配置连接允许批量操作 配置url后面 &allowMultiQueriestrue2.数据层 2.1 mapper // 新增void saveNewStudyPartyDatums(List<StudyDatum> list);// 查询List<Party> getParties(Param("partIds") List<Long> partIds); // 更新void updat…

惯性导航基础知识学习----惯性器件相关

&#x1f308;武汉大学惯性导航课程合集是入门惯导的精品课程~ 作为导航路上的鼠鼠我&#xff0c;要开始学习惯性导航了~ 需要达到的要求是大致了解惯导的原理等~ 后期会陆续更新惯导相关的知识和笔记等~ &#x1f42c; 本blog为 武汉大学惯性导航课程 的记录~ 感谢团队提供的开…

实验八 A/D模数转换(汇编与微机原理)

实验目的&#xff1a; 掌握ADC0809模数转换的工作原理。 掌握用ADC0809来进行电压转换的使用方法。 实验内容&#xff1a; 用模数转换器件ADC0809测量外部输入的模拟电压&#xff0c;将转换结果输出到数码管的最右边两位上显示。 实验原理&#xff1a; 0809A/D转换芯片有8…

查询某个类是在哪个JAR的什么版本开始出现的方法

背景 我们在依赖第三方JAR时&#xff0c;同时也会间接的依赖第三方JAR引用的依赖&#xff0c;而当我们项目中某个依赖的版本与第三方JAR依赖的版本不一致时&#xff0c;可能会导致第三方JAR的在运行时无法找到某些方法或类&#xff0c;从而无法正常使用。 如我正在开发的一个…

SpringIOC之作用域Scope

博主介绍:✌全网粉丝5W+,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验✌ 博主作品:《Java项目案例》主要基于SpringBoot+MyBatis/MyBatis-plus+…

JUC并发编程 06——Synchronized与锁升级

一.Java对象内存布局和对象头 在HotSpot虚拟机里&#xff0c;对象在堆内存中的存储布局可以划分为三个部分&#xff1a;对象头(Header) 、实例数据 (Instance Data) 和 对文填充 (Padding)。 对象内部结构分为&#xff1a;对象头、实例数据、对齐填充&#xff08;保证8个字节的…

DPO讲解

PPO算法的pipeline冗长&#xff0c;涉及模型多&#xff0c;资源消耗大&#xff0c;且训练极其不稳定。DPO是斯坦福团队基于PPO推导出的优化算法&#xff0c;去掉了RW训练和RL环节&#xff0c;只需要加载一个推理模型和一个训练模型&#xff0c;直接在偏好数据上进行训练即可&am…

高通平台开发系列讲解(AI篇)如何让MTCNN运行在SNPE

文章目录 一、使用到的工具1.1、SNPE特点1.2、SNPE特点二、环境配置2.1、Snpe的环境配置2.2、opencv的环境配置2.3、caffe的环境配置三、MTCNN网络组成四、基于SNPE运行MTCNN沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇章主要介绍如何使用高通平台SNPE运行MTCN…

linux驱动的学习 驱动开发初识

1 设备的概念 在学习驱动和其开发之前&#xff0c;首先要知道所谓驱动&#xff0c;其对象就是设备。 1.1 主设备号&次设备号&#xff1a; 在Linux中&#xff0c;各种设备都以文件的形式存在/dev目录下&#xff0c;称为设备文件。最上层的应用程序可以打开&#xff0c;关…

八股文打卡day2——计算机网络(2)

面试题&#xff1a;讲一下三次握手的过程&#xff1f; 我的回答&#xff1a; 1.客户端发送报文段到服务器&#xff0c;主动建立连接。这个报文段中SYN标志位表示&#xff1a;这个报文段是用于连接的&#xff0c;此时SYN标志位设置为1。其中初始序列号字段包含了客户端的初始序…

BAQ压缩原理

什么是BAQ? BAQ——Block Adaptive Quantization,块自适应量化 BAQ是一种数据压缩算法。 谁提出了BAQ压缩? BAQ压缩原理是由美国NASA JPL的R. Kwok和W.T.K. Johnson在1989年提出的。第一次被用于美国NASA的“麦哲伦金星探测”任务中。 BAQ压缩的目的是什么? 上世纪后半…
最新文章