大数据背景下软件测试方式研究

2018-10-21 15:32赵柳柳
科技信息·中旬刊 2018年7期
关键词:软件测试大数据

赵柳柳

摘要:现如今,我国的科技在快速的发展,社会在不断的进步,随着我国互联网、大数据等各种新兴科技的不断兴起,软件测试领域受到了重大的冲击,如何在现阶段大数据背景下面对软件测试中所出现的问题,应对时代赋予软件测试的挑战,促进软件测试更好更快地发展成为了我们应该重视的事情。文章对大数据背景下软件测试发展所遇到的困难以及挑战进行简单分析,并且根据分析结果对软件测试的未来发展提出期望,希望能够对我国软件测试的发展起到作用。

关键词:大数据;软件测试;困难挑战;发展期望

引言

大数据处理是指不能通过传统计算技术处理的海量数据集合的数据创建、存储、检索和分析等操作,具有大批量、多样性、复杂性、实时性、交互性等特性。在大数据背景下,随着互联网、政府、企业、个人用户需求量的增加,基于大数据技术的应用系统越来越多,对软件测试工作提出了很大的挑战。只有转变传统的测试思维,合理利用多种技术和框架、各种自动化工具的融合,并不断开拓创新测试方法和技术,优化改进测试策略和流程,才能够获得更好的发展。

1大数据背景概述

随着我国科学技术的不断发展,计算机技术不断更新与发展,使全国进入了大数据的时代。大数据的特征不仅仅只有对规模庞大的数据的处理能力,同时能够对相关行业大规模专业化数据进行处理。大数据主要是需要将众多的、多样化以及增长率较高的数据信息作为主要资产,对这些大量的数据进行优化以及处理。因此,在对大数据进行使用时,应该充分对大数据所提供的数据信息进行挖掘,对其结构化与非结构化的数据结合进行更加细致的集合,以便能够在实际需要中提供具有相应价值的数据。同时,在目前大数据的背景下,大数据本身具有多个特点:(1)大数据的数据量非常庞大,就现阶段我国大数据发展形势看来,随着大数据的不断发展,今后会发现大数据的衡量体量单位正在逐渐发生变化。(2)大数据的类型较多,种类繁多,其中互联网、传感网以及物联网都属于大数据的范畴,使现阶段的数据类型变得越来越复杂,不仅包含着传统的相关数据类型,同使还包括了网页、图片、音频、视频等半结构化的数据存在。(3)大数据的价值密度偏低,由于大数据的快速发展,大数据方面存在着许多与需求无关的信息,需要对信息进行过滤与整理,才能更好地发挥出大数据的作用。(4)大数据对于信息处理这一方面的速度非常迅速,和从前传统的数据挖掘技术之间存在着本质的不同,能够有更加明显的效果。相比于传统的数据处理方式,现阶段对于数据的处理方式有很大的不同,所以软件测试的形式、重点以及方法也在不断地变化与发展。

2解决大数据软件测试问题的一些措施

2.1加强Map-Reduce阶段验证

Map-Reduce对来自不同数据源的数据进行处理过程中可能会出现编码问题,如在单一节点上运行正确,在多个节点上运行不正确的问题,包括不正确的聚合、节点配置、输出格式等。可采用以下方式进行验证:a.验证梳理数据处理过程是否完成并输出文件;b.在单个节点上验证大数据的业务逻辑后,在多节点上进行相同验证;c.验证Map-Reduce处理过程的Key/Value对是否正确生产;d.在reduce过程结束后验证数据的聚集合并是否正确;e.通过源文件验证输出数据来保证数据处理正确完成;f.验证输出数据文件格式是否符合大数据业务要求。

2.2完善测试用例的设计

测试是为了保证数据的正确性、业务逻辑的正确性。首先,需要进行需求的调研,必须要清楚整个业务处理流程,每个数据的流转,每个步骤的输入和输出,才能判断最后的输出结果是否正确。然后,结合不同业务场景设计测试用例,不仅限于数据的边界要求、属性要求等,更多需要考虑数据的样本及大小,样本集的分布特征。需要考虑:数据量;数据唯一性;数据完整性;数据一致性;数据边界;数据精度和格式化;数据区间和分布;数据空值替换及格式化特征等,可结合自动化测试工具或手工编写测试脚本等方式,导入测试数据,提高测试数据覆盖率和测试效率。

2.3合理利用测试工具

