Web 软件性能参数自动化测试方法设计

2023-08-19 09:59曹晓龙
电子设计工程 2023年16期
关键词:测试工具性能参数测试方法

周 健,曹晓龙,吴 琦

(安徽继远检验检测技术有限公司,安徽 合肥 230088)

近年来,随着Web 软件技术的高速发展,出现了越来越多应用于系统的Web 软件,Web 软件成为了软件开发的主流,逐渐深入到社会中的各个领域。随着人们对于Web 软件的需求越来越高,Web 软件已经从最初的小型网站逐渐扩展为如今各式各样的电子商务、信息发布、数据服务平台,其应用领域越来越广泛,软件的性能结构也越来越复杂。在这种情况下,Web 软件的应用质量与运行可靠性成为很多用户关注的重点。Web 软件性能参数的测试是Web 软件研发的重要环节,其主要原理是在设定条件下,对一个Web 软件进行系统测试,以此发现系统运行时出现的错误,及时进行修补。目前相关领域学者已针对Web 软件性能测试进行了研究,文献[1]提出了一种利用记忆单元改进DQN 的Web 服务组合优化方法,将C 语言作为编辑环境,通过NET 框架与系统相连的Web 软件自动化系统测试,但该方式只适用于以C 语言作为编辑环境的Web 软件,并不适用于所有软件。文献[2]提出了一种基于页面对象的Web 应用测试用例生成方法,但其仅仅针对JAVA技术以及AJAX 技术的动态Web 应用,依旧没有完全覆盖所有的Web 应用。为提升Web 软件性能参数测试效果,该文设计了一种Web 软件性能参数自动化测试方法。

1 基于FabanPlus 工具的Web软件性能测试

为了实现对Web 软件性能参数的自动化测试,该文引入了FabanPlus 自动化测试工具。FabanPlus是基于JAVA 的可开源的测试工具,该测试工具允许用户使用多种语言来自定义测试工具负载,并可一次模拟上万次用户操作行为,提供一个随机模型来模拟用户对Web 软件的操作行为,并可以通过并发量的细粒度来调整软件[3-4]。FabanPlus 测试架构如图1 所示。

图1 FabanPlus测试架构

根据图1 可知,在执行测试操作时,FabanPlus 可自动记录Web 软件系统的吞吐量以及对模拟操作的响应时间,并在模拟操作结束后,对记录的数据进行分析统计,与此同时,FabanPlus 自动化测试工具拥有管理平台,操作人员可在管理平台中进行上传测试参数、修改负载配置、管理软件运行等操作,并可随时查看测试结果[5-6]。

FabanPlus由两部分构成:MARS与AGEN,如图2所示。

图2 FabanPlus架构

观察图2 可知,MARS 负责控制测试负载的执行终止等操作,并负责保存和统计测试数据信息。AGEN则负责运行测试系统,执行测试操作。FabanPlus 拥有扩展的Driver 模块,能够提供API 组件,允许用户修改负载的控制值,利用提供的API,用户可以在其中定义无限个离散的负载值,每个操作由相对应的HTTP 通信单元序列组成,并模拟用户操作,向Web软件系统发出请求并响应[7-8]。开发人员通过Web 软件服务系统的日志便可了解Web 软件系统中存在的问题。Driver 包括四个组件,分别为HTTP 通信单元、DOM 结构单元、JAVA 解释单元以及AMO 数据搜索单元并通过异步请求的负载生成算法,完成与Web 软件的通信以及对Web 软件性能参数数据的收集并处理。从而实现对Web 软件的性能参数的自动化测试。

为了实现对Web 软件性能参数的自动化测试,建立自动化测试矩阵,通过FabanPlus 指令启动自动化测试矩阵,完成对Web 软件性能参数的自动化测试。所谓自动化测试矩阵即为在测试流中某个负载节点所有测试用例的集合。该文提出一种按照对Web 软件系统各个接口的参数成对组合的方式来进行测试用例的选择,该方法考虑了所有Web 软件在测试中可能出现的结果与可能,并覆盖了所有可能产生问题对系统导致的影响,接口数量计算公式如下:

其中,m为Web 软件系统接口数量,t为每个接口的取值范围。根据式(1)构造一个虚拟网络,该网络第一层第一个节点就代表第一个参数m1的第一个取值t1,以此类推,从第一层第一个节点出发,直至最后一个节点,在此过程中形成一条路径,路径上的每一个节点即为一个测试用例。

计算顺序如下:将虚拟网络层次从左至右,从上至下开始执行,下一个节点自动给上一个节点发送数据信号,每一个节点在接收下一个节点所发送的数据信号后,自动进行顺序排列,形成号码串,每层都会形成一个号码串,由每一层的最后一个节点发送给下一层的第一个节点,再选择最后一个节点,该节点即具有所有虚拟网络的测试用例信息。根据上述计算实现软件的测试。

2 Web软件性能参数负载调控

完成软件测试后,进行负载调控,根据用户对负载规则的定义,调节Web 软件运行时的负载状态,该调节是一个动态过程,用户可随时根据Web 软件性能参数情况来进行调节,使负载强度根据运行情况随时改变,从而有效测试Web 软件的弹性性能。Web 软件性能参数负载调控过程如图3 所示。

