功能性测试——数据
- 大数据功能主要涉及系统实现面向大数据分析应用的POSIX API,包括文件读取与访问控制,元数据操作,锁操作等功能;
- 大数据分析系统的POSIX语义不同,实现的文件系统API也不同,功能测试要覆盖到大数据系统涉及实现的API和功能点;
- 功能测试工作量大,应该重点考虑应用自动化测试方法进行,同时结合手动测试补充,自动化工具推荐Itp,fstest和locktests。
- 在多个节点上处理大数据的过程中,存在由于‘无用数据’和数据质量问题带来的各种问题。功能测试主要用以识别由于编码错误或节点配置错误带来的数据问题。
其包括以下几个阶段:
A.数据导入/预处理验证阶段
- 根据具体的应用背景和业务需求,各种数据源如网络日志,物联网,社会网络及互联网文本和文件等被按需加载到HDFS中待处理。在这个过程可能会由于不正确或不复制,存储而导致的错误数据,对于这种情况,可采用以下方式进行测试:
1.输入文件与源文件进行比对,保证数据的一致性;
2、根据数据需求来保证获取数据的准确性;
3、验证文件被正确的加载进HDFS,且被分割,复制到不同的数据节点中。
B、MapReduce数据输出验证阶段
- 当数据加载进行HDFS后,MapReduce开始对来自不同数据源的数据进行处理。在这个过程中可能会出现MapReduce处理过程中的编码问题,如在单一节点上运行正确,在多个节点上运行不正确的问题,包括不正确的聚合,节点配置,输出格式等。针对于这个阶段的问题,可采用以下验证手段:
1、验证梳理数据处理正常完成,输出文件正常得到;
2、在单个节点上验证大数据的业务逻辑,进而在多个节点上进行相同验证;
3、验证MapReduce处理过程的key/value对是否正确产生;
4、在reduce过程结束后验证数据的聚集合并是否正确;
5、通过源文件验证输出数据来保证数据处理正确完成;
6、按照大数据业务所需,验证输出数据文件格式是否符合要求。
C、验证大数据ETL到数据仓库
- 当MapReduce过程结束后,产生的数据输出文件将被按需移至数据仓库或其他