当前位置: 首页 > 专利查询>谢靖专利>正文

一种软件压力测试方法及装置制造方法及图纸

技术编号:30232227 阅读:20 留言:0更新日期:2021-09-29 10:07
本发明专利技术涉及一种软件压力测试方法及装置,包括:获取软件程序的配置文件,根据所述配置文件在交互界面生成若干待测试的所述软件程序的功能模块;根据所述功能模块自动生成所述软件程序的多组测试方案,所述测试方案用于对相应的测试对象按照策略进行测试;得到所述软件程序及多个所述功能模块的测试结果,并将所述测试结果显示于交互界面。本发明专利技术的有益效果为:动态可视化展示待测软件及其所有功能模块,并在压力测试时,实时显示测试状态;可配置的压力测试方法,提供了灵活的单个模块及整体的测试,能够有效的反馈出单个模块及软件程序整体的测试状态;对压力崩溃时的函数调用测试。试。试。

【技术实现步骤摘要】
一种软件压力测试方法及装置


[0001]本专利技术涉及计算机软件测试领域,具体涉及了一种软件压力测试方法及装置。

技术介绍

[0002]软件压力测试是给软件进行加压,在压力极限情况进行运行,根据软件运行情况,采用针对性的测试与分析,找到影响系统性能的瓶颈。对于微控制器,为了保证软件能够安全稳定的运行,需要对软件进行相应的测试,这些测试主要通过统计函数的调用情况,根据统计以确定软件程序运行时的压力,以达到分配最优运行资源给软件程序,还能够针对软件存在的问题进行优化。
[0003]现有技术包括:(1)通过测试接口用户数据或者函数,确定该测试接口的压力测试指标;根据历史用户数据生成压力测试数据,并根据该压力测试数据生成测试接口的调用请求;以上述调用请求访问Mock类对象,获得返回数据;根据该返回数据进行Mock压力测试,以确定压力测试指标的数值,获得该测试接口的压力测试结果;(2)为软件程序配足够的空间,通过对软件程序运行时的每个软件模块进行特定数据填充,采集内存变化,根据内存变化情况确定栈空间使用情况,以确定软件程序最大内存使用情况。
[0004]现有技术的缺点:(1)测试接口需要调用用户历史数据,并不是实时的,因此无法反馈软件程序运行时的状况;(2)需要对内存的内容访问和获取,同时需要足够的空间;(3)对差异化的不同开发版本的软件程序进行测试时,通常通过人工调整的方式进行差异化的压力测试;(4)无法实现直观的测试。

技术实现思路

