大数据功能性测试与非功能性测试分析

2017-04-13 14:31高加琼
四川职业技术学院学报 2017年4期
关键词:功能测试功能性节点

高加琼

(四川职业技术学院计算机科学系,四川 遂宁 629000)

大数据功能性测试与非功能性测试分析

高加琼

(四川职业技术学院计算机科学系,四川 遂宁 629000)

大数据测试技术中不是测试软件产品的个别功能,而是验证其数据处理的性能与功能测试.同时大数据测试的数据质量也是一个重要方面,在测试之前就需要做好对数据的质量检查,本文将对大数据测试包括功能性测试与非功能性测试分析探讨.

大数据测试;功能性测试;非功能性测试

随着物联网、云计算和移动互联网等技术的快速发展,数据发生了“大爆炸”,规模呈现出几何级的上升,其计算的基本单位已经用Z B为单位.大数据表现出的特性具有 Volume(海量)、(Value)(价值密度低)、Velocity(高速)与 Variety(多样)这几个方面特征.大数据作为一个大的数据集合,利用传统的计算技术是不能提取、存储、搜索、共享、分析以及处理的大量的、多样的、复杂的数据集合.对于这些大的数据集测试就需要使用一些工具、技术与框架来做处理.大数据测试技术中不是测试软件产品的个别功能,而是验证其数据处理的性能与功能测试.同时大数据测试的数据质量也是一个重要方面,在测试之前就需要做好对数据的质量检查,检查不同字段的重复性,准确性,一致性,有效性和数据完整性等方面的检查.

大数据测试包括功能性测试与非功能性测试,大数据功能测试最终目的就是实现识别由编码错误或节点配置错误造成的数据问题.非功能性测试就是针对在具体行业的应用所进行的非功能性测试.在对这两种功能测试前,我们需要对大数据测试流程进行介绍.

1 .大数据测流程分析

1.1 大数据的采集

大数据测试流程首先是采集,大数据的采集是最基本的任务.用多个数据库来接收来自客户端的数据,包括Web客户端、App客户端、传感器等客户端的数据,而且用户可以通过大数据里的这些数据库对各类数据信息做简单的查询、处理等工作.

1.2 大数据的导入和预处理

大数据处理过程在采集端时虽然拥有了非常多数据库,但是面对海量的数据进行科学有效的分析是不够的,还需要把这些数据导入到一个大型的分布式数据库,并在对数据导入之后做一些简单的清洗、预处理工作.S q o o p与F l u m e等软件可优化这些数据的互操作性,Sqoop软件的功能就是从关系数据库导入数据到Hadoop,而且还能直接导入到HFDS或者Hive软件里.Flume设计的目的是直接将日志数据或流数据导入到HDFS里.在导入与预处理的过程中其最大的特点就是导入的数据量非常大,每秒会达到百兆甚至千兆级别.

1.3 大数据的统计分析

大数据的统计分析就是对导入到一个大型的分布式数据库里的数据用分布式技术来对这些的数据分析、汇总等工作.

1.4 大数据的挖掘

与前面的统计和分析不同的是大数据挖掘一般不会预先设定好主题,数据的挖掘就是对现有数据进行计算分析,通常采用的工具是K-means(聚类)、SVM(统计学习)和naive Bayes(分类)等这些工具.

1.5 大数据的分析

当Map Reduce过程结束后,就会把产生的数据输出文件按需移到数据仓库或其他的事务型系统.对获得的大数据分析,或者采用B I工具产生报表,最终实现让使用者通过大数据的反映情况作出正确有利的决策.

2 .大数据的测试方法

2.1 大数据功能性测试

大数据功能性测试其关键是针对大数据研究大数据分析应用的POSI XAPI,其功能主要是文件读取、访问控制、元数据操作和锁操作等方面.大数据功能性测试分成以下几个步骤:

a)数据导入/预处理阶段验证.来自不同方面的数据资源应该被验证,包括网络日志、物联网、社会网络、互联网文本和文件等数据资源,确保正确的数据被加载进系统,保证获取数据的准确性,也就是说被按需加载到HDFS中待处理,并且被分割,复制到各种的数据节点里.在这个阶段可以使用Talend或Datameer工具进行数据阶段验证.

