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

什么是大数据测试?有哪些类型?应该怎么测?

随着目前世界上各个国家使用大数据应用程序或应用大数据技术场景的数量呈指数增长,相应的,对于测试大数据应用时所需的知识与大数据测试工程师的需求也在同步增加。

针对大数据测试的相关技术已慢慢成为当下软件测试人员需要了解和掌握的一门通用技术。

一、什么是大数据?

传统的关系型数据库(例如MySQL,Oracle,SQL Server)擅长处理可以存储在行和列中的结构化数据。但是,如果我们有不遵循结构的非结构化数据,那么再选择关系型数据库就不是正确的方法。

对于大数据而言,我们所拥有的大量数据可能以任何类型的格式进行存储,例如图像,音频等,每条数据记录的结构和格式可能都不相同。与传统数据库相比,大数据具有高容量,高速和多样性等特点,而传统数据库也将很难处理这些问题。

    • 容量:大数据应用采集的数据量很大,它们可能产生于不同的来源,例如智能传感器,工业仪表读数,金融业务交易等;
    • 速度:大数据应用的数据都是高速创建的,所以处理的速度必须快。类似物联网设备,智能仪表设备等都可以以前所未有的速度自动生成数据;
    • 种类:数据会有多种格式。它可以是数字,文本,音频,视频,卫星采集图像,天气数据等。

二、大数据测试类型

测试大数据应用程序更多的是验证其数据处理,而不是测试软件产品的个别功能。当涉及到大数据测试时,性能和功能测试是关键。

在大数据测试中,QA工程师数据处理可以是三种类型:批量、实时、交互。

与此同时,数据质量也是大数据测试的一个重要因素。它涉及检查各种字段,如准确性,重复,一致性,有效性,数据完整性等

三、大数据测试工程师岗位要求

  • 熟练数据库相关知识,熟悉大型分布式数据库,精通SQL查询和优化;
  • 有一定的数据分析、数据仓库、大数据测试经验,对数据有较高敏感性;
  • 熟悉Linux系统和常用命令,具备环境维护和部署能力;
  • 有Shell、Python脚本编程能力和实际使用经验;
  • 性格开朗乐观,责任心强,工作积极主动,具备良好的沟通能力和团队协作能力;
  • 有较强的逻辑思维和解决问题能力,能主动进行技术钻研学习;
  • 有Hadoop,Spark/Flink,Hive等常用大数据技术或组件使用经验优先;
  • 有BI、数据大屏、数据仓库、推荐系统、AI算法等测试经验者优先。

四、大数据测试应该要怎么做?

大数据测试工程师总的来说需要熟悉的数仓规范和数据测试流程.

(1) 熟悉数仓规范

1. 数据质量规范

数据质量规范是保证数据仓库数据质量的关键。在项目中,我们制定了一系列的数据质量规范,包括数据清洗、数据校验、数据标准化、数据去重、数据加工等方面。我们通过使用ETL工具和自定义脚本来实现数据的清洗和加工,并结合数据质量规范来保证数据的准确性和一致性。

2. 数据模型规范

数据模型规范是数据仓库建设的基础。在项目中,我们使用了维度建模和星型模型来设计数据模型,同时对数据模型进行了规范化设计,包括字段命名、数据类型、主键、外键、索引、分区等方面。我们遵循了一些数据建模的最佳实践,例如避免使用含义不明确的缩写、遵循命名规范、保证主键唯一性等。

3. 数据安全规范

数据安全规范是保障数据仓库数据安全的关键。在项目中,我们采用了多层次的安全措施来保护数据安全,包括数据加密、用户权限管理、数据备份和恢复、数据审计等方面。我们使用了一些安全技术和工具,例如SSL加密、数据脱敏、访问控制列表(ACL)等。

4. 数据可视化规范

数据可视化规范是将数据仓库数据呈现给最终用户的关键。在项目中,我们使用了多种数据可视化工具和技术来呈现数据,例如报表、仪表盘、图表等。同时,我们也遵循了一些数据可视化规范,包括数据展示方式、颜色搭配、字体大小、数据标签、趋势分析等方面。我们通过设计简洁、易懂、易用的数据可视化界面来帮助最终用户更好地理解和利用数据。

5. 数据备份与恢复规范

