大数据测试简介

【前言】

大数据是现在很常听到的一项技术了,哪里都有。比如现在我们生活中必不可少的一个东西——健康宝。

 

北京健康宝的数据就是来自北京市大数据中心的。那么到底什么是大数据,大数据测试又要怎么进行呢?接下来了解一下吧!

一、大数据简介

大数据(Big Data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。——百度百科。

由上述的定义,可以看出来,大数据拥有以下几大特征:

1)数据量大(volume)。大数据的这个技术的名字中的“大”指的就是大量的数据。因为量很大所以需要考虑好怎么存储。就像北京健康宝,几千万人每天十几甚至几十次的访问和应用,数据量确实大!。

2)数据类型繁多(variety)。数据类型众多这个是大数据的又一个特征,数值、字符、图片、时间、音频、视频等太多了。

3)处理速度快(velocity)。这个是难度最大的,因为如果处理速度慢了,造成的影响是很重大的,就像2020年3月时候的钉钉,还有健康宝,都出现过因为处理性能不足崩溃的情况。

 

4)价值密度低(value)。大数据的数据量太多了,可能导致有些数据没啥用。比如视频监控,可能几年都用不上。但是还是要一如既往的记录和存储。

所以,可以这么说,现在的大数据就是无处不在,包括金融、汽车、餐饮、电信、能源、体育和娱乐等在内的社会各行各业都已经融入了大数据的印记。

二、大数据的关键技术

大数据一个包含内容很广泛的技术领域,涉及的关键技术有以下几个方面:

  1. 数据采集与预处理。利用各种工具将分布广泛的、不同类型的数据源中的数据,如关系数据,平面数据文件等,抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础;也可以利用日志采集工具(如Flume、kafka等)把实时采集的数据作为流计算系统的输入。

 

  1. 数据存储和管理。利用分布式文件系统、数据仓库、关系数据库、nosql数据库、云数据库等,实现对结构化、半结构化和非结构化和非结构化海量数据的存储和管理。
  2. 数据处理与分析。利用分布式并行编程模型和计算框架,结合机器学习和数据挖掘算法,实现对海量数据的处理和分析;对分析结果进行可视化呈现,帮助人们更好地理解数据、分析数据。
  3. 数据安全和隐私保护。在从大数据中挖掘潜在的巨大商业价值和学术价值的同时,构建隐私数据保护体系和数据安全体系,有效保护个人隐私和数据安全。

说了这么多,大数据应用过程到底是什么样子的?下面用一张图给大家解释一下:

 

 

上面的图大家都很熟悉,就是QQ的好友界面,他上面有一个功能叫做【可能想认识的人】。大家考虑一下,QQ为什么会给你推荐呢?

利用上面的大数据的几个关键技术解释:腾讯利用QQ收集到了我们的个人信息,比如出生地、住宅地、上学(小学、初中、高中、大学等)、工作地址、好友之间的关系(共同好友)等,就能分析出来我们可能想认识的人。

啥感觉?有没有细思极恐?

 

三、大数据各个阶段涉及的测试

好啦,不管大数据技术咋样,总还是需要应用才行的,而且还一定是软件应用,这就不得不说大数据测试了。首先看一下下面的图,先大致了解一下大数据技术应用的全流程:

 

 

上图是保险行业客户营销类大数据系统的过程。比较明了,就是利用客户的信息,看看能不能做出更多的业绩。具体业务不说了,咱们通过流程,说说大数据测试相关的技术:

  1. 数据采集与预处理阶段。主要关注以下几方面的测试:

功能测试:主要关注数据来源上,重点测试数据的有效性,保证没有或者尽量减少无效数据。

容错性测试:每一个系统都要留有一定的犯错处理恢复机制,绝对不能一有错就直接中断了系统的运行。

性能测试:数据上传是否及时,并发、大量数据长传是否能够应对。

稳定性测试:数据来源是否能够稳定,对大数据系统的运行很重要。

  1. 数据存储和管理。主要关注以下几个方面的测试:

数据一致性测试:上传的数据在数据库、数据源中的存储是不是和上传时一致;

安全性测试:存储在数据库中的数据是否有加密、是否有操作权限的控制;

性能测试:大量数据存储时,是否都能够存储,有没有遗漏;

稳定性测试:数据库系统和服务器是否能够按照规定稳定运行;

  1. 数据处理与分析。主要关注以下几个方面的测试:

性能测试:处理速度是否足够;资源消耗是否正常;

可用性测试:数据的查询和分析结果是否有用;如果分析结果不够精准,还需要优化。

功能性测试:基本同可用性测试,毕竟大数据技术最大的用途就是提供决策的。

四、大数据测试需要掌握的技能

1、数据库技术。大数据么,一定会涉及的。Mysql、Oracle、SQL Server、Mongodb、redis等。数据的增删改查操作得会、查询和系统性能分析也得会一些。

2、开发语言技术。实际的大数据测试都是通过自动化的方式进行的,毕竟几十几百的数据看起来还受得了,几十万、几千万甚至上亿的数据如果比对起来,瞎了也看不过来,自动化或者利用程序代码自动判断就很有必要了。

3、自动化测试技术。通过掌握一定的自动化测试工具,可以在数据来源测试、数据查询测试方面起到不可思议的效果。

 

4、接口测试技术。数据上传、对接的接口的性能分析、功能检测、安全检测都是有必要的。

5、大数据平台管理、监控系统配置技术。例如Hadoop、Kafka等,安装、配置和操作都得会。

当然还有其他的,给各位想要从事大数据测试的小伙伴提供个思路。

posted @ 2024-01-29 17:30  R-Bear  阅读(82)  评论(0编辑  收藏  举报