基于异步并发机制的压力测试系统和测试方法技术方案

技术编号:13105652 阅读:58 留言:0更新日期:2016-03-31 11:54
一种基于异步并发机制的压力测试系统和测试方法,该系统设有脚本管理装置、测试管理装置、异步压力产生装置和资源采集装置。脚本管理装置根据测试对象和测试要求选择与编辑测试脚本,测试管理装置根据测试脚本选择不同压力控制的压力测试请求方式,异步压力装置按照预设参数,产生设定数量的异步恒定速率、并发机制的压力测试请求进行压力测试;最后,资源采集装置实时采集压力测试时的各种数据结果,以供测试管理装置统计分析被测系统的压力性能是否满足设计指标。本发明专利技术系统的测试参数调整范围广,可选多种测试方式、采用进程内自动机并发方式产生压力测试请求,能够获得更符合被测系统真实使用状况的压力测试数据与测试结果的验证。

【技术实现步骤摘要】

本专利技术涉及一种,确切地说,涉及一种能够产生满足各种设定测试参数的压力测试请求的压力测试系统及其工作方法,以满足测试系统产生设定数量的并发异步的压力测试的需求,从而完成被测系统的性能压力测试的目的;属于计算机软件测试的

技术介绍
压力测试是对被测系统不断地施加压力的测试,它是通过确定一个系统的工作瓶颈或者不能承载接收的性能点,从而获得系统能够提供的最大服务压力的级别测试,或者在设定时间周期内能够保证工作稳定性的验证测试。例如测试一个Web站点在大量的负荷下,何时系统的响应会退化或失败。测试压力测试的关键是如何产生大量的压力测试请求,以使被测系统达到其工作性能的瓶颈点。作为一种基本的质量保证行为的压力测试,是每个重要的计算机软件测试工作的一部分。压力测试的基本思路很简单:不是在常规条件下运行手动或自动测试,而是在计算机数量较少或系统资源匮乏的条件下执行测试。通常要进行压力测试的资源包括CPU可用性、MEM可用性和网络传输带宽。下面,介绍目前已有技术的计算机软件压力测试系统及其相关测试方法,主要包括以下几种测试类型或测试方法,再说明它们各自存在的缺陷:(A)同步压力并发机制:压力测试系统向被测系统进行同步压力方式的并发请求测试,即压力测试系统先向被测系统发出某一个压力测试请求,在没有得到该请求的响应之前,测试系统会一直等待,直到得到被测系统的响应后,才会发出新的压力测试请求。也就是同步压力并发机制的测试过程中,测试系统发送压力测试请求,只有得到被测系统的响应后,才会发起新的请求。即测试系统的压力并发量取决于被测系统执行压力测试请求的功能大小,不能真正测试出被测系统的性能瓶颈点。(B)多线程的压力产生方式:压力测试系统通过线程池方式进行压力测试,在测试开始前,压力测试系统先创建一个线程池,当产生新的压力测试请求时,从线程池中取得空闲线程并使用该线程产生新的请求。当请求响应或超时后,才将该线程重新放入线程池中,以供后续请求使用。因为在多线程的压力产生方式中,线程的调用切换都是由操作系统完成的,虽然在效率上要比进程间的切换高,但是,线程的切换仍然需要占用一定的CPU时间。再者,线程也会占用一定的系统资源;此外,线程的个数在理论上受到内存的限制:通常一台2G内存的机器,最多只能在理论上启动2048个线程。这些缺陷都使得测试参数受到较大限制。(C)单级并发控制机制:压力测试系统只进行单级的并发控制机制,即只能控制测试系统线程级别的压力并发的测试场景。这种单级的并发控制机制只能对线程级别的并发进行控制,对于进程和/或测试集群的并发未加以考虑;故其应用受到局限。
技术实现思路
有鉴于此,本专利技术的目的是提供一种基于异步并发机制的压力测试系统及其测试方法,本专利技术较好地解决了现有技术存在的各种问题和缺陷:无论被测系统是否产生对原来压力测试请求的响应,本专利技术测试系统都会根据预设参数的数值,产生设定数量的异步恒定速率、并发机制的多个压力测试请求,再对被测系统的处理能力和响应时延执行更加符合真实使用状况的系统压力测试和验证。而且,本专利技术压力测试系统的测试参数调整范围广,还可以选择多种测试方式、采用进程下的自动机和低系统资源开销方式产生压力测试请求,具有诸多优点。为了达到上述目的,本专利技术提供了一种基于异步并发机制的压力测试系统,其特征在于:该压力测试系统根据预设测试参数的数值,产生设定参数的异步测试的压力测试请求,用于对被测系统的处理能力和响应时延进行压力测试,以便获得更加符合被测系统真实使用状况的压力测试数据与测试结果的验证;所述系统包括脚本管理装置、测试管理装置、异步压力产生装置和直接安装在被测系统设备上的资源采集装置四个组成部件;其中:脚本管理装置,负责根据被测系统的测试要求生成测试脚本,并对该测试脚本进行编辑与验证,再对通过验证的测试脚本进行统一的脚本管理,最后将测试脚本加载到测试管理装置进行处理;设有顺序连接的脚本编辑组件、脚本测试组件和脚本管理加载组件共三个组成构件;测试管理装置,负责接收与承载脚本管理装置传送来的测试脚本,生成测试任务,并对该测试任务执行异步压力的生成管理:按照爆发式压力、平缓式压力、周期式压力的一种或多种不同的压力测试方式对被测系统的处理能力和响应时延进行异步的压力测试请求的压力测试;还将设定异步的压力测试请求的测试参数:包括压力测试请求的门限值及其测试周期、并发压力测试请求的门限值及其测试周期、以及压力测试请求的发送方式,都发送给异步压力产生装置用于压力测试;同时与异步压力产生装置交互信息,采集异步压力产生装置反馈的测试数据,并接收来自资源采集装置的各种资源使用信息进行汇总处理后,再对被测系统的实际性能参数进行验证,以便实时调整压力测试各项参数门限值;设有分别连接的测试脚本执行组件和测试协议适配组件,测试统计组件和测试参数管理组件,以及汇总处理测试数据的测试任务调度组件共五个组成构件;异步压力产生装置,负责接收来自测试管理装置的测试脚本、测试方式和压力测试请求的各项数据,实时生成压力测试的具体参数,将压力测试请求发送给被测系统,并实时动态计算每秒应该产生的压力测试请求数量,实时调整与控制测试过程中发送的压力测试请求总数量;同时在压力测试整个过程中实时采集与统计各项测试数据:包括发送的压力测试请求总数量、请求成功率,请求失败率、请求最大响应时延、请求最小响应时延和平均响应时延信息,再将全部统计信息返回给测试管理装置;设有测试数据分发组件、异步处理组件、并发控制组件、测试执行组件和测试指标统计组件共五个组成构件;资源采集装置,负责采集被测系统的各种硬件资源使用信息:至少包括CPU、内存MEM和网络接口 I/O的使用状况、再将采集的信息返回给测试管理装置进行处理;设有CPU信息采集组件、MEM信息采集组件、网络接口 I/O信息采集组件和数据上报组件共四个组成构件。为了达到上述目的,本专利技术还提供了一种采用本专利技术基于异步并发机制的压力测试系统的压力测试方法,其特征在于:脚本管理装置根据测试对象和测试要求选择测试脚本,如果现有的测试脚本不能满足测试需求,则对测试脚本执行编辑操作,再由测试管理装置根据确认后的测试脚本选择不同压力控制的异步请求测试方式,然后异步压力产生装置按照并发异步的压力测试请求参数的门限值及其测试时间周期、压力测试请求的发送方式并行发送多个请求进行压力测试;最后,资源采集装置实时采集与计算统计压力测试时的各种测试结果数据,至少包括统计发送的压力测试请求总数量、请求成功率,请求失败率、请求最大响应时延、请求最小响应时延、平均响应时延信息,CPU、MEM和网络接口 I/O信息,用于验证被测系统的压力性能是否满足设计指标;如果满足系统的测试要求,则结束测试;否则,调整测试参数,继续测试;所述方法包括下列操作步骤:步骤1,脚本管理装置中的脚本管理加载组件先判断现有的测试脚本是否满足测试系统的测试要求,如果不满足测试要求,则由脚本编辑组件与脚本测试组件分别执行测试脚本的生成、修改、编辑与验证,直至满足测试要求;再将验证合格的测试脚本加载到测试管理装置进行后续处理;步骤2,测试管理装置根据被测试系统设定的测试机制与测试要求,调整测试参数和选择不同压力控制的测试方式:测试参数本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/CN105446860.html" title="基于异步并发机制的压力测试系统和测试方法原文来自X技术">基于异步并发机制的压力测试系统和测试方法</a>

