文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

大数据测试的简要指南:概念、策略、挑战、工具和好处

2024-12-03 16:06

关注

[[355053]]

为了保证大数据的质量,我们显然需要对大体量的数据进行测试。本文将通过简要指南的形式,引导您全面了解大数据测试的相关概念、策略、挑战、好处以及相关测试工具。

什么是大数据软件测试?

总的说来,大数据测试是对大数据应用程序的数据质量进行检测的过程。由于我们难以使用传统计算技术来处理大型数据集合,因此传统的数据测试方法不适合被实施到大数据上。为此,我们需要考虑的大数据测试策略应包括:大数据测试的基本技术(例如Apache的Hadoop)、方法、以及自动化工具。

大数据测试的策略

首先,我们来看针对大数据质量检测的策略,其中有着与传统测试相似的地方:

大数据测试的挑战

大数据的多样性主要体现在那些非结构化的数据上。鉴于目前在大数据应用场景中被采用和实施工具尚不成熟,我们在测试过程中,可能会遇到各种挑战。下面我们来深入讨论大数据测试的各项潜在问题和对应的解决方案。

数据的多样性和不完整性

问题:如今许多企业根据日常的业务所需,存储了数十亿字节的数据。测试人员必须审核这些海量数据,以确认它们的准确性和与业务的相关性。显然,即使企业拥有数百名QA测试人员,也无法通过手动测试的方式,来处理这种量级的数据。

解决方案:我们很自然地会想到采用大数据自动化工具,去检测该体量数据的有效性。通过自动化工具,QA工程师只需为大数据应用程序创建和执行自动化测试用例,便可实现对数据的反复与深度测试。

高度扩展性

问题:随着业务访问量的显著增加,大数据应用程序的后端数据库,可能会在可访问性、处理能力、甚至是网络连接上,受到严重的影响。即使是那些针对处理海量数据而开发的分布式应用,也可能会因为受到拒绝服务(DoS)攻击或CC(Challenge Collapsar)攻击,而无法处理正常的业务请求。

解决方案:我们通常可以采取如下两种方式,来设计数据测试的方法:

测试数据管理

问题:自动化工具往往只能从通用的层面上,针对大数据应用场景,实现数据的迁移、处理和存储测试。如果QA测试人员并不理解待测的业务、组件和数据,那么他们将很难得到有价值的测试结果和洞见。

解决方案:首先,QA团队应当与市场营销和开发团队进行协调,以了解从不同源头提取、过滤数据,以及预处理和后期处理算法的过程。在此基础上,他们可以通过熟悉大数据自动化工具、和指定待运行的测试用例,以便合理地管理好各种测试数据。

优秀大数据测试工具

常言道:工欲善其事,必先利其器。只有用到了强大的测试工具,QA测试人员才能提高大数据检测的效率。下面我们将给出几款目前公认比较实用的大数据测试工具:

Hadoop

大多数据科学家都认为:没有开源框架的技术栈是不完整的。那么作为开源框架的Hadoop,不但可以存储大量各种类型的数据,而且具有分布式处理海量任务的能力。当然,QA工程师在采用Hadoop进行大数据性能测试时,应事先具备一定的Java知识,具体方面请参见--https://blog.qasource.com/big-data-and-hadoop-performance-testing-perfcast-spring-2019。

HPCC

高性能计算集群(High-Performance Computing Cluster,HPCC)是免费且完整的大数据应用解决方案。通过提供具有高度可扩展性的超级计算平台,HPCC不但能够提供高性能的架构,而且支持测试中的数据、管道、以及系统的并发性。当然,QA工程师在使用HPCC之前,应具备一定的C ++和ECL编程基础。

Cloudera

Cloudera通常被称为CDH(Cloudera Distribution for Hadoop)。它是企业级技术部署的理想测试工具。作为一个开源的工具,它提供了免费的平台发行版,其中包括:Apache Hadoop、Apache Impala和Apache Spark。易于实施的Cloudera,不但具有较高的安全性和管理能力,而且能够方便测试团队收集,处理,管理和分发海量的数据。

Cassandra

Cassandra是一款免费的开源工具。凭借着高性能的分布式数据库,它可以处理商用服务器上的海量数据,因此常被业界许多大型公司用来进行大数据的测试。而作为最可靠的大数据测试工具之一,Cassandra提供了自动化复制、线性可扩展性、无单点故障等服务。

Storm

作为免费的开源测试工具,Storm支持对于非结构化数据集的实时处理,并且能够与任何编程语言相兼容。Storm通过可靠的扩展性和防错能力,来准确地处理任何级别的数据。目前,这款跨平台工具提供了包括日志处理、实时分析、机器学习、以及持续计算等方面的多种用例。

大数据测试的好处

说到底,对于大数据的测试,就是要让QA人员通过发现、定位从不同来源和渠道收集来的数据,以确定应用程序的设定功能可以按照预期运行,验证数据的完整性与准确性,并在此基础上着手对应用程序进行必要的迭代和改进。具体而言,大数据测试能够为开发团队带来如下好处:

  1. 在数据注入过程中不会出现错误
  2. 将完整且正确的数据加载到大数据框架中
  3.  基于业务设计的逻辑,能够让数据的基本验证功能正常运行
  4. 根据业务需求,各种数据访问工具能够获取正确的输出数据

原文A Complete Guide to Big Data Testing,作者:Vakul gotra

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

 

来源:51CTO内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