• 大数据如何进行测试


    一、什么是大数据测试

    大数据测试通常是指对采用大数据技术的系统或者应用的测试。大数据测试可以分成两个维度,一个维度是数据测试,另一个维度是大数据系统测试和大数据应用产品测试。

    大数据测试和传统数据测试的不同:

    对比项大数据测试传统数据测试
    数据量级需要处理的数据量级较高设计的数据量级较低
    数据结构处理的数据包括结构化数据、非结构化数据、和半结构化数据以结构化数据为主
    验证工作验证环节多,数据量大,较复杂抽取数据来验证,相对简单
    环境要求依赖HDFS、YARN和Zookeeper等集群环境依赖传统数据库
    测试工具依赖Hadoop生态系统组建和ETL 测试工具依赖传统数据库和部分测试工具
    测试人员技能门槛高,需要测试人员掌握大数据相关技能技术门槛相对较低

    与其他类型的测试一样,大数据测试也需要遵循既定的策略和方法。

    二、数据测试

    测试类型划分:功能测试、性能测试、和其他非功能性测试

    2.1、功能测试 

    功能测试常用的测试方法有数据完整性、数据一致性、和数据准确性测试。

    2.1.1数据的完整性

    数据完整性是指数据记录和信息完整,不存在缺失情况。数据缺失主要包括记录缺失和记录中某个字段信息缺失,两者都会导致统计结果不准确。需要关注两点:数据不多和 数据不少。
    数据不多:一般检查全表数据,重要枚举值数据是否重复,以及主键是否唯一

    数据不少:
    一般检查全表数据或业务相关的重要字段(如日期、品牌、类目和枚举值等)是否缺失。
    如果我们知悉数据量,如表中的品牌字段有X条数据,则检查品牌字段的是否有X条数据即可。
    如果数据规模本身变动很大,可以通过对比历史数据条数来评估数据波动是否正常。

    2.1.2数据的一致性

    • 数据记录规范一致:数据编码和数据格式,如订单ID,从业务来源表到数据仓库每一层中的表都应该是同一种数据类型,且长度需要保持一致。
    • 数据逻辑一致:多数据间的逻辑处理一致,可以通过数据的diff测试来验证数据的一致性。

    2.1.3数据的准确性

    • 数值检查:通常需要验证数据值是否在常规范围内,比如人数比例,理论上位于[0,1],是否在业务范围内,这依赖于对数据业务规则的理解。
    • 时间维度对比:即对比同一组数据在不同时间的波动情况。
    • 空间维度对比:即固定时间维度,将当前数据与其他数据进行对比,进一步保证准确性。
    • 上下游数据对比:检查重要字段数据在上下游的加工过程中是否丢失,与系统内的其他数据对比,与系统外的其他数据对比。

    三、大数据系统测试和大数据应用产品测试

    3.1、计算逻辑验证

    1、罗列式:这个是非常简单的报表,就是将源数据根据规则进行罗列,不涉及任何计算。罗列式报表的测试重点是检查罗列项是否与需求一致(不缺项,不多项),罗列项的顺序是否正确,以及是否通过罗列方式正确获得预期数据。
    2、统计式:单个源数据经过简单的加减乘除、求和、求平均值等计算方法得到的报表。使用抽查验证方法。还考虑到数据的多样性和偶然性等问题,需要进行多种情况组合抽样验证。
    3、算法式:是由一个或者多个数据源,根据一定的公式计算汇总得到的报表。此类报表涉及多数据源、多表、和多业务流程,是报表测试的难点。
    在测试的时候,需要重点关注数据来源,业务含义,和计算逻辑等。可以采用抽样统计法、直观观察法、和对照法。
    对照法:是验证相同数据在不同报表中等效维度是否一致。
     

    3.2、数据有效性和数据易用性验证

    • 数据有效性:由于源数据会受到数据采集、转换和处理等因素影响,因此可能存在异常数据,这将导致报表出现无效的统计结果。
    • 数据的易用性:是指报表数据能否被用户直观理解。例如数据精度统一,时间格式统一,数据换算单位准确。四舍五入保留统一2位等。
       

    3.3、UI验证和交互验证

    • UI验证:对界面功能、交互设计的验证。验证报表页面布局样式、表格格式、字体格式、颜色搭配、报表标题和文案。
    • 交互验证:主要包括:翻页、过滤器、提示、参数、上钻/下钻、多表联动、排序和导出等功能的验证。
    • 更新验证:在源数据出现更新后,验证报表数据是否更新正确
    • 及时验证:主要是针对实时报表生成的及时性验证,验证在及时性方面是否满足业务需求
    • 安全测试:检查报表系统的用户权限,数据安全设置是和合理
    • 性能测试:数据响应时间、报表生成耗时等性能指标进行测试,验证是否符合预期。
  • 相关阅读:
    代码随想录算法训练营第四十六天
    【星球】【slam】研讨会 (3)ViSLAM 算法框架,原理,对比,评测 论文解读 ORB—SLAM3
    h5头部返回栏代码-组件封装
    AtCoder Beginner Contest 263 G.Erasing Prime Pairs(二分图最大匹配-网络流)
    实战ResNet:CIFAR-10数据集分类
    计算机毕设 python opencv 机器视觉图像拼接算法
    phpjiami加密原理详解及解密
    腐烂橘子图问题
    DW大学生网页作业制作设计 中华饮食文化(HTML+CSS+JavaScript) Web前端大作业
    qt写代码判断一个数字是否可以被7整除
  • 原文地址:https://blog.csdn.net/u011487470/article/details/126954040