负载调节是根据负载动态调节算法来实现运行的,用户需要设置负载调节的规则。负载调节期望指数计算公式如下所示:

其中,W为负载调节期望指数;T1表示CPU 利用增加调节时长;Umax表示CPU 最大利用率;T2表示CPU 最长持续时间;Umin表示最小利用率;T3表示CPU利用率降低调节时长;T4表示最短持续时间。

根据负载调节期望指数进行负载动态调节,是一种基于状态反馈的调节算法,可以实时调节负载强度,使CPU 的利用率最大限度接近期望值。但其需要考虑负载调节中的两个重要因素:Web 软件运行时系统的真实值S与期望值W。真实值可通过Web 软件运行时的监测数据得出,而期望值W则利用上述公式计算得出,真实值与期望值有一个偏差值,定义为E:

设定一个阈值B,当E>B时,进行动态负载调节,通过设计一种算法来控制负载调节的运行。将负载单位的增加量看作CPU 需要增强的负载强度,若CPU 的实际利用率比预测利用率大,则可以证明加强负载影响了Web 软件系统的状态,需要降低负载调节;若CPU 的实际利用率比预测利用率小,则证明需要进行加强负载调节。预测的偏差值E越大,则证明需要加强的负载程度越大。当负载强度属于上升阶段,且S>Umax时,CPU 的实际利用率便达到了最初对Web 软件系统设定时的目标值,证明该Web 软件可以正常运行,负载强度不需要进行调节,只需稳定当前的负载调节程度即可,直至Web 软件性能参数测试结束。

FabanPlus 中提供支持HTTP 通信的API 组件分别基于HTTPURL 以及APACHE 客户端的编程工具完成实现,可进行自动倒计时,从而记录每次模拟用户发出请求的时间以及系统相应的时间,这部分时间便是负载稳定运行的时间,这段时间内搜集的信息便是用作Web 软件性能参数测试数据信息。

在负载执行过程中,利用线程模拟用户的行为,每次每个用户的操作都需要输入一个验证码,并提供登录的用户名以及密码。FabanPlus 负载生成算法维护每一个Web 软件的请求生成,再记录响应时间,根据用户定义的URL 地址生成向Web 软件系统服务器的请求。用户操作所产生的URL 地址可以只针对Web 软件中的一个固定的URL 地址,也可针对该Web 中不同的URL 地址产生请求,开发人员在设定负载强度范围时,可定义多个随机的用户与服务器之间产生的URL 地址,使得用户只需定义其中一个请求行为便可向服务器产生若干需求。

至此,完成对Web 软件性能参数的自动化测试。

3 实验研究

为验证该文方法的实际应用效果进行实验分析。实验环境如图4 所示。

图4 实验环境

选用的操作系统为Ubuntu12.04,采用的中央处理器工作频率为1.0 GHz,硬盘内存为64 GB,采用的服务器软件为Apache2.2,设定测试时间为2 000 s,在测试过程中,同时向该文研究的自动化测试方法和传统的基于记忆单元的测试方法(文献[1]方法)、基于页面对象的Web 测试方法(文献[2]方法)发送55 000 个HTTP 请求,分别分析不同方法接收成功率、接收时间,得到的接收数据量实验结果如表1所示。

表1 接收数据量实验结果

由表1 可知,该文设计方法的接收成功率高于两个传统方法,在接收51 200 个HTTP 请求后,该文的测试方法成功数量始终在98%以上,而传统方法的成功数量相对较低,且在接受过程中出现的误差较大,这是由于用户操作和比例要求出现较多问题。响应时间实验结果如图5 所示。

图5 响应时间实验结果

由图5 可知,该文设计方法在对每个请求进行测试时,响应时间远远小于传统方法的响应时间。这是因为该文设计方法应用了FabanPlus 的模拟用户进行测试,在测试过程中对用户进行动态调节,能够很好地利用CPU,在相同负载强度下能够更快速地实现响应。三种测试方法的CPU 利用率如表2所示。

表2 CPU利用率实验结果

由表2 可知,该文研究方法对CPU 的利用率远高于传统方法。这是因为该文研究方法通过分析URL 和相应代码完成信息利用,而传统方法在进行用户统计过程中,需要耗费的时间较多,CPU 利用率难以达到用户要求。

4 结束语

Web 软件已经逐渐渗透到人们的生活,其在各个领域得到了广泛应用,为提升其应用效果,需要对Web 软件性能参数进行测试。为提升参数测试效果,该文设计了一种Web 软件性能参数自动化测试方法,该方法适用于所有语言编辑的Web 软件,具有普及性,以期通过该文研究为后续研究此方面的学者提供一定参考。

猜你喜欢
测试工具性能参数测试方法
基于泊松对相关的伪随机数发生器的统计测试方法
基于云计算的软件自动化测试方法
DLD-100C型雷达测试方法和应用
Http并发连接测试工具
手车式真空断路器回路电阻测试电流线接头研究
时间数字转换器性能参数及误差分析
对改良的三种最小抑菌浓度测试方法的探讨
天线电性能参数的测量
气动铆钉机性能参数测试系统的研制
福禄克推出先进的连接式测试工具系统