数据备份与恢复规范是保障数据仓库数据可靠性和可用性的关键。在项目中,我们制定了一系列的数据备份与恢复规范,包括备份策略、备份频率、备份存储位置、恢复测试等方面。我们使用了多种备份技术和工具,例如全量备份、增量备份、冷备份、热备份等,同时也通过定期的恢复测试来验证备份的可靠性和恢复的准确性。

6. 数据标准化规范

数据标准化规范是保证数据仓库数据一致性和可维护性的关键。在项目中,我们制定了一系列的数据标准化规范,包括数据字典、元数据管理、数据词汇表、数据编码、数据格式等方面。我们通过使用数据字典和元数据管理工具来管理数据,统一定义数据规范和数据词汇表,确保数据的一致性和可维护性。

(2) 数据测试流程

7. 数据准备阶段 oracle mysql

在数据测试流程中,数据准备是非常重要的一步。在项目中,我们通常会从多个数据源收集数据,并对数据进行清洗、转换、加工和整合,以满足业务需求。在数据准备阶段,我们需要制定数据采集计划、数据清洗规范、数据转换规范、数据整合规范等,并使用ETL工具和自定义脚本来实现数据的准备。

8. 数据验证阶段 kettle etl datax

在数据准备完成后,我们需要对数据进行验证。在项目中,我们通常会使用数据验证工具和自定义脚本来实现数据验证,包括数据完整性、数据准确性、数据一致性、数据重复性等方面。我们会制定数据验证计划和测试用例,并对数据进行逐一验证,确保数据满足业务需求和数据质量规范。

9. 数据分析阶段 web展示

在数据验证完成后,我们需要对数据进行分析。在项目中,我们通常会使用数据分析工具和自定义脚本来实现数据分析,包括数据探索、数据挖掘、数据可视化等方面。我们会制定数据分析计划和测试用例,并对数据进行逐一分析,以发现数据中的趋势、异常和规律。

10. 数据报告阶段

在数据分析完成后,我们需要对数据进行报告。在项目中,我们通常会使用报告工具和自定义脚本来实现数据报告,包括报告设计、报告生成、报告分发等方面。我们会制定报告计划和测试用例,并对报告进行逐一验证,以确保报告的准确性和可读性。

11. 数据维护阶段 kettle etl datax

在数据测试流程中,数据维护也是非常重要的一步。在项目中,我们需要对数据进行定期维护,包括数据备份、数据恢复、数据更新、数据清理等方面。我们会制定数据维护计划和测试用例,并对维护过程进行逐一验证,以确保数据的可靠性和可用性。

五、大数据测试完整流程

遵循:需求调研+分析->测试策略计划制定->测试用例编写->执行测试->线上验证测试->测试总结的流程。

1.需求调研+分析

测试若不清楚需求的背景现状是无法真正做好测试、保证产品质量的。

需求分析的越透彻,后续的工作就越顺利。这个步骤是需要产品、开发、测试相互补充辅助完成。

2.测试策略计划制定

通过开发的技术架构评审会,测试会了解开发的架构逻辑,表结构设计,开发排期,从而制定测试策略方法,测试重点,测试工具选用,测试排期,风险预估等

3.编写及评审测试用例

测试用例需要覆盖所有的测试场景:正常的,异常的、功能逻辑的,接口的、性能的等等。

测试用例的目的:从来就是为了更好执行测试,更好的保证执行测试时的高覆盖率和高通过率,绝对不是为了写用例而写用例。

测试工具的选择遵循两个重要标准:

1)清晰展现测试思路和逻辑。

2)方便快速评审及执行测试。

目前我们所使用的的用例管理工具是matrix+easytest+freemind+excel,根据不同的需求场景,选择不同的工具。

4.用例执行测试

执行测试包括两部分:

第一部分:每周平均两次的迭代版本测试,这种类型的执行测试以手工测试为主工具为辅。

第二部分:定期执行部分, 主要依赖工具执行。用来做web、接口的功能测试和性能测试,包括selenium+git+idea、easytest、jmeter、beyondcompare这类工具分别设置了不同的执行周期,定期的进行全产品线的回归测试,进一步保证产品功能逻辑及接口功能的正确及可用性。

5.线上验收测试

上线后,第一时间针对上线更新内容进行线上回归测试,并且快速反馈给开发和产品,做出决策;上线验证完成后,根据实际上线结果向项目所有成员发送上线测试报告;

