无论它是一个数据仓库(DWH)还是一个大数据存储系统,我们测试员关注的基本要素便是这‘数据’。在基础水平上,数据验证是为了在这两种存储系统中针对源系统涉及的数据验证明确业务规则。这是个很容易思考的事,如果我们认识到如何测试一个DWH,我们知道如何测试大数据存储系统。但遗憾的是,事实并非如此!在博客中,我将会阐述一些区别在这些存储系统和提出一个学习大数据测试的途径。
让我们从下面的3 个观点展示中查看这些区别:
● 数据
● 基础设施
● 验证工具
数据
在DWH 的数据与大数据存储系统的区别是数据的4个基本特性,是数据量、数据种类、数据速率和数据值。
现在能够存储在DWH系统中典型的数据是依据G,而大数据存储系统能够存储&处理数据大小超过PB。
当达到一定数据种类时,在大数据存储系统中能够被存储和处理的数据类型并没有限制。Web日志,无线射频识别,传感器网络,社交网络,互联网文本和文件,互联网搜索引擎,呼叫详细记录,天文学,大气科学,生物学,基因学,生化学,医学的记录,科学研究,军事监视,摄影档案,视频档案,和大规模的电子商务的任何数据,在大存储系统中,无论它是在可容许的运行时间内被存储和有效处理的结构化的或者未结构化的忽略的数据。另一方面,DWH能够存储和处理的仅仅是结构化的数据。
虽然存储在DWH中的数据是通过‘批处理’,大量的数据实现也支持流数据。
因为它的捕获,管理和处理数据集大小的能力是超过DWH的能力,能够派生出大数据实现的数据值/商业价值的信息是成倍大于DWH系统。
这对测试人员意味着什么呢?
一个DWH测试仪拥有与‘结构化’数据兼容的这种优势。(倾向于静态模式数据)。但大数据的测试仪可能需要与‘非结构化或者半导体结构化’数据(倾向于动态模式数据)绝大部分时间兼容。测试人员需要从商业/开发团队那里寻找一些附加输入关于‘如何从已知的数据派生出结构化动态数据’。
在DWH中,当它谈论到实际验证的数据时,测试方法是良好定义的和经过时间考验的。
测试人员可选择使用手动抽样策略或从自动化测试工具里详细的验证策略,像Infosys Perfaware(专业的DWH测试解决方案)。但是考虑到为了验证庞大的数据集,甚至抽样测试在大数据验证的情况下是有挑战的。第三产业和自动化解决方案两者正处于孵化期,测试大数据好的方法是能够下定决心来只有通过专注研发。这为测试人员提供非常多的机遇来创新、并且加倍努力来构建能够提供测试优势的工具,同样的来提高测试效率。
基础设施
DWH系统是基于RDBMS而大数据存储系统是基于文件系统。当DWH系统在线性数据增长方面受到限制时,那些基于Apache安装的大数据实现是不会受到限制,它们能够在多个集群方面存储数据。这个存储是由HDFS(安装分布式文件系统)来提供的,一个可靠的共享存储系统能够运用分析应用MapReduce技术。
这对测试人员意味着什么呢?
作为HDFS 给客户产生力量来存储大量的数据类型,运行整个数据集的询问和在合理的诗句内返回结果时,它们在自己派生出的大量数据信息方面不再受到限制。应用复杂的转换和业务规则将会是很容易的。这种力量将会通向一种数据探索的新方法。对于一个测试员,这意味着,指数增长大量的需求来进行测试。如果测试程序在可重用和测试集优化方面没有加强,测试包将会巨大的增大,并且导致维修的灾难。
RDBMS 基于数据库(Oracle, SQL数据库等)安装在普通的文件系统中。所以,测试DWH系统没有专门的测试环境,因为它能从DWH 被安装在的文件系统中来操作。当它在HDFS中达到大量数据时,测试员需要一个测试环境基于自己的HDFS。测试员需要学习如何兼容HDFS而这不用于普通的文件系统。
验证工具
对于DWH 系统测试的确认工具是基于SQL(结构化查询语言)。为了比较不同的目的,这DWH 测试仪运用不是参照宏命令基准线是基于自动化工具的成熟UI。对于大数据,并没有定义工具。目前在安装电子系统的可用工具范围从纯程序设计工具像MapReduce(提供JAVA、Pesl、Ruby、Python等代码)到构建包装在MapReduc上像HIVE QL或PIGlatin。
这对测试人员意味着什么呢?
HIVE QL和SQL并不一样,如果他在SQL 方面有基本技能,尽管它是很容易学习的。HIVE QL为了确认目的也是在孕育期和尚未形成整个结构来从分布式文件系统存取数据。HIVE QL 仅仅适合做平面数据结构而并不能处理复杂的嵌入式的数据结构。为了处理这些,测试人员能够运用PIGLatin,它是一个语句基础而并不需要复杂的编码,但是,为了编写MapReduce 程序的需要,自从HIVE 和PIGLatin 两个同时演变,使的专业综合测试并没有取消。这种形势对于测试人员是巨大的惊人的挑战。要么他们努力达到给他们的配置文件增加脚本编写的技能,要么等待他们内部的解决方案,要么外置的供应商来供应强大的自动化工具,用外缘资源在HDFS 提供简单的接口来查询和比照数据。
总结
经验至少在WDH 中,只能够缩短大数量测试人员在概念层从源系统到HDFS 理解提取、加载转换数据方面学习曲线。它也并没有提供其它别的用处。
大数据测试人员必须从抓痕学习大数据电子系统组件。直到这时,市场演变和完全的自动化测试工具为了大数据的验证是有效的,测试人员没有任何选择而是如大数据开发人员一样,在借助大数据技术像Hadoop 获得同种技能组合。这对于测试人员来说需要一个惊人的思维转变,和在组织内自测试部件一样好。
为了竞争,在短期来看,这个组织应该投资于测试团队的大数据具体的培训需求,而在长期来看,应该投资于发展自动化解决方案来验证大数据。