转发是对小编的最大支持

万变不离其宗,不论是什么测试ta的主流程基本都是一样的,就是我们刚开始学习测试的那一套流程。也许你会觉得简单,但你要明白,无规不成方圆,有时候没有推行好或者结果不好不一定是因为技术不行,也许是没有好的流程。就好像,一辆汽车的生产,如果没有好的流程你觉得最终出来的汽车质量会好吗?

明白这个道理之后,我们就先来看看大数据测试的主流程是个神马样子的。

  • 需求分析。这步考虑的越全面那么后续问题就会越少。

  • 测试计划。此处省略N个字。

  • 测试用例编写与评审。可以从数据库层面和页面层面考虑。这里要注意,虽然是大数据测试但也要保证页面功能的正确性啊(嗯,测试确实是个苦逼的活儿)

  • 执行测试。这块可以分享一些小建议,对于一些频繁迭代更新的我们还是以手工测试为主,工具验证为辅;对于一些较为稳定的,则可以通过UI、接口、SQL等方法进行验证。

  • 线上验收测试。

  • 测试总结。这步也是很多团队忽略的。其实测试很多的价值挖掘都在这步实现的哦。在《小强软件测试疯狂讲义》一书中详细讲解过。

知道主流程之后我们就来看看重点,在大数据测试中的关键步骤,这也是和传统数据库测试的区别。


1、pre-Hadoop阶段验证(预处理验证阶段),主要是对输入的数据进行处理并存储到hdfs上。

在这个阶段可能由于各种原因造成数据不正确,一般要进行如下的测试:

输入文件与源文件对比,保证正确性

根据需求确认获得数据的正确性

验证正确的文件被存入HDFS且被分割、复制到不同的节点


2、MapReduce验证阶段

当文件存入HDFS之后就要通过MapReduce进行处理了。这个阶段可能出现的问题包括但不限于编码不对、节点配置错误、聚合不正确、输出格式不对等问题。一般需要进行如下的测试:

MapReduce进程正常工作

数据处理完成,输出文件正确

验证map时生成的key-value是否正确

验证reduce结束后聚合是否正确

输出格式是否符合要求


3、输出阶段验证

此阶段主要是生成处理过的最终数据文件以及存放到数据仓库。一般需要进行如下的测试:

检查转换规则被正确应用

检查数据加载到目标系统中且完整

通过将目标数据与HDFS文件系统数据进行比较来检查没有数据损坏

这些过程中,你可以通过Hive得到分析报告来做进一步的验证。

hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

你一定觉得是天书,各种不清楚,但是没关系,先做了解和记忆,等后续随着知识的积累自然就明白了,学习就是这样的,需要一个过程,不能太强求。

最后放一张图,总结上面的内容(一图胜千言)

小白学习大数据测试之主流程和关键步骤_第1张图片

其中ETL其实就是数据的处理、清洗、转换等,具体见文章《ETL大数据测试介绍》

小白学习大数据测试之主流程和关键步骤_第2张图片