当前位置:首页 期刊杂志

大数据背景下软件测试技术面临的挑战及发展方向

时间:2024-05-04

文/秦怡

大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化力的海量信息,在运行方面具有数据量庞大、数据种类繁多、数据价值量密度较低以及数据运行和处理的速度十分快等基础特征。目前,大数据已经应用在各行业领域,由此设计的硬件产品种类也越来越繁多,随着科学技术以及大数据的不断发展,应用范围的拓宽形成的软件系统的发展规模也在不断扩大。不仅具有高度的复杂性特征,还囊括了较广范围的数据集合,在这样的大数据应用环境下,软件系统的平稳运行需要以软件测试技术作为支撑,因此,形成了具有独特优势特征的软件检测技术来保证软件系统的高质量运行。

1 大数据背景下软件测试技术面临的挑战

1.1 服务化软件激增导致测试困难

从软件的发展历程来看,软件的开发历经了完全编码阶段、构建化阶段、服务阶段以及大数据云计算阶段等四个阶段。其中,服务化程度的软件随着用户需求的持续化拓展过程,导致软件在测试过程中的难度加大。

(1)完全编码阶段,这是软件设计和开发的初级阶段,该阶段运行过程中的基础特征是从代码编写的初级阶段,为系统提供良好的数据库程序,并由开发人员掌握形成良好的可测试性。能够在这一阶段实现对软件的基础监测功能。

(2)构建化阶段,该阶段的运行是在开发组织系统的数据类库基础上,通过自身的业务特点形成具有一系列可复用价值的业务组件,但这些组件基本都是在本地运行,系统耦合度也比较高,测试人员也可以很容易的掌握这些组件,但只能对其运行结构进行跟踪测试,不能对其内核进行长期的测试和有效的跟踪。

(3)服务阶段。该阶段的运行过程需要将调用形成的本地组件间接转换为远程服务,并结合外部服务的掌握情况来运行,但该阶段缺乏对服务情况的整体认识和全面把握,仅仅能通过服务的输入和输出来掌握服务的情况,测试工作相对来说困难一些,变得更为复杂和不透明。

(4)大数据云计算阶段,数据规模庞大,因此,从系统的数据库中进行价值信息的有效筛选显得至关重要,传统的软件系统在运行过程中无法实现对数据的提取、分析以及整理和共享过程。

软件开发需要架构在PASS上,而测试人员对PASS服务内部结构很难深入了解,很大程度上加大了软件测试的困难程度,从而使得测试更加复杂。

1.2 传统软件测试平台无法适应大数据处理的需求

对于传统的测试,是通过控制器的使用对本地的服务器进行多方面的协调,进而将协调形成的服务请求发送至服务器终端进行测试的。这种传统的测试方法比较适用于服务器及系统构成较少的传统计算机软件系统,但在现阶段的大数据背景下,大数据应用的发展规模和使用数量在急剧增加,由此形成的多种多样的计算机服务器也在迅速增长,软件系统的设计直接影响了服务器运行的安全稳定和发展方向。传统软件测试技术在使用过程中无法满足随之上涨的用户访问量,到导致压力测试存在一定的风险。云架构用来缓解这种风险具有一定的可操作性,但在长久的服务器应用和发展过程中会给软件测试带来严重的困难。

1.3 杀虫剂效应凸显

Boris Beizer在1990年提出了软件测试的杀虫剂效应。该效应是基础病毒传播理论形成的,即软件测试的种类及数量越多,该软件在运行过程中对病毒的免疫能力越强,就像传统的农药杀虫剂一样,长期的利用一种农药进行杀虫,长期下来,该地区的害虫会在体内形成抗药性,导致杀虫剂作用效果逐渐降低。在软件开发和发展的过程中,通过在前期和中期阶段对这种软件缺陷进行有效的验证和排查,能够充分形成软件内部的属性组成,进而提高这些构件对系统病毒的免疫力,提升软件运行的安全稳定效能。因此,这一杀虫剂效应的生成能够有效推动软件测试技术不断向前发展,进而形成具有良好抵抗能力和发展性能的全面综合的系统化处理技术。杀虫剂效应的出现能够提升和完善目前的软件测试技术,形成具有完善和较高抵抗能力的软件系统。

