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

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

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

一、什么是大数据?

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

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

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

二、大数据测试类型

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

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

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

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036【暗号:csdn999】

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

  • 熟练数据库相关知识,熟悉大型分布式数据库,精通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类型及数量统计等。

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SPSS生存分析:寿命表分析

前言: 本专栏参考教材为《SPSS22.0从入门到精通》,由于软件版本原因,部分内容有所改变,为适应软件版本的变化,特此创作此专栏便于大家学习。本专栏使用软件为:SPSS25.0 本专栏所有的数据文件请点击此链接下…

15 网关实战: 微服务集成Swagger实现在线文档

上节介绍了网关层面聚合API文档,通过网关的路由信息找到了各个服务的请求地址,这节讲一下微服务如何集成Swagger。 网关的API文档默认调用的是微服务的**/v2/api-docs**这个接口获取API详细信息,比如文章服务的URL:http://localhost:9000/blog-article/v2/api-docs,返回信…

Python分享之字符串格式化 (%操作符)

在许多编程语言中都包含有格式化字符串的功能,比如C和Fortran语言中的格式化输入输出。Python中内置有对字符串进行格式化的操作%。 模板 格式化字符串时,Python使用一个字符串作为模板。模板中有格式符,这些格式符为真实值预留位置&#xff…

Python二叉树用法介绍

更多资料获取 📚 个人网站:ipengtao.com 二叉树是一种常见的数据结构,具有树形结构,每个节点最多有两个子节点。Python中有多种方式来表示和操作二叉树,本文将介绍二叉树的基本概念、构建、遍历和一些常见操作&#x…

3个.NET开源免费的仓库管理系统(WMS)

前言 今天给大家推荐3个.NET开源免费的WMS仓库管理系统(注意:以下排名不分先后)。 仓储管理系统介绍 仓储管理系统(Warehouse Management System,WMS)是一种用于管理和控制仓库操作的软件系统&#xff0…

F5社区学习心得分享:如何克服云迁移挑战?

伴随数字时代的快速发展,很多企业都会借助云迁移,踏上转型之旅。尽管云迁移被认为是一种能够节约成本,且不会影响正常运营的现代化改造举措,然而我们并不能低估它的复杂性。正如有研究表明,约有41%的企业并没有通过云迁…

lv11 嵌入式开发 WDT实验 12

目录 1 WDT简介 2 Exynos4412下的WDT控制器 2.1 概述 2.2 WDT的特性 2.3 工作原理 2.4 其他细节 3 WDT寄存器详解 3.1 WTCON控制寄存器 3.2 WTDAT 实时中断寄存器 3.3 WTCNT 递减计数器 3.4 WTCLRINT清除中断寄存器 4 WDT编程 1 WDT简介 Watch Dog Timer即看门狗定…

ZKP15.2 Formal Methods in ZK (Part I)

ZKP学习笔记 ZK-Learning MOOC课程笔记 Lecture 15: Secure ZK Circuits via Formal Methods (Guest Lecturer: Yu Feng (UCSB & Veridise)) 15.2 Formal Methods in ZK (Part I) Circuits Workflow Source Code: Witness Generation and ConstraintsWitness Generatio…

【力扣】 209. 长度最小的子数组

【力扣】 209. 长度最小的子数组 文章目录 【力扣】 209. 长度最小的子数组1. 题目介绍2. 解法2.1 暴力求解2.2 前缀和 二分查找2.3 滑动窗口2.4 贪心回溯 3. Danger参考 1. 题目介绍 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 …

ubuntu安装远程桌面

ubuntu安装远程桌面 xrdp远程桌面访问 #用windows远程桌面连接成功,只能用root用户,用普通用户连接是灰色 sudo apt install xrdp systemctl status xrdpsystemctl stop xrdp解决普通用户连接是灰色 参考链接: https://blog.csdn.net/leegh1992/article/details/51160864 s…

PyCharm安装PyQt5及工具(Qt Designer、PyUIC、PyRcc)详细教程来了

Qt是常用的用户界面设计工具,而在Python中则使用PyQt这一工具包,它是Python编程语言和Qt库的成功融合。这篇博文通过图文详细介绍在PyCharm中如何完整优雅地安装配置PyQt5的所有工具包,主要内容包括PyQt5、PyQt5-tools的依赖包安装和Qt Desig…

C或C++报错:ld returned 1 exit status报错的原因

C或C报错:ld returned 1 exit status(ld返回1,退出状态) 可能是以下原因: 1)程序正在运行,无法编译,上次运行的窗口未关闭。 程序窗口重复运行没有及时关闭,存在多个打开窗…

Python中的sys模块详解

1. 简介 sys模块是Python标准库中的一个内置模块,提供了与Python解释器和运行环境相关的功能。它包含了一些与系统操作和交互相关的函数和变量,可以用于获取命令行参数、控制程序的执行、管理模块和包、处理异常等。 2. 常用函数和变量 2.1 命令行参数…

二叉树之推排序(升序)

目录 1.思路1.1大堆的建立方法1.2排序的方法 2.代码实现以及测试代码 1.思路 如何将一个堆进行排序,并变成升序?首先,如果要完成升序,那我们可以建立一个大堆,因为大堆可以选出一个最大的值放在堆的最上面&#xff0c…

数组中的第 K 个最大元素(C++实现)

数组中的第 K 个最大元素 题目思路代码 题目 数组中的第 K 个最大元素 思路 通过使用优先队列(最大堆)来找到数组中第k大的元素。通过弹出最大堆中的前k-1个元素,留下堆中的顶部元素作为结果返回。 代码 class Solution { public:int find…

Java17(LTS Long Term Support)特性

支持JDK17的主流技术框架 spring framework 6.xspringboot 3.xkafka 3.0(不在支持jdk8)jenkins 2.357(必须jdk11起步)James Gosling表示赶紧弃用Java8,使用性能最好的JDK17Chart GPT也推荐JDK17,从长期到性能来说。 JDK17的特性 …

htop命令中显示相同进程的解决方案

使用 htop 的过程中会发现有很多同样的进程被标注了绿色大量显示。如下图所示。 这使得在大量程序运行时想要找到需要观察的进程变的困难。本文介绍了如何省略这些重复现实的进程。 输入 htop,显示出 htop 界面。按下 F2 键,进入 Setup 模式点击 Displa…

C++基础 -10- 类

类的格式 public:公共成员 类外可访问 protected:保护成员 类外不可访问 private:私有成员 类外不可访问 class base {public:int a;protected:int b;private:int c;};

WEB渗透—反序列化(八)

Web渗透—反序列化 课程学习分享(课程非本人制作,仅提供学习分享) 靶场下载地址:GitHub - mcc0624/php_ser_Class: php反序列化靶场课程,基于课程制作的靶场 课程地址:PHP反序列化漏洞学习_哔哩哔_…

Blazor Select 实现点击一次选项触发一次后台事件

Blazor的官方案例中,Select组件只有两个事件 1、OnSelectedItemChanged 每次选项的时候改变触发,如果你点击同一个选项是不会触发后台的方法的 2、OnBeforeSelectedItemChange 我们可以用这个事件实现每次点击同一个选项都可以触发后台事件 需要注意下最…