前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【rainbowzhou 面试3/101】技术提问--大数据测试是什么,你如何测?

【rainbowzhou 面试3/101】技术提问--大数据测试是什么,你如何测?

作者头像
rainbowzhouj
发布2023-03-16 14:13:04
2940
发布2023-03-16 14:13:04
举报
文章被收录于专栏:rainbowzhou的成长足迹

紧接上篇【rainbowzhou 面试2/101】项目介绍,接下来面试官会开始就你的介绍,进行技术面、技术点、甚至到技术细节的提问,那么相应地就会要求我们对回答的技术面、技术点,对应实现的技术细节,做到胸有成竹或滚瓜烂熟的程度。

下面从整体、到局部、到细节进行介绍,希望对大家有所帮助。

整体

大数据测试通常是指采用大数据技术的系统或应用的测试。大数据测试可以分为两类,一类是数据测试,另一类是大数据系统测试和大数据应用产品测试。

  • 数据测试主要关注数据的完整性、一致性、准确性等,是大数据测试中非常重要的一环。
  • 大数据系统测试主要包括功能、基准、安全和可靠性测试。
    • 功能测试主要是对数据的采集和传输,存储和管理,数据计算,数据查询和分析以及数据可视化等功能的测试。
    • 基准测试是对大数据框架组件的性能进行对比和评估。
  • 大数据应用产品常见的有BI报表、用户画像系统、数据挖掘平台等。应用产品依赖于数据仓库的构建和ETL的过程。故ETL过程中的数据质量保障十分重要。

局部

以大数据系统测试中针对数据存储和管理模块的功能测试为例。参照CDP架构图

标签数据存储:标签相关数据可存储在Hive、 MySQL、HBase、 Elasticsearch等数据库中,不同存储方式适用于不同的应用场景。

Hive--存储关系型数据;

MySQL--元数据管理,导出到业务系统的数据,结果集存储;

HBase--存储非关系型数据,存储线上实时调用类数据;

Elasticsearch--查询引擎,支持海量数据的实时查询分析,用于存储用户人群计算、用户群透视分析所需的标签数据。

细节

针对存储的数据质量,主要以下从4个方面进行测试。

  • 数据完整性测试,即数据记录和信息完整,不存在缺失情况。关注两点,数据不多与不少
    • 数据不多即检查全表数据,重要枚举值是否重复,以及主键是否唯一。
    • 数据不少即检查全表数据或业务相关的重要字段(如品牌、类目和枚举值等)是否缺失。
  • 数据一致性测试含数据记录规范一致性,逻辑一致性和多节点数据一致。
    • 记录规范一致是指:数据编码和数据格式,如订单id,从业务来源表到数据仓库每一层中的表都应该是同一种数据类型,且长度需要保持一致。
    • 数据逻辑一致是指多数据间的逻辑处理一致,访问用户和注册用户的关系,页面的pv和uv等。我们通过数据的diff测试来验证数据的一致性。
  • 数据准确性测试
    • 上下游对比,检查重要字段数据在上下游的加工过程中是否丢失
    • 与系统内的数据对比,将源数据从行数据库导入到列数据库
    • 与系统外的数据对比,业务系统、BI系统的数据进行对比
    • 数值检查,数据值是否在常规范围,如人数比例,理论上位于 0,1;数据值是否在业务范围,如对于某产品的搜索人数,如果触发渠道唯一,那么理论上该产品的搜索人数大于或等于该产品的购买人数
    • 时间维度对比 如星期一 二 三等不同日期的数据对比
    • 空间维度对比
  • 数据及时性测试
    • 指数据从产生到可以查看的时间间隔(也称数据的延时时长)在可接受的范围。及时性对大数据离线数据项目的影响不大,但对于实时性的项目有很大影响。
    • 例如:在用户行为分析平台中,以1分钟间隔展示App当前在线人数,如果对于每次查询,需要2分钟才能返回数据,那么返回的当前时刻的在线人数是不准确的。对于查询返回时长,通常需要控制在秒级或毫秒级,这样才有意义。

以上由面到点的讲了下关于大数据存储数据,以及如何进行数据存储测试的内容,没有涵盖的东西还有很多。在之后的系列文章中,我会尽我所能再把其他模块,层层深入的进行讲解,并就需着重关注的测试点进行深挖,带你进一步的感受大数据测试的魅力。

看完今天的分享对你是不是有所启发呢,有任何想法都欢迎大家后台私信我,一起探讨交流。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-08-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 rainbowzhou的成长足迹 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 整体
  • 局部
  • 细节
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档