大数据测试入门介绍

目录

1、什么是大数据测试

2、大数据的关键技术

3、大数据测试的策略有哪些

4、大数据测试都有哪些测试类型

5、数据测试方案流程

6、大数据测试的挑战

7、大数据测试工具


1、什么是大数据测试

测试大数据应用程序更多的是验证其数据处理。当涉及到大数据测试时,性能功能测试是关键。

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

大数据测试主要采用灰盒测试方法一方面关注代码最终结果,用于验证指标的正确性另一方面需阅读源代码,对其内部逻辑处理进行验证,同时要关注代码性能,如:不同数据量下的消耗时间,常见的代码优化写法等。数据质量测试除语法错误可以通过日志定位原因外,其他大部分问题都要通过对源数据的分析、统计和清单比对等手段,找出数据遗漏、处理异常的部分,从而定位出问题具体原因。

对于大数据而言,无需关注原始数据的正确性,但是要在数据的ETL装载过程中去发现问题,例如数据的清洗规则,数据的逻辑合理性,完整性,及时性,准确性等等。

 备注:ETL 是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。

2、大数据的关键技术

(1)数据采集与预处理。

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

(2)数据存储和管理。

利用分布式文件系统、数据仓库、关系数据库、nosql数据库、云数据库等,实现对结构化、半结构化和非结构化和非结构化海量数据的存储和管理。

(3)数据处理与分析。

利用分布式并行编程模型和计算框架,结合机器学习和数据挖掘算法,实现对海量数据的处理和分析;对分析结果进行可视化呈现,帮助人们更好地理解数据、分析数据。

(4)数据安全和隐私保护。

在从大数据中挖掘潜在的巨大商业价值和学术价值的同时,构建隐私数据保护体系和数据安全体系,有效保护个人隐私和数据安全。

3、大数据测试的策略有哪些

功能测试(Functional Testing):前端应用测试能够为数据的验证提供便利。例如,我们可以将前端应用程序所产生的实际结果,与预期的结果进行比较,以深入了解目标应用框架、及其各个组件。

性能测试(Performance Testing):大数据的自动化,能够方便我们在不同的条件下测试目标应用的性能。例如,我们通过使用不同种类和数量的数据,测试应用程序,进而确保所涉及到的组件的确能够为大数据集合,提供有效的存储、处理、以及检索功能。

数据提取测试(Data Ingestion Testing)通过测试性地提取数据,我们可以验证并确保所有的数据,均能在大数据应用中被正确地提取和加载。

数据处理测试(Data Processing Testing):在针对大数据的处理策略上,我们需要运用数据自动化工具,重点关注数据的获取与处理过程,通过比较输出文件和输入文件,来验证业务逻辑是否能够被正确地实现。

数据存储测试(Data Storage Testing):借助大数据自动化测试工具,QA测试人员可以通过将输出数据与数据库中的数据进行比较,来验证输出数据是否已正确地被加载到了数据库中。

数据迁移测试(Data Migration Testing):每当应用程序被迁移到其他服务器,或发生任何技术变更时,我们都需要通过软件测试,来验证数据从旧的传统系统,被迁移到新系统的过程中,所经历的停机时间最少,而且不会造成任何数据丢失。

4、大数据测试都有哪些测试类型

大数据测试通常都是测试数据的准确性、唯一性、完整性、一致性、关联性、及时性。

5、数据测试方案流程

测试流程

测试方法

测试执行

数据分析与评估

1、业务分析

2、规则分析

3、数据表分析

1、对业务流程及业务数据流转进行分析

2、根据PRD和设计文档确认数据加工逻辑

3、分析并确认数据库表字段业务含义

数据准备

1、数据抽样

2、数据模拟

1、从全量数据中抽取测试数据

2、根据测试要求制造测试数据

数据验证

1、准确性验证

2、有效性验证

3、一致性验证

4、数量级验证

5、及时性验证

6、异常数据验证

1、验证结果数据是否正确

2、验证输入数据值的有效性

3、验证数据结果与预期值的波动大小

4、验证不同量级数据的测试结果

5、验证数据的处理及传输时间

6、验证结果数据的异常值

数据监控

1、数据异常监控

2、数据变化监控

1、对异常结果数据的监控

2、对结果数据变化范围的异常监控

6、大数据测试的挑战

(1)数据的多样性和不完整性

问题:如今许多企业根据日常的业务所需,存储了数十亿字节的数据。测试人员必须审核这些海量数据,以确认它们的准确性和与业务的相关性。仅仅通过手动测试的方式,来处理这种量级的数据是不现实的。

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

(2)测试数据管理

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

解决方案:QA需要与研发产品沟通,以了解从不同源头提取、过滤数据,以及预处理和后期处理算法的过程。在此基础上,他们可以通过熟悉大数据自动化工具、和指定待运行的测试用例,以便合理地管理好各种测试数据。

7、大数据测试工具

只有用到了强大的测试工具,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通过可靠的扩展性和防错能力,来准确地处理任何级别的数据。目前,这款跨平台工具提供了包括日志处理、实时分析、机器学习、以及持续计算等方面的多种用例。

  • 2
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值