摘要:为提高软件测试规范性,避免节点崩溃,文章提出了一种基于云平台的网络应用软件鲁棒性测试方法。文章先完成U/I接口层、测试处理层、数据传输层设计,构建测试环境;然后模拟网络应用软件鲁棒性测试的负载接入,通过组合独立业务逻辑模块,形成完整的业务逻辑,实现鲁棒性测试结果集成;最后应用实验证明所提方法的先进性。实验结果表明,该方法综合性能良好,能提升节点接入数据量,可有效避免节点崩溃问题,应用效果较好。
关键词:云平台;负载环境;鲁棒性;网络应用软件
中图分类号:TP309 文献标志码:A
0 引言
目前,云平台已经成为现代计算和网络服务的重要组成部分,通过提供可扩展的网络资源,可极大地推动企业信息化、大数据、人工智能等领域的发展。随着网络技术的不断发展,很多软件变得复杂,须要处理大量的数据、支持多用户并发访问、应对各种网络环境变化等。尽管云平台提供了丰富的资源和服务,但基于云平台的网络应用软件仍然面临着诸多挑战。近年来,众多学者针对此开展研究,已经取得了一定研究成果。如王丹等[1]通过模拟颜色特征变化评估软件分类能力,利用蜕变测试克服图像分类软件测试难题,但该方法忽略了其他特征影响,导致应用效果不够理想。再如杨亚萍[2]运用自然语言处理技术自动化分析处理软件文档,提高测试效率与准确性。该方法应用时的准确性受限于算法和训练数据,应用效果较差。顾滨兵等[3]通过信息表征模型化和缺陷数据知识化实现软件测试精准化,但复杂系统下典型缺陷模式提取与应用须进一步研究,应用效果并不理想。为此,本文引进云平台,设计网络应用软件鲁棒性测试方法,以支持应用软件的推广。
1 基于云平台的应用软件测试环境设计
为满足网络应用软件鲁棒性测试需求,本次在设计中引入云平台构建测试环境。根据项目需求和预算,选择具备足够计算、存储、网络资源及良好安全性和稳定性的云平台[4]。利用虚拟化技术,将测试环境虚拟化分为多个独立运行的虚拟机实例,实现并行测试。接下来搭建测试环境,以确保测试的准确性和高效性[5],其主要由U/I接口层、测试处理层、数据传输层等部分组成。其中,U/I接口层作为交互桥梁,接收用户输入、显示测试结果及与外部系统数据交换,包括Web界面、GUI界面和API接口;测试处理层负责执行测试任务,包含自动化测试框架、测试脚本、测试数据管理工具等;数据传输层负责数据在测试环境内部及与其他系统间的传输,涉及数据库管理系统、网络通信设备、数据同步工具等。自动化测试框架为测试人员提供统一测试平台,可支持自动化测试脚本的编写与执行。测试脚本包含测试逻辑和步骤,模拟用户操作验证系统功能和性能。数据库管理系统作为数据传输层的关键组件,存储和管理测试数据,支持高效的数据存储、检索及多种数据格式和类型。综上完成应用软件测试环境的搭建,为后续网络应用软件鲁棒性测试奠定基础。
2 网络应用软件鲁棒性测试接入负载模拟
在上述测试环境中,进行网络应用软件鲁棒性测试接入负载模拟,以确保该方法可适用于多种测试环境。在此过程中,选择适合的负载测试工具,如JMeter、LoadRunner、Gatling等,设计具体测试场景,包括用户请求的类型、频率、持续时间等。同时,使用测试工具启动负载环境模拟,向软件发送模拟的用户请求,逐渐增加请求的数量和频率,以模拟不同级别的负载,此过程计算公式如式(1)所示:
3 业务逻辑模块集成与测试结果生成
完成上述设计后,将各个独立的业务逻辑模块按照预定设计进行组合,以形成一个完整的业务逻辑模块。在此过程中,需要明确每个业务逻辑模块的功能、输入、输出和接口,设计模块之间的接口,确保接口能够相互通信并交换数据,其数据交换过程如式(2)所示:
式中,m表示数据交换;x表示数据类型;w表示数据规模。接下来,将测试用例的执行结果进行归档,将错误和缺陷按照不同的类型、严重性和优先级进行分类。同时,本次还整理了性能和稳定性方面的数据,以便于后续分析与评估。数据优先级分类如式(3)所示:
S=W(m)+η(t)·γ(3)
式中,S表示数据优先级分类函数;W表示数据集散性;η表示测试用例;t表示测试时长;γ表示数据异常条件。基于整理后的测试数据,生成详细的测试报告。按照上述步骤,完成业务逻辑模块集成与测试结果生成,实现基于云平台的网络应用软件鲁棒性测试方法设计。
4 对比实验
为验证所提方法的先进性,本次开展对比实验。为确保实验结果的真实性与可靠性,在进行测试方法检验前,根据实验需求进行测试环境设置,具体如图1所示。
本次测试硬件选取Dell PowerEdge R740服务器、2颗Intel Xeon Gold 6248 CPU、256 GB DDR4 ECC内存、2 TB NVMe SSD(系统盘)、4 TB SATA硬盘(数据存储)、2个千兆以太网口(支持网络冗余)。软件部署选择CentOS 7.9操作系统、MySQL 5.7数据库、AWS EC2云服务商、v3.0.0网络应用软件版本以及Python 3.8、Django 2.2、Redis 5.0依赖库/框架。构建完成后,模拟生产环境网络配置,设计带宽、延迟、丢包和防火墙等内容,模拟生产网络拓扑和IP地址。之后,准备实验数据,使用真实或模拟数据模拟生产环境数据交互和流转,对敏感数据进行脱敏处理。在该背景下,选取王丹等[1]的基于蜕变测试的图像分类软件的鲁棒性评估方法和杨亚萍[2]的基于人工智能自然语言处理技术的软件测试方法作为对比方法,将3种方法按照规范接入测试环境。在测试过程中,持续增加数据量,检验网络应用软件测试方法的运行效率,以检验3种方法是否能在应用中达到预期的鲁棒性测试效果。由此得到3种方法对比结果如图2所示。
从图2所示的结果可以看出,随着接入数据量的增加,本文测试方法节点运行速度始终处于较高水平,而王丹等[1]的基于蜕变测试的图像分类软件的鲁棒性评估方法的节点运行速度呈现逐步下降趋势,杨亚萍[2]的基于人工智能自然语言处理技术的软件测试方法的节点运行速度在接入数据量为4万条时发生了中断。由此可见,在3种方法中,两种对比方法在进行网络应用软件鲁棒性测试时因为无法承载过多数据,容易出现节点崩溃现象,本文方法的应用效果更优。
5 结语
因需应对网络故障、恶意攻击等不可预见因素,网络应用软件的鲁棒性至关重要。在该背景下,本文引进云平台,通过测试环境设计、鲁棒性测试接入负载模拟、业务逻辑模块集成与测试结果生成等部分完 成网络应用软件鲁棒性测试方法设计。实验结果表明,相比于王丹等[1]的基于蜕变测试的图像分类软件的鲁棒性评估方法、杨亚萍基于人工智能自然语言处理技术的软件测试方法,本文方法综合性能良好,可及时发现软件错误与异常,为网络应用软件的开发、测试和维护提供有力支持。
参考文献
[1]王丹,王兴亚,黄松,等.基于蜕变测试的图像分类软件的鲁棒性评估方法[J].网络安全技术与应用,2023(12):41-44.
[2]杨亚萍.基于人工智能的自然语言处理技术在软件测试中的应用研究[J].信息记录材料,2023(11):97-99,102.
[3]顾滨兵,李军锋,朱佳良.基于软件、测试、缺陷“三域”铰链的软件测试新架构研究与应用[J].计算机测量与控制,2023(10):97-102,121.
[4]魏瑀皓,姚永明.一种基于蜕变测试的卫星遥感目标检测模型鲁棒性测试方法[J].现代计算机,2023(20):35-39,44.
[5]刘倩.计算机软件测试方法的研究与分析:以集成测试为例[J].长江信息通信,2023(7):115-118.
Test method for the robustness of network application software based on cloud platform
Abstract: In order to improve the standardization of software testing and avoid node crashes, this paper proposes a research method for robust testing of network application software based on cloud platforms. This study first complets the design of the U/I interface layer, test processing layer and data transmission layer, and constructs a testing environment. Then it simulates the load access for robustness testing of network application software, form a complete business logic by combining independent business logic modules, and achieves the integration of robustness testing results. Finally, the progressiveness of the proposed method is proved by experiments. The experimental results show that the method has good overall performance, can improve the amount of data accessed by nodes, effectively avoid node crashes, and has good application effects.
Key words: cloud platform; load environment; robustness; network application software