技术天地

0

大数据测试入门指南(一)

头像
小财

前言:随着目前世界上各个国家使用大数据应用程序或应用大数据技术场景的数量呈指数增长,相应的,对于测试大数据应用时所需的知识与大数据测试工程师的需求也在同步增加。根据某些IDC机构的数据,截至2019年,大数据市场的规模已达到500亿美元!

基于以上背景,针对大数据测试的相关技术已慢慢成为当下软件测试人员必需了解和掌握的一门通用技术。所以从这篇文章起,我将用一定的篇幅对于大数据测试的相关入门技术,进行一次较系统的讲解,期待您的阅读。

适合的读者

1.具有功能测试技术基础的从业人员

2.大数据行业包括但不限于开发的其他技术人员

1、什么是大数据?

大数据是指无法使用传统数据库处理的大量数据。当我们拥有合理数量的数据时,我们通常会使用传统的关系数据库(例如MySQL,Oracle,SQL Server)来存储和使用数据。但是,当我们有大量数据时,传统的数据库将无法再使用。

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

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

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

2、大数据的用法和示例

只存储数据而不进行分析,并且也不从数据中获取有意义的结果,会极大的浪费数据资源。所以在我们研究大数据测试之前,应该先简单了解一下现实世界中正在如何使用大数据。

电子商务

淘宝,京东和其他电子商务平台每天都有数以百万计的访问者,他们会浏览其中的数十万种商品。淘宝使用大数据来存储有关商品,客户和购买的信息。包括围绕商品的搜索,添加入购物车的商品,购物车放弃及一起购买的其他商品等数据。所有这些数据都经过存储和处理后,会生成针对客户最有可能购买的商品建议。

此信息还用于推荐交易/折扣,并在搜索结果中对产品进行排名。所有这些数据必须非常及时快速的处理,而这些如果想依赖于传统数据库显然是不可行的。

社交媒体

社交媒体类应用会根据图片,视频,喜欢数,帖子内容,评论等生成大量数据。这些数据不仅存储于大数据平台中,相关厂商还会对其进行处理和分析,以进而提供针对用户更加精准的可能喜欢的内容推荐。

数据不仅存储在大数据平台中,还经过处理和分析,以针对您可能感兴趣的事物提供建议。例如,如果在抖音上查看某商品的广告并转到淘宝,淘宝将会显示相同的广告。这是一个典型的大数据应用,因为抖音每天的日活用户数已超4亿,所以有大量的网站在上面做广告。而传统的数据库是无法在同一时间内存储和处理大量的信息并用以向正确的用户推送正确的广告。

医疗卫生

目前国内疫情防控暂告一段落,在这次抗疫大战中,大数据发挥了多项作用,比如监测人口和车辆流动、追踪确诊病例、预测疫情。在当前输入型病例呈上升趋势的情况下,大数据可继续用于强化境外人员入境前的通报预警,入境时的查验管控以及入境后协助社区防控工作,以及时有效的防范对境外疫情输入的风险。大数据应用将那些与我国有通航业务的中外航空公司建立了乘客订票信息的链接,实现了所有空港的入境人员基本信息即知、回国信息预知以及入境落地信息悉知,通过这样的方式,第一时间向入境地的海关检疫部门通报预警,实施重点的检疫工作。

3、大数据中的数据格式

此前大家经常提出的一个问题是,为什么我们不继续将传统的关系型数据库用于大数据?为了更好的回答这个问题,首先我们需要了解大数据应用中的不同数据格式。

大数据的数据格式可以分为三类。他们是:

  1. 结构化数据
  2. 半结构化数据
  3. 非结构化数据

结构化数据

  • 数据具有高度组织性;
  • 普遍存储于任何关系型数据库中;
  • 通过使用简单的查询操作就可以轻松的检索使用;

半结构化数据

  • 半结构化数据的组织性不高;
  • 半结构化数据不在关系型数据库中存储;
  • 经过一系列处理后可以转换为结构化格式存储于关系型数据库中;
  • 半结构化数据包含标签和其他类型的元数据,用以实现在数据格式体系中的层次结构和顺序;
  • 属于同一类型的实体,可以具有不同属性且顺序也可以不同;

非结构化数据

  • 非结构化数据不具有任何预定义格式的结构;
  • 不遵循任何结构化数据模型;
  • 图像,视频,文档等即使具有内部结构,但其本身还是非结构化数据;
  • 这类数据一般在关系型数据库中直接以二进制形式存储,所以存取操作极为不便;
  • 我们在软件应用场景中的80%的数据都是非结构化数据;

4、大数据应用程序的测试策略和步骤

一般情况下,大数据项目的工作流中有多个过程域需要进行测试。大数据项目中的测试通常包含功能测试、数据库测试、基础架构测试和性能测试。在测试开始之前,制定严格清晰的测试策略有助于整体项目的成功。大数据项目不同于其他类别的项目,其本身包含的海量数据验证本身对于测试工作而言就极具挑战性,而测试过程中又要同时兼顾对大数据基础架构自身的测试,大大加剧了测试的难度和深度。所以在制定大数据项目测试策略的时候,建议在测试中进行分段测试。不同的阶段指定不同的测试主体,明确不同的测试目标,再应用不同的测试方法。基本的原则遵循基础架构测试——数据库测试——功能测试——性能测试的流程进行。

5、大数据应用程序的功能测试

与传统软件测试一样,大数据应用程序的功能测试也是根据用户需求来执行的。但是大数据应用程序的功能测试一般主要针对大数据应用程序中的前端部分。这里所说的前端,是指与后端框架(Hadoop或其他)接口的,基于Web的应用程序。这类前端应用程序的测试可直接使用一般Web应用程序的功能测试方法进行测试,但需要特别注意接口测hi,因为接口本身的正确性与安全性将是制约大数据应用程序整体表现的关键特性。


(未完待续)



本文转自 知乎,原文链接:https://zhuanlan.zhihu.com/p/117382452,如需转载请自行联系原作者
头像
丢弃

你的回复

如果只是评论问题或者答案,请使用评论工具。 您可以随时 修改您的答案 - 不需要重复回复相同的问题。 另外, 请别忘了去评价 - 这可以帮助选择最优的问题和答案!