一、绪论:
大数据是大容量、高速率、多形态的信息资产,且需要成本效益、信息处理来增加洞察力和决策创新形式。大数据是指大小超出了典型数据库软件工具收集、存储、管理和分析能力的数据集。
大数据分析框架测试、算法质量测试、性能测试、大数据安全和隐私软件测试的经典定义:为发现软件错误,而运行软件的活动。
基本思路:根据软件需求规格说明书,执行软件操作和输入数据,依据软件实际输出结果和预期输出结果来评判软件是否满足规格的要求
本书以Hadoop为主线:底层支撑框架层聚焦于单元测试和框架基准测试;基本算法中涵盖了聚类、分类及其个性化推荐;应用层中,介绍了其性能测试中的若干问题,阐述了数据集的设计与分析;最后讨论了大数据的安全和隐私问题。
大数据特征
数据类型繁多;处理速度快;数据体量大;数据价值;真实性
大数据的过程模型
数据源;数据收集及录入;数据过滤及分类;数据分类/建模/预测;数据交付及可视化;消费者的数据分析及应用
大数据相关标准
大数据相关的标准可分为两大类:基础类和技术类。基础类包括大数据平台技术参考架构、大数据总体技术要求、大数据标准化指南。技术类可分为数据采集、数据存储、数据处理和分析、数据管理。
1.数据采集 数据抽取和预处理等相关规范
2.数据存储 各种类型数据的存储和访问接口规范。
3.数据处理和分析
4.数据管理 针对数据的源数据管理、质量管理及数据管理接口规范
大数据的应用
趋势预测;疫情分析;消费行为分析;智慧金融;智慧金融;精确营销; 舆情分析;
大数据引起的软件变化
传统的软件架构无法满足大数据处理的要求;大数据软件处理的结果是未知的;大数据的软件思维模式发生逆转。
软件测试的新挑战
测试ORACLE问题: 软件测试的基本前提是在确定的输入下,存在确定的输出。测试要将软件运行的实际结果和预期的结果相比较,从而得出软件运行正确与否。
测试能力问题:测试结果的判定问题:在大数据的分析背景下,典型的应用场景不存在确定的输出,大数据的分析的准确性很大程度上依赖于数据的输入和数据的分布特性。
隐私问题:(略)
二、面向大数据框架的测评
本章将介绍Hadoop大数据框架的单元测试、大数据的数据清洗、数据质量评估框架以及大数据的基准性能测试技术。
2.1大数据的数据处理流程
在处理大数据之前需要对来自不同数据源的数据进行数据处理,包括数据抽取和数据集成。通过数据抽取和数据集成操作提取出关系和实体,对其进行关联和聚类的相关操作后,采用统一定义的结构来存储这些数据。数据清洗在数据集成与数据抽取之前,保证数据质量与可行性。
2.2面向数据质量的测评
数据质量的定义
数据本身质量:数据真实性、数据完备性、数据自治性。
数据过程质量:数据使用质量、数据存储质量、数据传输质量。
数据质量问题的分类
略
数据预处理
1.数据清理
不符合要求的数据:数据缺失;数据错误;数据重复(mapreduce去重)
2.数据集成/数据变换
数据集成是指从逻辑上或者物理上将来源或格式以及特点性质不同的数据有机地集中起来,为数据挖掘提供完整的数据源。
数据集成问题分类:数据表链接不匹配;冗余;数据值冲突。
数据变换:属性的数据类型转换;属性构造;数据离散化;数据标准化。
3.数据规约
可以获得数据集的简化表示;属性选择、实例选择。
数据质量测评
1.数据清洗框架和工具
数据清洗:映射、匹配、聚集、合并、跟踪。
2.数据清洗评估
相关性;准确性;及时性;完整性;一致性;
2.3分布式数据模型及测试
框架:
Hadoop的核心是HDFS和MapReduce,为用户提供了系统底层透明的分布式基础框架。
mapreduce:分布式数据处理模型和执行环境,运用于大规模的通用计算机集群。
HDFS:Hadoop的分布式文件系统,运用于大规模的通用计算机集群。
HBase:分布式按列存储的数据,使用HDFS作为底层存储,同时支持MapReduce的批量式计算和点查询。
Hive:分布式、按列存储的数据仓库。
数据模型
最底层的两个抽象实体,分别是HDFS和MapReduce。
单元测试
MRUnit是针对MapReduce的单元测试框架;针对不同的测试对象,MRUnit使用以下几种Driver:
MapDriver 测试单独的Map
ReduceDriver 测试单独的Reduce
MapReduce Driver 将Map与Reduce结合起来测试
从Apache下载MRUnit最新版的jar包,并将jar包添加到hadoop的IDE Classpath 路径中。
测试代码:
public class SMSCDRMapperReducerTest{
MapDriver<LongWritable,Text,Text,IntWritable>mapDriver;
ReduceDriver<Text,IntWritable,Text