【技术保护点】
一种基于异步并发机制的压力测试系统,其特征在于:该压力测试系统根据预设测试参数的数值,产生设定参数的异步测试的压力测试请求,用于对被测系统的处理能力和响应时延进行压力测试,以便获得更加符合被测系统真实使用状况的压力测试数据与测试结果的验证;所述系统包括脚本管理装置、测试管理装置、异步压力产生装置和直接安装在被测系统设备上的资源采集装置四个组成部件;其中:脚本管理装置,负责根据被测系统的测试要求生成测试脚本,并对该测试脚本进行编辑与验证,再对通过验证的测试脚本进行统一的脚本管理,最后将测试脚本加载到测试管理装置进行处理;设有顺序连接的脚本编辑组件、脚本测试组件和脚本管理加载组件共三个组成构件;测试管理装置,负责接收与承载脚本管理装置传送来的测试脚本,生成测试任务,并对该测试任务执行异步压力的生成管理:按照爆发式压力、平缓式压力、周期式压力的一种或多种不同的压力测试方式对被测系统的处理能力和响应时延进行异步的压力测试请求的压力测试;还将设定异步的压力测试请求的测试参数:包括压力测试请求的门限值及其测试周期、并发压力测试请求的门限值及其测试周期、以及压力测试请求的发送方式,都发送给异步压力产生装置用于压力测试;同时与异步压力产生装置交互信息,采集异步压力产生装置反馈的测试数据,并接收来自资源采集装置的各种资源使用信息进行汇总处理后,再对被测系统的实际性能参数进行验证,以便实时调整压力测试各项参数门限值;设有分别连接的测试脚本执行组件和测试协议适配组件,测试统计组件和测试参数管理组件,以及汇总处理测试数据的测试任务调度组件共五个组成构件;异步压力产生装置,负责接收来自测试管理装置的测试脚本、测试方式和压力测试请求的各项数据,实时生成压力测试的具体参数,将压力测试请求发送给被测系统,并实时动态计算每秒应该产生的压力测试请求数量,实时调整与控制测试过程中发送的压力测试请求总数量;同时在压力测试整个过程中实时采集与统计各项测试数据:包括发送的压力测试请求总数量、请求成功率,请求失败率、请求最大响应时延、请求最小响应时延和平均响应时延信息,再将全部统计信息返回给测试管理装置;设有测试数据分发组件、异步处理组件、并发控制组件、测试执行组件和测试指标统计组件共五个组成构件;资源采集装置,负责采集被测系统的各种硬件资源使用信息:至少包括CPU、内存MEM和网络接口I/O的使用状况、再将采集的信息返回给测试管理装置进行处理;设有CPU信息采集组件、MEM信息采集组件、网络接口I/O信息采集组件和数据上报组件共四个组成构件。...

【技术特征摘要】

【专利技术属性】
技术研发人员:王红熳丁正张阳顾晓东祝敬安卜小冲李传营高跃明程钢付云鹏
申请(专利权)人:上海欣方智能系统有限公司上海欣方软件有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1