当前位置: 首页 > 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…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 &#x1f4dd; 在上一篇文章中&#xff0c;我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源&#xff0c;方便后续将资源打包到一个可执行文件中。 2.embed介绍 &#x1f3af; Go 1.16 引入了革命性的 embed 包&#xff0c;彻底改变了静态资源管理的…...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣&#xff08;LeetCode&#xff09; 思路 右视图是指从树的右侧看&#xff0c;对于每一层&#xff0c;只能看到该层最右边的节点。实现思路是&#xff1a; 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

动态 Web 开发技术入门篇

一、HTTP 协议核心 1.1 HTTP 基础 协议全称 &#xff1a;HyperText Transfer Protocol&#xff08;超文本传输协议&#xff09; 默认端口 &#xff1a;HTTP 使用 80 端口&#xff0c;HTTPS 使用 443 端口。 请求方法 &#xff1a; GET &#xff1a;用于获取资源&#xff0c;…...

Java数值运算常见陷阱与规避方法

整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...

iview框架主题色的应用

1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题&#xff0c;无需引入&#xff0c;直接可…...