大数据测试指标整理

1.大数据测试维度

大数据平台主要解决了企业的实时数据计算、离线数据计算,主要服务于企业的数据应用,这些应用包括企业经营指标分析,商业智能分析,以及基于数据的广告业务、推荐业务、智能应用等。由于承载的企业业务复杂,而且对数据计算的实时性、准确性及可用性都有较高的要求,因此大数据本身涉及的就不是一个简单的业务场景,它需要从架构可靠性、平台可靠性、平台服务SLA以及流程可监测等多方面考虑。其复杂度是非常高的,因此对大数据的测试要求也很高。

一般测试主要分为:功能测试、性能测试。功能测试主要从接口行为、用户侧操作行为来测试系统是否能够完成对应的工作要求。性能测试则是主要是从组件性能、平台性能以及指标实时性等。与以往的业务系统性能指标不一样的地方在于指标的实时性成为了大数据平台最终的业务形态指标。平台的性能指标需要支撑指标的实时性。满足企业数据应用对数据指标实时性的需求。

2.大数据功能测试

         大数据功能测试主要分为:组件功能测试、数据应用功能测试、系统集成测试。

2.1 组件功能测试

         大数据平台涉及的组件就非常多,包括:HDFS、Kafka、flink、Hive、Spark、Zookeeper、ElasticSearch、azkaban、Hbase、Ranger、Knox、Tez、Alluxion等工具。这些工具主要为整个大数据生态提供各种功能。在测试过程中需要集中关注每个工具的主要功能,通过接口、界面测试大数据工具的功能。同时需要关注大数据工具社区的功能动态,以及相关bug的修复。因此大数据组件测试的工具可能跟传统的测试工作还是有区别的。

2.2 数据应用功能测试

         数据应用功能测试,这块主要从业务层面进行数据准确性。数据应用主要集中在数据仓库业务、数据实时计算。在整个大数据应用中,数据仓库业务占据绝大部分的数据需求。不管是企业经营指标、商业智能,还是基于算法的广告应用、推荐应用以及其他算法应用。数据建模都是不可或缺的部分。 因此数据应用的测试大部分集中在sql的逻辑测试。

         对于数据仓库业务测试,其难度在于测试需要对业务本身有较好的理解,对其业务逻辑有深入的了解,不然测试也无法获取好的结果了。就这一点就已经加大了大数据测试难度。

2.3 系统集成测试

         集成测试就是完成一个由多个工具组合完成的功能,实现全流程全工具的拉通测试,这个在实时计算中比较常见,因为实时计算流程比较长,涉及到工具比较多,需要多个工具一起协同才能完成相应的功能。因此这个需要从流程开始、流程结束两个切面进行功能的测试。

3.大数据性能测试

         对于性能指标来说,需要从业务场景出发,这样才能保证性能指标是有可参考系的。因此在定义性能指标的时候,需要从业务指标、技术指标两个角度进行定义。技术指标不能脱离业务指标而存在,业务指标和技术指标之间是具有映射关系的。

性能测试行业常用的性能指标表示法如下表3-1所示。

表3-1 性能测试行业常用指标

