一种软件压力测试方法、装置、设备及存储介质与流程

文档序号:16134445发布日期:2018-12-01 00:45阅读:206来源:国知局

本发明属于软件测试开发技术领域,具体涉及一种软件压力测试方法、装置、设备及存储介质。

背景技术

软件产品的压力测试越来越引起使用者的重视,因为用户为了节省资源成品,往往在物理机之上安装多种软件产品以提高资源利用率,这就需要测试人员更多的关注软件产品在宿主机高压的情况下是否正常。

面对上述用户,测试人员往往是在物理机上安装其他应用为本产品的宿主机制造压力,并且难以模拟实际运用中多客户端并发访问制造压力的场景;一旦测试中遇到问题还需要测试人员重新搭建测试环境,更是费时费力。

为了降低测试成品,提高测试质量,本发明尝试将压力测试与虚拟化相结合,可以将测试产品能够随时恢复正常状态,并且能够自动对产品宿主机进行施加各种压力,不需人工干预。



技术实现要素:

本发明的目的在于,针对上述现有技术存在的缺陷,提供设计一种软件压力测试方法、装置、设备及存储介质,以解决上述技术问题。

第一方面,本申请实施例提供一种软件压力测试方法,包括;

将待测软件安装至虚拟机后运行所述待测软件;

对虚拟机创建初始快照;

对所述待测软件进行压力测试;

判断待测软件是否出现异常:

是,则根据异常情况定位待测软件的故障单元,并恢复初始快照重新运行压力测试脚本;

否,则完成测试并判定所述待测软件通过测试。

结合第一方面,在第一方面的第一种实施方式中,所述将待测软件安装至虚拟机后运行所述待测软件包括:

按照待测软件对宿主机的要求配置虚拟机。

结合第一方面,在第一方面的第二种实施方式中,所述对待测软件进行压力测试包括:

设置测试压力参数;

根据所述测试压力参数对所述虚拟机施加压力。

第二方面,本申请实施例提供一种软件压力测试装置,包括:

安装单元,配置用于将待测软件安装至虚拟机后运行所述待测软件;

快照单元,配置用于对虚拟机创建初始快照;

测试单元,配置用于对所述待测软件进行压力测试;

判断单元,配置用于判断待测软件是否出现异常;

定位单元,配置用于根据异常情况定位待测软件的故障单元,并恢复初始快照重新运行压力测试脚本;

判定单元,配置用于完成测试并判定所述待测软件通过测试。

结合第二方面,在第二方面的第一种实施方式中,所述安装单元包括:

配置模块,配置用于按照待测软件对宿主机的要求配置虚拟机。

结合第二方面,在第二方面的第二种实施方式中,所述测试单元包括:

设置模块,配置用于设置测试压力参数;

施压模块,配置用于根据所述测试压力参数对所述虚拟机施加压力。

第三方面,本申请实施例提供一种设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如第一方面及第一方面任一种实施方式所述的方法。

第四方面,本申请实施例提供一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如第一方面及第一方面任一种实施方式所述的方法。

本发明的有益效果在于,

本发明提供的软件压力测试方法,通过将待测软件的宿主机改为虚拟机,并在测试初始为安装并运行了待测软件的虚拟机创建快照,通过对虚拟机cpu、内存等施加压力,对待测软件进行测试。若施加压力后,待测软件出现异常,定位软件故障单元后可通过回复快照的方式再次对待测软件进行测试。该方法能够自动对待测软件宿主机进行各种压力测试且无需人工干预,测试过程中遇到测试环境问题无需人为重新搭建环境,只需恢复快照到初始状态即可;且该方法复用性强,适合各种测试产品,易推广,实用性强。

本发明提供的软件压力测试装置,通过将待测软件的宿主机改为虚拟机,并在测试初始,快照单元为安装并运行了待测软件的虚拟机创建快照,测试单元通过对虚拟机cpu、内存等施加压力,对待测软件进行测试。若施加压力后,待测软件出现异常,定位单元定位软件故障单元后可通过回复快照的方式再次对待测软件进行测试。该方法能够自动对待测软件宿主机进行各种压力测试且无需人工干预,测试过程中遇到测试环境问题无需人为重新搭建环境,只需恢复快照到初始状态即可;且该方法复用性强,适合各种测试产品,易推广,实用性强。

