【大数据QA学习路线】

大数据项目QA与非大数据项目QA有差别吗?大数据项目QA需要哪些技能?

从QA的基本技能与工作方式来看没什么差别,更多的差别体现在大数据相关的经验与技能的积累上。大数据项目,涉及到很多新的知识、技能。尤其是机器学习与智能项目,比如,由过去预知确定的结果值变为通过预期概率与范围来评估模型的好坏。总之,大数据项目下,很多新的知识技能与概念需要QA学习掌握。

本文从个人实际参与大数据项目所需技能出发,整理了如下QA学习要点。

分布式存储知识

谈到大数据,离不开分布式存储。所以,大数据项目上的QA,需要了解Hadoop、 HDFS、Hbase、Hive等基础知识,且熟悉Hbase、HDFS以及Hive常用操作。因为,常用到的这些知识不了解,会导致在分析、启动、验证故事卡时,QA很难深入分析、讨论、反馈、验证,也就无法做到预防缺陷和风险。

比如:一张创建数据集的故事卡,支持通过输入路径来创建数据集。

就针对以上这张故事卡,需要了解HDFS上的文件存储格式,有行式、列式,有压缩或非压缩,有单个文件存储,也有以目录存储的大数据。在Review Story的时候,需要确认这些细节。在验证故事卡的时候,还要创建各种文件;因此,常用操作命令必不可少。

SQL、HQL技能

在大数据项目上,创建测试数据,验证数据结果都需要频繁操作数据库,所以SQL、HQL常用命令必备。在准备一些有复杂逻辑的大数据量时,通常需要写复杂的SQL脚本来完成。

网上搜索SQL、HQL常用命令就够用,如果实在想买书方便查阅,《SQL必知必会》、《Hive编程指南》就可以。

大数据特点与测试点

熟悉大数据的5V特点,以便在项目实践中,针对数据的验收场景考虑更全面,从而提高产品质量、降低质量风险。

大数据5V特征:

1、Volume(大体量):从数百TB到数百PB、甚至EB的规模。
2、Variety(多样性):大数据包括各种格式和形态的数据,结构化、半结构化、非结构化。
3、Velocity(时效性):很多大数据需要在一定的时间限度下得到及时处理。
4、Veracity(准确性):即处理的结果要保证一定的准确性。
5、Value(大价值):即大数据包含很多深度的价值,大数据挖掘、深度复杂分析将带来巨大的商业价值。
大数据测试点:
从以上特征中,归纳大数据的多个维度的测试点,见下图:
大数据非功能性测试点:

【大数据QA学习路线】_第1张图片
大数据非功能测试点

大数据功能性测试点:

【大数据QA学习路线】_第2张图片
大数据功能测试点

大数据处理阶段与测试

大数据采集 > 预处理 > 大数据处理与分析 > 大数据可视化与应用。

【大数据QA学习路线】_第3张图片
数据不同阶段

大数据采集到最终的大数据可视化与应用,经过了长长的一个通道,无法像传统项目的测试那样,直接端对端一步看结果。此时,QA必需对其进行分解处理,清楚数据每一步的处理过程与逻辑,从而准备相应的测试数据进行验证。即分解测试、再到组合集成测试。 另外,还要分层检测,如:后端存储结果是否正确、中间存储是否正确、顶层展示是否正确。

即: 各阶段进行 分步、分解、分层 测试。

大数据处理各阶段需要考虑的知识点,请参见ThoughtWorks数据智能团队QA整理的《大数据测试点汇集》,详见附录。

机器学习知识储备

机器学习领域的特征工程、模型训练、模型评估,这些都是机器学习最基本也是最核心的知识。如果QA参与的是机器学习应用或机器学习平台项目,那么,必然需要了解机器学习领域相关知识。

对于机器学习特征工程相关知识,可阅读What Is Feature Engineering。另外,对于常用的一些特征处理、特征提取方法,参见Spark官网ml-features相关介绍。

对机器学习当中,模型如何训练、如何评估,可以阅读《机器学习实战》或《深入浅出Python机器学习》速读进行扫盲,实际项目中涉及到具体内容,再详查针对性学习。

QA要熟悉常用的模型评估方法,以及相关图表。对于模型不讲是否有Bug,而说的是模型性能表现,有具体离线或在线评估方法和性能指标来评估一个模型的性能好坏。如:准确率、精确率、召回率、AUC、AOC曲线等。推荐阅读文章:evaluating-machine-learning。

想了解机器学习平台都有些什么业务功能,可试用DATAIKU。

Code技能

大数据项目,很多时候QA需要饶过前端准备大量的中间数据,比如,快速写一段脚本来搞定。因此,至少熟悉一种脚本语言,Python、JS等。
机器学习平台都会集成jupyter notebook,需要了解jupyter notebook,并会编写Code验证。

附录

本文主要引入了以下几个学习资料,请详见附录列表。


【大数据QA学习路线】_第4张图片
本文学习路线图

[1] Hadoop、 HDFS 、Hive 学习链接。
[2] 《SQL必知必会》、 《Hive编程指南》
[3] 大数据项目测试点汇集
[4] 《机器学习实战》、《深入浅出Python机器学习》
[5] What Is Feature Engineering、Spark、evaluating-machine-learning、DATAIKU。

大数据项目测试点汇集

你可能感兴趣的:(【大数据QA学习路线】)