大数据背景下软件测试的挑战及其展望探析

2016-05-14 07:11张振华
电子技术与软件工程 2016年6期
关键词:软件测试展望挑战

张振华

摘 要时代的发展,科技的进步,移动互联网、物联网以及云计算等都获得了前所未有的发展机遇。大数据浪潮引发了最新一轮的技术发展革新,因此人们对于技术创新的需求不断上涨,直接给软件测试的发展带来全新的挑战。文章深入分析了当前大数据发展背景下软件测试工作开展时所面临的挑战和困难,这其中就具体包含了数据处理框架、ORACLE问题以及测试平台所具备的性能等等。针对软件杀虫剂效应进行初步的探讨,由此推出软件测试的发展及其展望。

【关键词】大数据 软件测试 挑战 展望

大数据时代的意义并不是表现为对庞大数据信息的掌握,而是表现在其能够对相关数据实施专业化的处理。大数据本身具有多个层面的特点,一是其数据体量非常巨大,二是其数据的类型较为繁多,三是其价值密度明显偏低,存在过多不相干的信息,需要实施深度挖掘。四是信息的处理速度非常快,具有立竿见影的效果和以往所采用的传统数据挖掘技术存在本质的区别。在这种背景下,多数软件的形态也随之发生改变,实施软件测试的重点及方式等也处于不断发展的状态当中。

1 大数据背景下ORACLE问题不断突出

软件测试地目的是为了能够发现和找出软件错误运行的情况,专门判断测试过程是否通过的可验证即被称为ORACLE,在如今的大数据背景下,不管是趋势分析还是相应的图论计算等,都开始变得越来越困难。大数据的处理模式,主要包括了物理作用下的数据处理和化学作用下的数据处理两种类型模式[1]。其中,物理作用下的数据处理,主要是在保证其价值的情况下,不断的缩小其数据的规模,然后由此清洗不变的数据基本属性。这其中就包含了针对数据处理的多种方式,能够有效的实现将大数据花销,的物理式变化。因此,物理作用下的数据处理测试ORACLE本身并没有问题。

而基于化学作用下的数据处理,则具备最主要的预测和快速算法的问题,这两个问题都非常经典,直接促使ORACLE的确定变得异常的困难。比如在计算个性化推荐统计学信息当中,经过个性化推荐的商品,更容易获得用户们的喜爱,当然也存在一半不喜欢的概率。而经过计算的结果也只是表明此类商品被喜欢的概率相对较高。概率性问题直接导致结果的正确性和确定性产生本质的区别,直接致使ORACLE确定的难度。

2 传统测试平台难以符合大数据处理的要求

以往所采用的软件性能测试,主要是借助控制器协调本地直接向服务器端发出服务的请求,由此实现对服务器压力的测试,其测试负载产生器都属于局部的物理主机。相对少量的服务器构成应用系统来说,用户数在数百上千量级的应用服务,才能有效满足应用的需求。

如今,云计算的发展,用户的需求也在不断的增长,其多个系统所需支持的并发用户也在不断的增加,相应的访问量也在由此攀升。这就需要针对服务端系统是否能够真正承受如此巨大的用户访问量进行有效的测试,可直接在系统上线之前就展开较为充分的测试内容。以往局域网主机测试方法所产生压力,很难真正满足服务器对其所产生的压力测试需求。由此软件测试工作中开始出现一系列的问题。一是负载产生器的物理机数量很难获得动态的扩展;二是大数据所驱动的云计算系统,直接采用了广泛的分布客户端。三是在网络海量数据的推动下,控制器所监控的负载产生器状态直接成为性能测试的瓶颈,很容易由此引发测试失败。四是控制器对负载产生器的同步问题变得越来越复杂,直接影响到负载测试的效果。

3 软件服务化所引发的测试挑战

具体从开发的模式而言,软件开发的过程,主要包含了完全编码、构件化、服务以及云计算等多个阶段。

3.1 完全编码阶段

主要是相应开发人员直接从零基础开始对每行代码的编写过程,除了系统本身所提供的类库之外,通常所有的代码都是直接由相应开发人员所掌握。在此阶段当中,用户们普遍具有良好的可测性,几乎所有的测试和调试方式都可以实现。

3.2 构件化阶段

该阶段直接是为了提升软件开发的效率,要求相应开发组织必须在系统类库的基础上,结合业务自身的特点来构建出可复用的业务组件。而通常该组件都是在本地运行,因此其业务系统的耦合度明显偏高,用户们对于组件的掌控也明显较大。

3.3 服务阶段

在此阶段当中,多数本地组件所提供的调用可转变成为远程服务形式。用户们可对外部的服务控制处于逐渐减少的状态,只能透过服务的输入和输出来实现对服务情况的良好把握。

3.4 云计算阶段

这一阶段主要是特别架构和PASS之上的应用程序,在处理输入和输出的同时,多数用户并不具备了解PASS服务运行情况的能力,因而导致用户测试的难度再次增加。

4 杀虫剂效应

在软件测试领域当中,杀虫剂效应是指相应的测试软件越来越多,其免疫能力变得越来越强的现象。这种现象就如同采用农药杀虫是一样的效果,如果持续采用一种单纯的农药,则害虫将最终在体内产生一定的抗体,在此情形下,农药将无法发挥出应有的杀虫效力。而在多种构件化开发当中也是如此,通常在中前期发现多种缺陷的模式,其都可直接通过校验和验证的方式集成在构件当中,乃至直接成为构件的必然属性。此类构件并不需要开发人员进行单独的代码编写,其直接对测试的方式产生了天然性的免疫能力。

杀虫剂效应将有效的促使软件的测试技术获得飞跃式的更新升级,可迅速的找出存在软件当中的缺陷问题。一般在进行测试的初期阶段,只需通过较少的测试即可直接发现其中所存在的更多缺陷,而在后期的测试当中,则很容易发现其所存在的缺陷数量,将渐渐趋于平缓,甚至最终在某个周期停止增长。

5 结语

综上所述,针对大数据背景下的软件测试挑战及问题,需要尽可能的避免出现杀虫效应,具体要求测试技术应当由单一的技术类型直接向着多元化测试技术的方向转变。然后需要解决智能数据处理所带来的ORACLE的问题。最后,需要构建出面向云环境的自动化环境,尤其是客户端环境必须咬合服务端的需求进行良好的匹配。

参考文献

[1]蔡立志.大数据来临,软件测试准备好了吗[J].软件产业与工程,2013,05:15-17.

[2]姜春宇,孟苗苗.大数据基准测试流程与测试工具[J].信息通信技术,2014,06:43-46+51.

作者单位

同济大学 上海市 200092

猜你喜欢
软件测试展望挑战
基于OBE的软件测试课程教学改革探索
EXCEL和VBA实现软件测试记录管理
关于软件测试技术应用与发展趋势研究
国内外森林生物量碳储量估测现状存在问题及展望
国内延续性护理现状及展望
软件测试工程化模型及应用研究
第52Q 迈向新挑战
“展望” ——阿伦德