b)Map Reduce数据输出验证.该阶段是对加载进HDFS后的各类数据,使用一种编程模型(Map Reduce)对来自不同数据源的数据做处理工作,测试者在每个节点上进行业务逻辑验证,验证中会出现在单一节点上运行是正确,但是在多个节点上运行又是错误的,出现不正确的聚合,节点配置,输出格式等问题现象.针对这个问题,要验证运行多个节点后的操作的正确性,可以采取在单个节点上对大数据的业务逻辑进行验证,然后在多节点上做相同验证,也可以在执行Map与Reduce进程后验证数据,还可以使用源文件验证输出数据情况,以确保数据处理无误.

c)三是大数据E T L到数据仓库验证.对生成输出数据文件被按需移到数据仓库或者是其它的事务型系统里可能会形成一个错误的应用转换规则,从而使得提取的数据不完全. 采取的解决办法:可以.验证转换(Transformation)规则有没有被正确应用,也可以比较把目标数据与HDFS文件系统数据来验证数据有没有坏掉.

2.2 非功能性测试

由于不同的行业对大数据的应用不同,除了功能性测试外,还需要进行非功能性测试,比如性能测试,稳定性测试等.

a)性能测试.大数据测试中性能主要包括吞吐量,任务完成时间,内存利用率等各种指标,这些指标可以对大数据分析平台的处理能力、数据资源使用能力的全面反映.在计算机软件的发展过程中,人们通常采用hadoop性能监控器来监测运行状态性能指标与瓶颈问题,性能测试作为一个自动化化方式进行,测试系统是在不同负载状况下的性能.

b)稳定性测试.稳定性测试是大数据分析系统要长时间运转所必须硬性的要求,要保证系统有没有正常运行,功能还保持正常与否.而在稳定性测试中所使用的软件工具是LTP,10ZONE,POSTMARK,FIO等类型软件.

c)扩展性测试.大数据时代的文件系统对弹性扩展能力的要求也很重要,包括测试系统的弹性扩展能力和扩展系统带来的性能影响,从而验证是不是具有线性扩展能力.

d)可用性测试.大数据分析的主要特性之一就是高可用性,这样才可以保证数据应用业务的连续性.所以需要严格进行测试和验证.

除了上述测试以外,非功能性测试还包括容错性测试、压力测试、数据一致性测试、部署方式测试等.

3 .结语

由于大数据分析系统具有高效能、高扩展、高性能、高可用、易管理和易使用的特点,它的架构测试的复杂性使得其系统测试也变得非常复杂.在研究过程中,究竟采用功能性测试还是非功能性测试,要根据其不同的行业、应用场景以及采集的数据来选用.因为大数据功能测试最终目的就是实现识别由编码错误或节点配置错误造成的数据问题.非功能性测试就是针对在具体行业的应用所进行的非功能性测试.

[1]李鹏飞,卢瑾,辛一.基于专利的大数据技术发展情报分析及战略研究[J].情报杂志,2014,(09).

[2]代亮,陈婷,许宏科,等.大数据测试技术研究[J].计算机应用研究,2014,(06).

[3]詹剑锋,高婉铃,王磊,等.Big Data Bench:开源的大数据系统评测基准[J].计算机学报,2016,(01).

责任编辑:张隆辉

T P 311.1

A

1672-2094(2017)04-0160-02

2017-03-28

四川省教育厅自然科学重点项目“网络大数据测试基准研究”(编号15 Z A 0349)

高加琼,(1974-),女,四川天全人,四川职业技术学院副教授,硕士.研究方向:计算机应用.

猜你喜欢
功能测试功能性节点
基于十二指肠异常探讨功能性消化不良的中医研究进展
CM节点控制在船舶上的应用
某内花键等速传动轴八功能测试夹具设计
Analysis of the characteristics of electronic equipment usage distance for common users
基于AutoCAD的门窗节点图快速构建
一种功能性散热板的产品开发及注射模设计
不同功能性聚合物在洗涤剂中的应用
抓住人才培养的关键节点
防治功能性消化不良药膳两款