软件测试工程师又一大挑战:大数据测试_大数据测试和软件测试区别

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

因为大数据高效的处理测试速度,它要求测软件工程师具备高水平的测试技术才能应对大数据测试。

我们来看下大数据处理的三个特性:

  • 大批量
  • 实时性
  • 可交互

另外,数据质量也同样是大数据测试的一个重要维度。

因此在进行应用程序测试之前,必须确保数据质量,并且考虑把数据质量作为数据库测试的一部分。涉及数据的各种特性的检验,例如一致性、准确性、重复性、连贯性、有效性及完整性等等。

大数据应用测试步骤

下面我们一起看看大数据应用的测试过程是怎么样的。

整体而言,大数据测试大体可以分为三大步骤:

  • 步骤一,数据预处理验证
    在进行大数据测试时,首先要预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等算法?
  • 消息队列,消息队列长度会怎么样?等等

必备的测试环境

大数据测试不同于常规的应用测试,你应该具备以下一些基础环境:

  • 拥有足够的存储设备来存储和处理大数据
  • 拥有集群来做分布式节点和数据处理
  • 至少拥有足够的cpu、内存来确保有高性能的处理基础

大数据测试的挑战

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值