51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 3597|回复: 0
打印 上一主题 下一主题

[转贴] 怎么进行大数据测试?我们需要具备怎样的测试能力?

[复制链接]
  • TA的每日心情
    无聊
    昨天 09:19
  • 签到天数: 933 天

    连续签到: 5 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2020-9-22 15:06:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    前言:现在大数据这么火,那么作为测试人员,我们应该怎么进行大数据测试?需要具备怎样的测试能力?

    一、大数据测试实现被分成三个步骤

    (1):数据阶段验证
    大数据测试的第一步,也称作pre-hadoop阶段该过程包括如下验证:
    1、来自各方面的数据资源应该被验证,来确保正确的数据被加载进系统
    2、将源数据与推送到Hadoop系统中的数据进行比较,以确保它们匹配
    3、验证正确的数据被提取并被加载到HDFS正确的位置
    该阶段可以使用工具Talend或Datameer,进行数据阶段验证。

    (2):"MapReduce"验证
    大数据测试的第二步是MapReduce的验证。在这个阶段,测试者在每个节点上进行业务逻辑验证,然后在运行多个节点后验证它们,确保如下操作的正确性:
    1、Map与Reduce进程正常工作
    2、在数据上实施数据聚合或隔离规则
    3、生成键值对
    4、在执行Map和Reduce进程后验证数据

    (3):输出阶段验证
    大数据测试的最后或第三阶段是输出验证过程。生成输出数据文件,同时把文件移到一个EDW(Enterprise Data Warehouse:企业数据仓库)中或着把文件移动到任何其他基于需求的系统中。在第三阶段的活动包括:
    1、检查转换(Transformation)规则被正确应用
    2、检查数据完整性和成功的数据加载到目标系统中
    3、通过将目标数据与HDFS文件系统数据进行比较来检查没有数据损坏

    二、架构测试
    Hadoop处理大量的数据,并且是非常耗费资源的。因此,架构测试对于确保您的大数据项目的成功至关重要。系统设计不当或设计不当可能导致性能下降,系统不能满足要求。至少,性能和故障转移测试服务应该在Hadoop环境中完成。

    性能测试包括测试作业完成时间,内存使用率,数据吞吐量和类似的系统指标。而故障转移测试服务的动机是为了验证在数据节点发生故障的情况下数据处理是否无缝地发生

    三、性能测试
    大数据性能测试包括两个主要的行动
    数据采集​​和整个过程:在这个阶段,测试人员验证快速系统如何消耗来自各种数据源的数据。测试涉及识别队列在给定时间框架内可以处理的不同消息。它还包括如何快速将数据插入到底层数据存储中,例如插入到Mongo和Cassandra数据库中。

    数据处理:它涉及验证执行查询或映射缩减作业的速度。它还包括在底层数据存储填充到数据集中时独立测试数据处理。例如,在底层HDFS上运行Map Reduce作业

    子组件性能:这些系统由多个组件组成,而且必须单独测试每个组件。例如,消息的索引和消费速度有多快,mapreduce作业,查询性能,搜索等

    四、性能测试方法
    大数据应用性能测试涉及大量结构化和非结构化数据的测试,并且需要特定的测试方法来测试这些海量数据。

    五、性能测试按此顺序执行

    1、过程从设置要测试性能的大数据群集开始
    2、确定和设计相应的工作量
    3、准备个人客户(自定义脚本创建)
    4、执行测试并分析结果(如果不满足目标,则调整组件并重新执行)
    5、最佳配置(性能测试的参数)

    六、性能测试需要验证的各种参数
    1、数据存储:数据如何存储在不同的节点中
    2、提交日志:允许增长的提交日志有多大
    3、并发性:有多少个线程可以执行写入和读取操作
    4、缓存:调整缓存设置“行缓存”和“键缓存”。
    5、超时:连接超时值,查询超时值等
    6、JVM参数:堆大小,GC收集算法等
    7、地图降低性能:排序,合并等
    8、消息队列:消息速率,大小等

    七、测试环境需求
    测试环境需求取决于您正在测试的应用程序的类型。对于大数据测试,测试环境应该包含
    1、它应该有足够的空间来存储和处理大量的数据
    2、它应该有分布式节点和数据的集群
    3、它应该有最低的CPU和内存利用率,以保持高性能

    八、大数据测试面临的挑战
    (1)、自动化
    大数据的自动化测试需要具有技术专长的人员。另外,自动化工具不具备处理测试过程中出现的意外问题的能力

    (2)、虚拟化
    这是测试的一个不可缺少的阶段。虚拟机延迟会在实时大数据测试中造成计时问题。在大数据中管理图像也是一件麻烦事。

    (3)、大数据集
    1、需要验证更多的数据,并需要更快地完成
    2、需要自动化测试工作
    3、需要能够跨不同的平台进行测试

    九、性能测试挑战
    1、多种技术组合:每个子组件属于不同的技术,需要单独测试
    2、不可用的特定工具:没有一个工具可以执行端到端的测试。例如,NoSQL可能不适合消息队列
    3、测试脚本:需要高度的脚本来设计测试场景和测试用例
    4、测试环境:数据量大,需要特殊的测试环境
    5、监控解决方案:存在有限的解决方案,可以监控整个环境
    6、诊断解决方案:需要定制解决方案来深入了解性能瓶颈区域

    十、最后奉上微服务中台架构图和基于AI驱动的数据中台架构图
    1、微服务中台架构图

    2、基于AI驱动的数据中台架构图

    本文链接:http://blog.csdn.net/weixin_44275820/article/details/108470212



    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-20 09:46 , Processed in 0.069296 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表