6.测试总结

包括:文档整理、技术总结、项目概况综述。

1)文档整理

针对项目所涉及的环境数据、业务数据等实际场景做项目后的总结整理。

2)技术总结

主要是针对项目中用到的工具技术,所遇到的难点或新的突破和改进。

3)项目概况综述

包括需求覆盖率、需求遗漏变更率、开发自测通过率、开发bug反复率、用例覆盖率、问题遗漏率、项目bug类型及数量统计等。

总结: 数据测试流程是数据仓库建设中不可或缺的一部分,能够保证数据的质量、准确性、一致性和可靠性,同时提高了数据的可用性和可理解性。在测试过程中,需要对数据测试流程进行测试,确保流程的实施和执行效果。

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

在这里插入图片描述

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

相关文章:

什么是大数据测试?有哪些类型?应该怎么测?

随着目前世界上各个国家使用大数据应用程序或应用大数据技术场景的数量呈指数增长,相应的,对于测试大数据应用时所需的知识与大数据测试工程师的需求也在同步增加。 针对大数据测试的相关技术已慢慢成为当下软件测试人员需要了解和掌握的一门通用技术。…...

03-垃圾收集策略与算法

垃圾收集策略与算法 程序计数器、虚拟机栈、本地方法栈随线程而生,也随线程而灭;栈帧随着方法的开始而入栈,随着方法的结束而出栈。这几个区域的内存分配和回收都具有确定性,在这几个区域内不需要过多考虑回收的问题,因…...

1.AUTOSAR的架构及方法论

在15、16年之前,AUTOSAR这个东西其实是被国内很多大的OEM或者供应商所排斥的。为什么?最主要的原因还是以前采用手写底层代码+应用层模型生成代码的方式进行开发。每个供应商或者OEM都有自己的软件规范或者技术壁垒,现在提个AUTOSAR想搞统一,用一个规范来收割汽车软件供应链…...

Kotlin中的List集合