目前业界暂无通用、标准的大数据性能测试工具,要自行开发或整合多种相关测试工具才可能实现性能测试及问题诊断。首先搭建测试环境,需要考虑:是否有足够的存储设备来存储和处理大数据;有足够的CPU、内存资源保障高性能处理;有集群处理分布式节点和数据等。接着准备测试数据、设计测试场景、编写测试脚本,需要考虑:各业务的占比;各节点测试数据量的准备;并发线程/用户量的需求;超时时间/参数/消息队列长度设置;选用测试工具或测试脚本开发等。最后执行性能测试,可通过Hadoop性能监控器来监测平均响应时间、吞吐量、资源占用率等运行状态性能指标和瓶颈问题。

3大数据背景下软件测试的展望

3.1对Oracle的内存区进行充分调整以及优化

对于Oracle数据库的内存区我们可以简单分为两个部分,即系统全局区(SystemGlobalArea,SGA)和PGA两部分。其中,SGA主要是作为Oracle数据库当中的数据缓冲区域,资源共享池以及相关数据日志的缓冲区域,这些区域的分配能否合理直接关系到了数据库系统性能的优劣程度,对数据库系统性能起到了非常重要的作用。其中,数据库的缓冲区域起到了能够有效地对所搜索到的相关数据进行储存的作用,也就是说是用来对相关数据进行储存的区域。

3.2对数据库当中的碎片进行整理

由于在实际操作过程当中,数据库不断进行运作,相关数据的操作也在不断地变化,所以导致了数据库当中磁盘碎片的产生。我们可以将磁盘碎片主要分为3个级别来进行分析,即表空间级、索引级以及表级3个方面。其中,表空间级的主要作用是应用表空间重组以及对相关命令的运行对数据库当中的数据进行导出操作,再通过TRUNCATE将表空间内的数据进行删除,最后通过IMPORT程序的导入方式来对相关的有效数据进行导入,应用这种方法来对表空间级所产生的磁盘碎片进行清理。索引级主要是将表空间级上面的相关索引数量进行充分减少,或者是变换相对来说频率较低的列来对索引进行创建,通過对索引进行重建等一系列的方式,来有效对索引当中产生的磁盘碎片进行清理。

3.3提高数据测试技术及测试数据的准确性

因为对数据存储的模糊认识以及发送无用的重复请求导致错误信息出现,进而容易造成因为数据信息的准确性降低而导致的软件测试效果变差的问题发生。因此,在应用数据库之前,我们应该对数据库所应用的软件进行多次测试,以确保软件测试的有效性与信息的可靠性,将错误数据所产生的影响降到最低,有效提高数据信息的准确性。同时,我们应该对现阶段软件测试技术进行不断的创新与发展,传统的测试人员所应用的软件测试技术主要是应用单一的软件测试技术对软件性能进行测试,这样的测试方法所测试出来的结果具有一定的局限性。

结语

综上所述,当前的时代属于大数据时代,软件测试面临着很多的挑战,为了更好应对大数据环境下对软件测试带来的问题,提出了一些解决措施,并对未来的软件测试发展提出展望,需要从以下几方面改善:(1)测试技术需朝着多元化方向发展,多元化的测试技术能够有效避免“杀虫剂效应”,在已知测试技术基础上,探索出全新的测试技术。(2)大数据的智能化处理,需更多去考虑输入数据样本的大小、特性、输出评判方法等。(3)构建自动化云测试环境,更好的满足大户数据背景下性能测试需求,强化客户端的处理能力,提升与服务端需求之间的匹配度,进而探索、创新更多的测试方法。(4)采用大数据的思维方式,通过全面的测试来提高大数据应用软件的质量、容错性、可扩展性、稳定性、安全性。

参考文献:

[1]王象刚.软件测试过程管理工具的设计与实现[J].软件,2014,35(2):96-97.

[2]宋亚奇.云平台下电力设备监测大数据存储优化与并行处理技术研究[D].华北电力大学(北京),2016,33(08):192-194.

猜你喜欢
软件测试大数据
软件测试方向人才培养“1+X”融合研究
大数据背景下软件测试技术的发展
关于 Web 应用系统的软件测试的研究
大数据环境下基于移动客户端的传统媒体转型思路
基于大数据背景下的智慧城市建设研究
数据+舆情:南方报业创新转型提高服务能力的探索
军用软件测试项目管理系统设计与实现
软件测试发展现状及前景的探讨