简称英文全称含义
RT response time响应时间,通常我们说的响应时间都包括了 Request time和Response time。
HPSHits per Second每秒点击数
TPSTransaction per second每秒事务数
QPSQueries per second在MySQL中指每秒SQL数
RPS       Requests per Second每秒请求数
CPSCodes per SecondHTTP协议中,CPS偶尔有提及,指的是HTTP每秒返回码
IOPS       Input/Output per Second通常描述磁盘

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
大数据标准化工作组织:ISO/IEC ITU NIST TPC SPEC TPC和SPEC两个组织关注大数据技术平台的基准测试测试标准: TPCx-HS、TPCx-BB 工具:TeraSort 大数据测试第一阶段 大数据平台(Hadoop平台)基准测试的方法论和具体实施方案: 《大数据平台基准测试第一部分:技术要求》 《大数据平台基准测试第二部分:测试方法》 基准测试主要从性能的角度衡量大数据平台,主要考虑数据生成、负载选择和明确测试 指标等内容。根据Hadoop平台的特点,从NoSQL任务、机器学习、SQL任务、批处理四大 类任务中选择了10个测试用例作为负载。 大数据测试第二阶段 《Hadoop平台基础能力测试方法》 《Hadoop平台性能测试方法》 性能测试在基准测试的基础上进行了升级,如图2所示,增加了SQL用例的比重,按照SQ L任务的类型,从两个维度确立了5类任务,分别是CPU密集型任务、I/O密集型任务、报 表任务、分析型任务、交互式查询。HBase的优势在于并发检索和读的性能,在负载方面 选择了批量写入数据、并发读任务占多、并发更新任务较重、读取更改然后写回4类场景 ,充分检验了HBase数据库的并发执行能力。在机器学习和批处理方面相对基准测试方法 减少了2个用例 Hadoop平台基础能力测试用例分布 Hadoop平台基础能力涵盖了运维管理、可用性、功能、兼容性、安全、多租户和扩展性 等指标,总共38项测试用例: MPP数据库(面向在线分析处理(on-lineanalyticalprocessing,OLAP))的标准化 《MPP数据库基础能力测试方法》 工具: Terasort BigDataBench HBase性能由YCSB(Yahoo!cloudservingbenchmark)工具来测试 ----------------------- 大数据平台测试标准全文共2页,当前为第1页。 大数据平台测试标准全文共2页,当前为第2页。
⼤数据测试 ⼤数据测试 什么是⼤数据 什么是⼤数据 ⼤数据是指⽆法在⼀定时间范围内⽤传统的计算机技术进⾏处理的海量数据集。 对于⼤数据的测试则需要不同的⼯具、技术、框架来进⾏处理。 ⼤数据的体量⼤、多样化和⾼速处理所涉及的数据⽣成、存储、检索和分析使得⼤数据⼯程师需要掌握极其⾼的技术功底。 需要你学习掌握更多的⼤数据技术、Hadoop、Mapreduce等等技术。 ⼤数据测试策略 ⼤数据测试策略 ⼤数据应⽤程序的测试更多的是去验证其数据处理⽽不是验证其单⼀的功能特⾊。 当然在⼤数据测试时,功能测试性能测试是同样很关键的。 对于⼤数据测试⼯程师⽽⾔,如何⾼效正确的验证经过⼤数据⼯具/框架成功处理过的⾄少百万兆字节的数据将会是⼀个巨⼤的挑战。 因为⼤数据⾼效的处理测试速度,它要求测软件⼯程师具备⾼⽔平的测试技术才能应对⼤数据测试。 我们来看下⼤数据处理的三个特性: ⼤批量 实时性 可交互 另外,数据质量也同样是⼤数据测试的⼀个重要维度。 因此在进⾏应⽤程序测试之前,必须确保数据质量,并且考虑把数据质量作为数据库测试的⼀部分。涉及数据的各种特性的检验,例如⼀致性、准确性、重复 性、连贯性、有效性及完整性等等。 ⼤数据应⽤测试步骤 ⼤数据应⽤测试步骤 下⾯我们⼀起看看⼤数据应⽤的测试过程是怎么样的。 整体⽽⾔,⼤数据测试⼤体可以分为三⼤步骤: 步骤⼀,数据预处理验证 在进⾏⼤数据测试时,⾸先要预hadoop前验证数据的准确性等等。 1. 我们数据来源可能是关系数据库、⽇志系统、社交⽹络等等,所以我们应该确保数据能正确的加载到系统中 2. 我们要验证加载的数据和源数据是⼀致的 3. 我们要确保正确的提取和加载数据⾄hdfs中 步骤⼆,Map Reduce验证 在进⾏⼤数据测试时,第⼆个关键步骤是"Map Reduce"验证。在本阶段,我们主要验证每⼀个处理节点的业务逻辑是否正确, 并验证在多个运⾏后,确保: 1. Map Reduce过程⼯作正常 2. 数据聚合、分离规则已经实现 3. 数据key-value关系已正确⽣成 4. 验证经过map reduce后数据的准确性等特性 步骤三,结果验证 在本阶段主要验证在经过⼤数据⼯具/框架处理后,⽣成的最终数据的成果。 主要验证: 1. 验证数据转换规则是否正确应⽤ 2. 验证数据的完整性和是否成功持久化到⽬标系统 3. 验证⽆数据损坏 架构测试 架构测试 Hadoop处理海量数据是⾮常的消耗资源的,良好的架构是确保⼤数据项⽬成功的基础。糟糕的涉及会导致性能急剧的下降,进⽽使得系统⽆法满⾜我们的需 要,因此我们需要,或是说⾄少在Hadoop环境下进⾏性能测试、故障恢复测试,以应改进效率和应对可能的最糟糕的情况。 性能测试是⼀个复杂的⼯作,它贯穿整个测试周期,需要关注内存、CPU、⽹络等等指标。 故障恢复测试则是验证数据处理过程中可能出现的故障,为做好意外的恢复做好相应的应对措施。 性能测试 性能测试 ⼤数据性能测试主要包含以下⼏个部分: 数据提取、存储效率 在本阶段,我们主要验证⼤数据应⽤从源数据中提取、加载数据的效率。 ⼀是验证单位时间内数据的提取、加 载效率。 ⼆是验证数据持久化⾄mongodb等库的效率等等 数据处理 在本阶段,我们验证map reduce任务的执⾏效率,重点关注的是数据处理的效率。当然这个过程可能也会涉及到数据的持久化相关指标,例如存储⾄HDFS读 写效率等等,同样也会涉及在内存中处理效率,即我们的处理算法效率等等 ⼦组件性能 ⼤数据处理,⼀般都会需要综合利⽤各种组件来辅助处理,所以我们也是需要关注这些辅助组件的性能 性能测试策略 性能测试策略 ⼤数据应⽤性能测试涉及海量的结构化和⾮结构化的数据,与我们平时所⾯对的业务系统有所不同,所以我们需要针对⼤数据应⽤制定特定的测试策略,以应对 海量的数据。 根据上图性能测试执⾏过程⼀般是这样的: 1. 在性能测试前需要先初始化⼤数据集群环境 2. 梳理和设计⼤数据性能测试场景 3. 准备⼤数据性能测试脚本 4. 执⾏并分析测试结果(如果指标异常,则调优相应的组件并重新测试) 5. 优化配置 性能测试基础准备 性能测试基础准备 在⼤数据性能测试时,需要准备相关的基础⼯作,如下: 数据准备,我们需要在不同的节点准备什么量级数据? ⽇志预估,在测试过程中,可能会⽣成多⼤的⽇志,⽇志的可能增量是什么样的? 并发,在测试时,可能会有多少线程并发读和写? 超时设置,应对设置怎样的连接超时?查询超时?写超时等等? JVM参数,如何设置最优的jvm参数,heap size、GC机制等等 Map Reduce,我们应该选择什么样的sort、merge等算法? 消息队列,消息队列长度会怎么样?等等 必备的测试环境 必备的测试环境 ⼤数据测试不同
大数据测试是指对大数据系统进行测试和验证,以确保其性能、可靠性和稳定性。在大数据测试中,测试案例是用来验证大数据系统的功能和性能的具体测试场景和步骤。 以下是一个大数据测试案例的示例: 测试案例:验证大数据系统的数据完整性 步骤: 1. 准备测试数据:创建一个包含多个数据源的大数据集,包括结构化数据、半结构化数据和非结构化数据。 2. 导入数据:将测试数据导入到大数据系统中,确保数据导入的过程正确无误。 3. 数据转换:对导入的数据进行转换和清洗,确保数据的准确性和一致性。 4. 数据分析:使用大数据系统的分析功能对数据进行分析和挖掘,验证系统的数据处理能力。 5. 数据查询:使用查询语言或工具对数据进行查询,验证系统的查询性能和准确性。 6. 数据可视化:将分析结果以可视化的方式展示,验证系统的可视化功能和效果。 7. 数据导出:将分析结果导出到外部系统或文件,验证系统的数据导出功能和数据格式的正确性。 8. 数据备份和恢复:测试系统的数据备份和恢复功能,确保数据的安全性和可靠性。 9. 性能测试:对系统进行负载测试和压力测试,验证系统在大数据量和高并发情况下的性能表现。 10. 错误处理:测试系统在面对异常情况和错误数据时的处理能力,确保系统的容错性和稳定性。 通过执行以上测试案例,可以验证大数据系统在数据完整性方面的功能和性能。同时,还可以根据具体需求和场景设计其他测试案例,以全面评估大数据系统的性能和可靠性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数字化先锋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值