在Kotlin中,List集合用于存储一组有序的元素。List集合分为可变集合(MutableList)和不可变集合(List)。本篇博客将分别介绍可变集合和不可变集合,并提供相关的API示例代码。 不可变集合(List&a…...

微信小程序WeUI项目weui-miniprogram如何运行起来?

微信小程序WeUI项目weui-miniprogram如何运行起来? 解决方法: 1、下载 https://github.com/wechat-miniprogram/weui-miniprogram 2、在项目根目录weui-miniprogram-master执行以下命令安装依赖: npm install 3、继续执行编译命令: npm r…...

MapReduce编程:检索特定群体搜索记录和定义分片操作

文章目录 MapReduce 编程:检索特定群体搜索记录和定义分片操作一、实验目标二、实验要求及注意事项三、实验内容及步骤 附:系列文章 MapReduce 编程:检索特定群体搜索记录和定义分片操作 一、实验目标 熟悉MapReduce编程涉及的主要类和接口…...

pytorch 入门 (四)案例二:人脸表情识别-VGG16实现

实战教案二:人脸表情识别-VGG16实现 本文为🔗小白入门Pytorch内部限免文章 参考本文所写记录性文章,请在文章开头注明以下内容,复制粘贴即可 🍨 本文为🔗小白入门Pytorch中的学习记录博客🍦 参…...

数据结构--线性表回顾

目录 线性表 1.定义 2.线性表的基本操作 3.顺序表的定义 3.1顺序表的实现--静态分配 3.2顺序表的实现--动态分配 4顺序表的插入、删除 4.1插入操作的时间复杂度 4.2顺序表的删除操作-时间复杂度 5 顺序表的查找 5.1按位查找 5.2 动态分配的方式 5.3按位查找的时间…...

ChatGPT(1):ChatGPT初识

1 ChatGPT原理 ChatGPT 是基于 GPT-3.5 架构的一个大型语言模型,它的工作原理涵盖了深度学习和自然语言处理技术。以下是 ChatGPT 的工作原理的一些关键要点: 神经网络架构:ChatGPT 的核心是一个深度神经网络,采用了变种的 Tran…...

PostgreSQL 插件 CREATE EXTENSION 原理

PostgreSQL 提供了丰富的数据库内核编程接口,允许开发者在不修改任何 Postgres 核心代码的情况下以插件的形式将自己的代码融入内核,扩展数据库功能。本文探究了 PostgreSQL 插件的一般源码组成,梳理插件的源码内容和实现方式;并介…...

Android常见分区

一、Google官方标准分区 1. Boot分区 包含Linux内核和一个最小的root文件系统(装载到ramdisk中),用于挂载系统和其他的分区并开始Runtime。正如名字所代表的意思(注:boot的意思是启动),这个分区使Android设备可以启动…...

华为鸿蒙4谷歌GMS安装教学

目录 问题描述 参考视频 教学视频1 配套文档 教学视频2 资源包(配套视频1) 设备未经 play 保护机制认证 问题描述 很多国外的最新应用需要再Google商店才能下载比如ChatGPT 华为手机不支持 Google Play 服务的原因主要是由于谷歌服务框架(GMS)未…...

原型设计工具:Balsamiq Wireframes 4.7.4 Crack

原型设计工具:Balsamiq Wireframes是一种快速的低保真UI 线框图工具,可重现在记事本或白板上绘制草图但使用计算机的体验。 它确实迫使您专注于结构和内容,避免在此过程后期对颜色和细节进行冗长的讨论。 线框速度很快:您将产生更多想法&am…...

Nginx Proxy代理

代理原理 反向代理产生的背景: 在计算机世界里,由于单个服务器的处理客户端(用户)请求能力有一个极限,当用户的接入请求蜂拥而入时,会造成服务器忙不过来的局面,可以使用多个服务器来共同分担成…...

SparkSQL之LogicalPlan概述

逻辑计划阶段在整个流程中起着承前启后的作用。在此阶段,字符串形态的SQL语句转换为树结构形态的逻辑算子树,SQL中所包含的各种处理逻辑(过滤、剪裁等)和数据信息都会被整合在逻辑算子树的不同节点中。逻辑计划本质上是一种中间过…...

Ubuntu 安装 kubectl、kubeadm 和 kubelet

你需要在每台机器上安装以下的软件包: kubeadm:用来初始化集群的指令。 kubelet:在集群中的每个节点上用来启动 Pod 和容器等。 kubectl:用来与集群通信的命令行工具。 kubeadm 不能帮你安装或者管理 kubelet 或 kubectl&#…...

C语言获取文件长度

C语言获取文件长度 文章目录 C语言获取文件长度一、使用标准库方法二、使用Linux系统调用 一、使用标准库方法 #include <stdio.h>long get_file_size(const char * filename ){long size 0;FILE * fp fopen(filename,"rb");if( fp NULL ) {printf("o…...

【面试经典150 | 哈希表】快乐数

文章目录 写在前面Tag题目来源题目解读解题思路方法一&#xff1a;哈希集合判重方法二&#xff1a;快慢指针判重 其他语言python3 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为…...

ETL实现实时文件监听

一、实时文件监听的作用及应用场景 实时文件监听是一种监测指定目录下的文件变化的技术&#xff0c;当产生新文件或者文件被修改时&#xff0c;可实时提醒用户并进行相应处理。这种技术广泛应用于数据备份、日志管理、文件同步和版本控制等场景&#xff0c;它可以帮助用户及时…...

Openssl数据安全传输平台003:Protobuf - 部署

文章目录 Github代码仓库位置一、Windows环境配置生成库文件之后—>参考3.3 配置VS1. 先将平台设置为所有平台2. 配置属性 >> C/C >> 常规 >> 附加包含目录3. 配置属性 >> C/C >> 预处理器 >> 预处理器定义,添加4. 配置属性 >> C…...

idea大量爆红问题解决

问题描述 在学习和工作中&#xff0c;idea是程序员不可缺少的一个工具&#xff0c;但是突然在有些时候就会出现大量爆红的问题&#xff0c;发现无法跳转&#xff0c;无论是关机重启或者是替换root都无法解决 就是如上所展示的问题&#xff0c;但是程序依然可以启动。 问题解决…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句&#xff0c;它能够让用户直接在浏览器内练习SQL的语法&#xff0c;不需要安装任何软件。 链接如下&#xff1a; sqliteviz 注意&#xff1a; 在转写SQL语法时&#xff0c;关键字之间有一个特定的顺序&#xff0c;这个顺序会影响到…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...