2 大数据背景下软件测试技术的发展方向分析

通过以上分析,可以看出软件测试现在面临的一系列挑战,如何针对这些问题提出切实可行的解决方案,让软件测试更好的为软件系统提供服务,已经是迫在眉睫的事情了。

2.1 发展多元化的软件测试技术

传统的软件测试过程中,常用的测试方法有如下几类:

(1)静态与动态测试。无需运行软件的测试方法是静态测试,主要检查部分代码以及文档;需要运行软件的测试方法为动态测试,通过实际的输出结果和预期结果的对比来判定程序的正确性。

(2)白盒与黑盒测试。白盒测试又称为结构测试,依据程序内部逻辑结构来对程序进行测试;黑盒测试又称为功能测试,无需考虑代码,只需注重输入数据和输出数据。

(3)单元测试、集成测试、系统测试和验收测试。根据测试的不同阶段,由不同的测试人员负责执行不同的测试用例,将软件从最初的一个模块一步步地集成为最终的软件系统,并通过最终的用户测试。

在大数据背景下,单一的测试方法不能完全满足测试要求,难以把控或检测出软件的缺陷。因此,多元化的软件测试技术的发展和应用是必须的。从三个方面来改进软件测试技术,一是对传统测试方法进行改造,二是在测试过程中根据软件系统实际需要,综合使用多种测试方法;三是利用新的软件开发技术来创新软件测试方法。只有这样,面对日益复杂的软件环境,测试技术才能及时跟上,才能让最终的软件产品质量得以保证。

2.2 运用智能化手段构建面向云计算的自动化测试环境

随着信息时代的飞速来临,以大数据为基础的云计算和人工智能等信息化技术的发展十分迅速,与此同时形成的多种软件操作系统也为软件测试技术的发展带来了全新的发展机遇。软件化测试过程中的智能技术主要体现在两个方面,首先,对数据的合法性监测及规范性要求;其次,对数据输出样本的持续性分布检测,以及对设计方案的评判标准进行评定。大数据的发展形势能够游戏哦啊解决不同输入输出流量之间的差异问题,从而实现数据间转换操作的规范性,推动软件测试技术不断向前发展。

智能构建的云平台技术能够为软件测试提供完整和安全的测试环境、工具以及程序流程,不仅能够充分节约时间,还能够引导测试人员将业务重点集中到软件测试的程序设计和实践上来,从而形成良好的拓展伸缩环境,减少测试出现的风险几率和时间。如阿里巴巴的云上企业级一站式智能研发协同平台和华为的Cloud IDE,都集成了软件测试的功能和模块。同时,这些平台运行过程中的一些质量和安全问题也需要通过软件测试技术来不断完善和发展,因此,目前的软件测试技术主要是集中在性能分析、异常反应处理以及紧急容灾处理等相关的安全性能方面。

2.3 保障和提升软件测试数据的有效性和准确性

在软件测试过程中,往往存在一些无效数据或者无意义的数据,这些数据形成的无效测试用例会直接或者间接的影响测试效果,甚至可能会对所测的软件系统有潜在的破坏作用。因此,要全面提高测试数据的有效性和准确性,以此来确保软件测试过程的质量,尽量避免或者降低由于数据问题而导致的测试效果不尽如人意的现象。

除此之外,提升软件测试数据的有效性和准确性还需要软件测试人员进一步强化对软件业务领域知识的学习。只有深入理解了业务渠道和业务流程,掌握了业务知识,才能模拟设计出真实而有效的测试用例和测试数据,在源头上杜绝问题数据的发生,保持测试数据的有效性和准确性,让测试效果达到最好的目标。

3 结语

大数据的发展趋势下,层出不穷的各种各样的新技术,为软件测试技术带来了一定的挑战,但同时,也推进了软件测试技术的不断优化和提升。针对软件测试技术在应用中遇到的一些问题,通过发展多元化的软件测试技术、运用智能化手段构建面向云计算的自动化测试环境以及提升软件测试数据的有效性和准确性,使得软件测试技术在软件行业中继续维持重要的地位,进而推动计算机软件行业的持续发展。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!