本发明提供的设备,通过执行本发明提供的软件压力测试方法,能够自动对待测软件宿主机进行各种压力测试且无需人工干预,测试过程中遇到测试环境问题无需人为重新搭建环境,只需恢复快照到初始状态即可。有着复用性强,适合各种测试产品,易推广,实用性强的优势。

本发明提供的存储有计算机程序的计算机可读存储介质,该程序被处理器执行时能够实现本发明提供的软件压力测试方法,能够自动对待测软件宿主机进行各种压力测试且无需人工干预,测试过程中遇到测试环境问题无需人为重新搭建环境,只需恢复快照到初始状态即可。有着复用性强,适合各种测试产品,易推广,实用性强的优势。

此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。

由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1为本申请实施例提供的软件压力测试方法的示例性的流程图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

本发明实施例提供一种软件压力测试方法,包括;

将待测软件安装至虚拟机后运行所述待测软件(进一步地,按照待测软件对宿主机的要求配置虚拟机);

对虚拟机创建初始快照;

对所述待测软件进行压力测试(进一步地,测试包括:设置测试压力参数;根据所述测试压力参数对所述虚拟机施加压力);

判断待测软件是否出现异常:

是,则根据异常情况定位待测软件的故障单元,并恢复初始快照重新运行压力测试脚本;

否,则完成测试并判定所述待测软件通过测试。

为了便于对本发明的理解,下面以本发明对软件进行压力测试的原理,结合实施例中对软件进行压力测试的过程,对本发明提供的软件压力测试方法做进一步的描述。

请参考图1,本实施例提供一种软件压力测试方法,具体步骤如下:

s1、在虚拟化平台上安装虚拟机,其中虚拟机的操作系统、cpu、内存等要求与待测软件对宿主机的要求保持一致。在虚拟机上安装待测软件,启动待测软件并保证待测软件正常运行。待测软件可安装至一台虚拟机,也可同时安装至多个虚拟机,多个虚拟机同时对待测软件进行压力测试。

s2、测试端运行自动化脚本,对虚拟机进行创建初始快照。

s3、完成快照创建后,自动化脚本根据预先设置的测试压力参数对虚拟机的网络、存储、cpu、内存等施加压力。

以下为自动化脚本中的核心内容的示例:

virshsnapshot-createvm//创建初始快照

iperf-s-fk//接收数据施加

iperf-cserverip-fk-t600//发送数据试压数据可自定义

fio--name=global--direct=1--name=read--rw=read--size=10m--name=write--rw=randwrite--size=5m//对磁盘通过读写方式施加压力,数据可根据虚拟机的配置自定义

stress-c1/2*$vm_cpu//虚拟机cpu的压力增加50%

stress--vm1--vm-bytes1/2*$vm_mem--vm-hang600/虚拟机内存的压力增加50%

s4、若待测软件出现异常,则由开发与测试人员根据异常情况定位问题;定位问题后,通过恢复快照的形式,恢复到初始测试环境,继续对待测软件进行测试。

ifproductiserrorexitpressuretest//测试产品故障,退出压力测试

virshsnapshot-currentvm//查看当前快照

virshsnapshot-revertvmsnapshotid//恢复快照

s5、若待测软件在虚拟机被施压后未出现异常,则判定待测软件通过测试,完成测试。

本申请实施例提供一种压力测试装置,包括:

安装单元,配置用于将待测软件安装至虚拟机后运行所述待测软件;

快照单元,配置用于对虚拟机创建初始快照;

测试单元,配置用于对所述待测软件进行压力测试;

判断单元,配置用于判断待测软件是否出现异常;

定位单元,配置用于根据异常情况定位待测软件的故障单元,并恢复初始快照重新运行压力测试脚本;

判定单元,配置用于完成测试并判定所述待测软件通过测试。

其中,安装单元包括:

配置模块,配置用于按照待测软件对宿主机的要求配置虚拟机。

测试单元包括:

设置模块,配置用于设置测试压力参数;

施压模块,配置用于根据所述测试压力参数对所述虚拟机施加压力。

本申请实施例提供一种设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行本申请实施例提供的方法。

本申请实施例提供一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现本申请实施例提供的方法。

以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1