大数据软件测试

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
· 来自各方面的数据资源应该被验证,来确保正确的数据被加载进系统 · 将源数据与推送到Hadoop系统中的数据进行比较,以确保它们匹配 · 验证正确的数据被提取并被加载到HDFS正确的位置; 业务逻辑验证阶段,测试者在每个节点上进行业务逻辑验证,在运行多个节点后验证确保如下操作的正确性: · 获取与分析进程正常工作 · 在数据上实施数据聚合或隔离规则 · 生成键值对 · 在执行获取与分析进程后验证数据正确性与完整性 大数据测试的最后或第三阶段是输出验证过程。 · 检查转换(Transformation)规则被正确应用 · 检查数据完整性和成功的数据加载到目标系统中 · 通过将目标数据与HDFS文件系统数据进行比较来检查没有数据损坏
一个成熟的数据从业者应该懂得灵活的运用数据寻找,获取,安装,Debug,分享,团队合 作,Linux是知名的开源系统,在这个系统下环境的配置将变得非常容易和透明。Linux操 作系统作为常见的底层操作系统,在软件开发、软件测试过程中都会经常接触和使用,很
多企B业I数的据服务质器量都是的L解inux环提境升的,效对率于测试人员而减言低,也成都本会掌握相应的Linux命令。 决而方大案数据平台型产品的提逐升渐成测熟试,开业发界效有不率少上的大手数快据研发团队开始使用Docker。在
大数据测试实战
********管理中心 张****
目录
大数据概念
大数据测试方法
面试大数据测试人才的 必备技能介绍
第一 部分
大数据概念
大数据背景
1.DT时代,数据将在生产品过程中起到激发、辅助的作用,让用户 获得更大的经济价值。
2.数据蕴涵着巨大的商业价值,人们需要的就是快速对数据进行处理 和分析,从而产生有价值的业务决策。
3.ETL(抽取(extract)、转换(transform)、加载(load))过 程为联机分析处理、数据挖掘提供决策支持的数据。 大数据概念最初起源于美国,是由思科、威睿、甲骨文、IBM 等公 司倡议发展起来的。大约从2009年始,“大数据”成为互联网信息 技术行业的流行词汇。
大数据概念
大数据概念提出者:麦肯锡全球研究所,给出的定义是:一种规模大到在获取、存储、管理、 分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的 数据流转、多样的数据类型和价值密度低四大特征。 大数据是一个大的数据集合,通过传统的计算技术无法进行处理。这些数据集的测试需要使用 各种工具、技术和框架进行处理。大数据涉及数据创建、存储、检索、分析,而且它在数量、 多样性、速度方法都很出色。 大数据最小的基本单位是bit; 按顺序给出所有单位:bit、Byte、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB。
代码以jar包形式上传到集群上运行,可能发现:
大资源文件读取到内存,程序是否正常,job启动是否变慢,日志是否有异常
结果代是码否出走现读倾斜
字段间关系
枚举值分布 数据量及范围
运三关行 注、时业性代代间务能码码是基测规性否线试符产范能合出:问问预时题题期 间;查看主字m键段ap是ap>e否字r数唯段,一breducer数,枚cp举u,类m字e段m,值响应时间等
其次说一下java,Java作为全球最流行的编程语言,因其易学易用、需求大、技术覆盖面广,已成为软件开发、 web开发、前端开发、系统运维的必备编程语言课程,而对于测试人员来说,自动化测试的脚本编写也离不开Java, 学Java已成为测试人员进阶提升的首选编程语言。
枚举值分布 数据量及范围
枚举类字段值
大数据测试方法-测试流程总结
测试整体流程:需求调研分析阶段、测试策略计划制定、编写及评审测试用例、执行测试、上线验收测试、 测试结果总结; 大数据执行测试阶段划分: 1.数据阶段验证、B.业务逻辑验证、C、输入结果验证; 大数据测试的第一步数据阶段验证,也称作pre-hadoop阶段该过程包括如下验证:
性能测试
Mapper数 Reducer数 CPU,MEM 响应时间
对比测试
历史数据对比 节点数据对比
大数据测试方法-MR类
一、单机测试:
本地测试:本地提交运行job,得到Reduce端输出,即只关心最终结果
单元测试:构造Map端和Reduce端的输入数据,对Map端和Reduce端的输出断言
二、集成测试:
系统迁移 业务升级
对比测试
系统迁移 业务升级
大数据测试方法-数据应用类
一、区间分布:
数值类型字段整体的分布情况
例如:成交金额(笔记本电脑成交金额大部分分布在3k-1w,女装类目情况)
二、特征值验证:
构造数据复杂、成本高;反向从源头表中寻找异常数据
取有代表性的数据、异常数据
三、代数码据走对读比: 字段间关系
可视化图表
图表的展现 需要准备各种数 据
ABTEST
使用外部公开数 据集 效果对比评估
大数据测试方法-数据产品类
一、数据一致性:
比如:表字段值=?页面展示的值
二、数据正确性:
比如:表字段值的来源是否正确,计算是否正确
三构造、异代可常视码数化据走图,读看表显:示是否字正常段、间是否关破系页
代码规范问题 主键是否唯一 代码性能问题 字段a>字段b
代码走读
字段间关系
代码规范问题 代码性能问题
枚举值分布 数据量及范围
枚举类字段值
大数据测试方法-深度学习算法类
单机测试
集群测试
关心测试参数、模 型文件 关心性能,job时 间等
参数调优
不同的参数导致 模型的效果不同 训练速度不一样
ABTEST
使用外部公开数 据集 效果对比评估
大数据测试方法-深度学习算法类
三、参代数码调规优范:问题 主键是否唯一
枚举类字段值
找出每代个码参性数与能算问法题效果的关字系段,a找>出字一段组b近似最优的参数组合 四、ABTEST
ABTest是指对同类型的不同算法A、B,使用相同的数据集,来比较A/B算法的优劣
使用相同的训练集、测试集数据,来计算我们算法的准确率,在与官网上的其他算法对比
枚举值分布 数据量及范围
1. 2.
系业代代统务码码迁升移级规性((范能数核问问据心题题结中构 间变 层更 数主字、 据键段代 变是a码 更>变 )否字更唯段,一b调度系统迁枚移,举历类史字数段据值迁移)
大数据测试方法-MR类
单机测试
本地测试 单元测试
集成测试
结果是否合理 运行时间 结果是否出现倾斜
TEXT HERE
TEXT HERE TEXT HERE TEXT HERE TEXT HERE
大数据测试方法
数据应用类 UDF类 实时数据类
MR类 深度学习算法类 数据产品类
大数据测试方法-数据应用类
代码走读
代码规范问题 代码性能问题
字段间关系
主键是否唯一 字段a>字段b
枚举值分布
枚举类字段值
大数据的特征: 容量(Volume):数据的大小决定所考虑的数据的价值和潜在的信息; 种类(Variety):数据类型的多样性; 速度(Velocity):指获得数据的速度; 可变性(Variability):妨碍了处理和有效地管理数据的过程。 真实性(Veracity):数据的质量。 复杂性(Complexity):数据量巨大,来源多渠道。 价值(value):合理运用大数据,以低成本创造高价值。
会说SQL非常简单,但是A当你实际应用的时B候就会发现你在学校学C的那些简单Query完D全就跟不上需求了。
除了基本的SQL,relational数据库(MySQL, PostgreSQ等),如果你想分析一些unstructured的数据,
比如文字或者im数ag据e等研等发,质你可量以学习数一下据N探oSQ查L、MongoDB也数是据主迁流移的数据库。 数据可视化 感兴趣的可以自数己据学代习一码下规。范另外Mon数goD据B有监自控己的线上Uni代ve码rsi重ty构,大家有兴趣数也据可脱以敏关注一下。
数据量及范围
整表数据量 字段区间分布
大数据测试方法-数据应用类
一、代码走读:
1.列对齐
2.Insert overwrite表中不能出现select *
3.表别名是否重复
4.Mapjoin里的小表是否在当层子查询中存在
5.Join on 条件是否误写成一致
等等代码走读
字段间关系
枚举值分布
二如:、P字代V>段码UV间规、关范A=系问B(题+C最、终A>输主=B出键+表C是等)否,:唯主键一是否唯一 枚举类字段值
想成为大数据测试工程师之前,必须有测试必 备的技能,比如软件测试执行提出了开展软件 测试的执行活动,所需要涉及的执行过程以及 相关策略和方法;同时了解常用的测试活动中 的经验之谈,理论知识的梳理和基本的测试技 巧掌握。
必备专业技术介绍 - Linux及环境搭建 、Docker容器实现分布式虚拟化技巧
大数据测试方法-实时数据类
逻辑正确性 数据准确性
本地测试,使用 实时数据与离线
本地文件
数据的数据对比
时效性
是否有数据延迟
ABTEST
使用外部公开数 据集 效果对比评估
大数据测试方法-实时数据类
一、代逻码辑正走确读性: 字段间关系
枚举值分布 数据量及范围
本地测试:模拟实时数据流,校验输出结果是否正确
第二 部分
大数据测试方法
大数据测试方法-数据全链路
TEXT HERE
TEXT HERE TEXT HERE TEXT HERE TEXT HERE
TEXT HERE
TEXT HERE TEXT HERE TEXT HERE TEXT HERE
TEXT HERE
TEXT HERE TEXT HERE TEXT HERE TEXT HERE
第三 部分
大数据人才面试必备技能
面试大数据测试人才必备专业技术介绍
1、测试基本理论知识; 2. Linux及环境搭建 、Docker容器实现分布式虚 拟化技巧; 3. SQL和数据库相关的技能; 4. Python/java语言编程基础; 5. 性能测试、框架开发的技能掌握;
必备专业技术介绍 –测试理论基础
数据回归
必备专业技术介绍 - Python/java语言
先说一下Python, Python是一种万能的语言,适用性非常强,除了数据分析还能够做很多的事情,比如编写程序, 网站开发,深度学习等等。如果你决定使用Python, 就需要了解的点主要是各种包的搜索和调用,函数的编写 和嵌套,数据类型的把握(list, tuple, series, dict),条件判断,循环迭代等等。
二、数代据码准规确范性问:题 主键是否唯一
枚举类字段值
本地逻辑代校码验性通能过问后,题对真实字数据段进a行>字校验段。b把实时数据拖回ODPS,做离线的查询、统计、对比
三、时效性:
关注日志时间和表数据产生时间,不能与实际时间偏差太大
大数据测试方法-数据产品类
数据一致性 数据正确性
源头与展示是否一 业务逻辑 致
云计算领域,复杂的平台环优境化和配数置据也产促出使运维人员低开门始槛逐步认识到Docker的重要性。
必备专业技术介绍 - SQL和数据库相关的技能
数据库是另外一个比较重要的部分,想象一下你不可能一直使用Excel去处理数据,毕竟超过十万行 的数据用Excel就比较吃力了。这个时候SQL就是必须要用的,可以说这个是一个核心技能。有的人可能
大数据测试方法-UDF类
单元测试
JUNIT JENKINS
集成测试
HIVE/ODPS环境
对比测试
重构
对比测试
大数据测试方法-UDF类
一、单元测试:
基本同java、python的单元测试方法,通过JEKINS来持续集成,利用覆盖率插件来统计各种覆盖率
二、集成测试:
在HIVE/ODPS环境中验证case,例如:select udf_data_diff("2014-01-19", "2014-01-20 12:00:00") from dual;
关注指标:正确率、召回率(覆盖面的度量,度量有多少正例被分为正例)
数据集准备:训练集和测试集的比例3:1
一、单机测试:
同MR单机测试过程
二、集群来自百度文库试:
关关心心代性测码能试,参走j数o读b和的模运型行文时件间参字,数段m对a间算ste法关r和的系s影la响ve,的对通于信异时枚常间值举,值边界分值布的测试不可数忽据略。量及范围
三、枚代举码值性分能布问:题 字段a>字段b
数据量及范围
校验枚举类字段的枚举值是否完整、通过枚举值分布校验数据正确性
四、数据量及字段值范围
如:一天支付量、一级类目个数、每日旺旺登陆UV、字段最大小值、字段长度
大数据测试方法-数据应用类
区间分布
特征值验证
数值类型的分布 分析区间范围
异常数据反推
数据对比
相关文档
最新文档