[0005]本专利技术的目的在于至少解决现有技术中存在的技术问题之一,提供了一种软件压力测试方法及装置,实现了软件压力测试的可视化、可配置的技术效果。
[0006]本专利技术的技术方案包括一种软件压力测试方法,该方法包括:S100,获取软件程序的配置文件,根据所述配置文件在交互界面生成若干待测试的所述软件程序的功能模块;S200,根据所述功能模块自动生成所述软件程序的多组测试方案,所述测试方案用于对相应的测试对象按照策略进行测试;S300,得到所述软件程序及多个所述功能模块的测试结果,并将所述测试结果显示于交互界面。
[0007]根据所述的软件压力测试方法,其中所述S100包括:S110,根据所述配置文件,遍历并解析对应文件夹内的多个文件得到对应所述功能模块的函数列表;S120,根据所述函数列表得到对应的函数输入数据类型;S130,构建所述软件程序的功能模块树,将所述功能模块树显示于交互界面,所述功能模块树根据用户点击自动显示所述函数列表及所述输入数据类型。
[0008]根据所述的软件压力测试方法,其中该方法还包括:对所述功能模块同时运行冲突、函数调用冲突及功能模块运行前置进行检查,将存在冲突的所述功能模块及函数不同时添加至所述测试方案。
[0009]根据所述的软件压力测试方法,其中所述S200包括:S210,根据所述功能模块树,将每个功能模块添加至所述测试列表,或者,对所述软件程序整体采用多次同步测试;S220,对所述测试列表的所述功能模块及所述软件程序整体根据用户设置执行对应的测试,所述策略包括所述功能模块的业务性能测试及内存空闲测试。
[0010]根据所述的软件压力测试方法,其中所述功能模块及所述软件程序整体的测试包括:运行所述软件程序;若为所述功能模块的测试,则根据所述测试列表,启动所述功能模块及其必要运行前置,若为所述软件程序整体的测试,则直接执行下一步骤;根据所述输入函数类型,自动生成若干测试数据进行输入,并逐步增压直至所述软件程序崩溃;采集不同时间段的指针寄存器的值,以及,采集对应时间段的性能变化,其中性能变化包括内存变化、CPU使用率、任务完成时间及资源使用率;其中对所述软件程序整体的测试的不同指标为并列测试方式。
[0011]根据所述的软件压力测试方法,其中内存变化的采集还包括:设置所述功能模块的运行内存上限;动态获取所述指针寄存器的值,根据所述指针寄存器的值与运行内存上限对比,若所述指针寄存器的值大于所述运行内存上限,则动态调整所述运行内存上限。
[0012]根据所述的软件压力测试方法,其中该方法还包括:若所述软件程序崩溃时,获取对应的内存断点及地址;根据内存断点及地址,通过偏移计算得到崩溃时的内存断点及地址;获取崩溃时的内存断点及地址的源码位置并显示于交互界面。
[0013]根据所述的软件压力测试方法,其中该方法还包括:保持所述软件程序的崩溃状态,持续获取指针寄存器的值;若针寄存器的值保持不变则结束测试,否则,持续监控一段时间,记录对应内存中的函数调用情况。
[0014]根据所述的软件压力测试方法,其中所述S300包括:动态显示所述功能模块及所述软件程序的测试状态,并对每个所述功能模块及所述软件程序测试结果的内存变化、CPU使用率、任务完成时间及资源使用率显示于交互界面。
[0015]本专利技术的技术方案还包括一种并行式多子版本软件的压力测试方法,包括以下步骤:将主版本号测试数据和多个的子版本号测试数据提供到数据分配器;根据待测软件的版本差异表,并且根据多个待测软件的相同部分,从数据分配器中分离出多个待测软件的相同的基版本数据,并且复制多份基版本数据;根据待测软件的版本差异表,并且根据多个待测软件的功能模块差异部分,从数据分配器中分离出与每个子版本号待测软件所对应的模块数据;根据测试策略表,为每个版本的待测软件准备相应的配置文件;向每一个主版本下的多个子版本的待测软件分别分配一份基版本数据、相应子版本的模块数据以及配置文件;对每个待测软件并行地执行上述的方法;其中,所述版本差异表包含不同的子版本待测软件中的功能模块差异信息,所述测试策略表包含不同的子版本待测软件中对功能模块的测试策略差异信息。
[0016]本专利技术的技术方案还包括一种软件压力测试装置,该装置包括待测装置及测试装置,所述待测装置设置有待测试的软件程序,所述测试装置包括存储器及处理器,所述存储器存储有测试程序,所述测试程序被所述处理器运行时实现执行任一项所述的方法步骤。
[0017]本专利技术的有益效果为:(1)动态可视化展示待测软件及其所有功能模块,并在压力测试时,实时显示测试状态;(2)可配置的压力测试方法,提供了灵活的单个模块及整体的测试,能够有效的反馈出单个模块及软件程序整体的测试状态;(3)对压力崩溃时的函数调
用测试;(4)可以兼容并行地对多个差异化新版本的软件程序进行压力测试,并且根据版本的差异化内容,自动分配针对性的测试数据和自动分配测试策略,从而提高测试效率。
附图说明
[0018]下面结合附图和实施例对本专利技术进一步地说明。
[0019]图1所示为根据本专利技术实施方式总体流程图。
[0020]图2所示为根据本专利技术实施方式的功能模块树示意图。
[0021]图3所示为根据本专利技术实施方式的功能模块生成流程图。
[0022]图4所示为根据本专利技术实施方式的内存调整流程图。
[0023]图5所示为根据本专利技术实施方式的内存变化调整流程图。
[0024]图6所示为根本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件压力测试方法,其特征在于,该方法包括以下步骤:S100,获取软件程序的配置文件,根据所述配置文件在交互界面生成若干待测试的软件程序的功能模块;S200,根据所述功能模块自动生成所述软件程序的多组测试方案,所述测试方案用于对相应的测试对象按照策略进行测试;S300,得到所述软件程序及多个所述功能模块的测试结果,并将所述测试结果显示于交互界面。2.根据权利要求1所述的软件压力测试方法,其特征在于,所述S100包括:S110,根据所述配置文件,遍历并解析对应文件夹内的多个文件得到对应所述功能模块的函数列表;S120,根据所述函数列表得到对应的函数输入数据类型;S130,构建所述软件程序的功能模块树,将所述功能模块树显示于交互界面,所述功能模块树根据用户点击自动显示所述函数列表及所述输入数据类型。3.根据权利要求2所述的软件压力测试方法,其特征在于,该方法还包括:对所述功能模块同时运行冲突、函数调用冲突及功能模块运行前置进行检查,将存在冲突的所述功能模块及函数不同时添加至所述测试方案。4.根据权利要求2所述的软件压力测试方法,其特征在于,所述S200包括:S210,根据所述功能模块树,将每个功能模块添加至所述测试列表,或者,对所述软件程序整体采用多次同步测试;S220,对所述测试列表的所述功能模块及所述软件程序整体根据用户设置执行对应的测试,所述策略包括所述功能模块的业务性能测试及内存空间测试。5.根据权利要求4所述的软件压力测试方法,其特征在于,所述功能模块及所述软件程序整体的测试包括:运行所述软件程序;若为所述功能模块的测试,则根据所述测试列表,启动所述功能模块及其必要运行前置,若为所述软件程序整体的测试,则直接执行下一步骤;根据所述输入函数类型,自动生成若干测试数据进行输入,并逐步增压直至所述软件程序崩溃;采集不同时间段的指针寄存器的值,以及,采集对应时间段的性能变化,其中性能变化包括内存变化、CPU使用率、任务完成时间及资源使用率;其中对所述软件程序整体的测试的不同指标为并列测试方式。6.根据权利要求5所述的软件压力测试方法,其特征在于,所述内存变化的采集还包括...

【专利技术属性】
技术研发人员:谢靖
申请(专利权)人:谢靖
类型:发明
国别省市:

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

1