一种基于pyecharts实现的软件稳定性测试方法与流程

文档序号:28429961发布日期:2022-01-12 01:00阅读:142来源:国知局
一种基于pyecharts实现的软件稳定性测试方法与流程

1.本发明属于软件稳定性测试技术领域,尤其涉及一种基于pyecharts实现的软件稳定性测试方法。


背景技术:

2.软件稳定性测试在软件测试中是一项比较困难的测试类型,其中影响软件稳定性测试的重要因素包括软件测试自身的局限性,如周期局限性、场景局限性、操作局限性等。实际应用中只有长期的用户场景测试才能一定程度上保证软件的稳定性是可靠的,但并不能百分之百确定软件就是稳定的。因此,如何能充分有效的利用受局限的软件测试提高软件的稳定性对软件稳定性测试有着很大的优势。
3.目前很多专业人士通过多种方法对软件稳定性测试进行研究,其大多采用开发专用稳定性测试工具,且测试工具与被测软件部署在一起。在进行软件稳定性测试过程中通过设计测试策略执行软件稳定性测试,利用测试工具采集测试数据进行分析并输出测试报告。测试工具与被测软件一起部署,难免会影响被测软件的执行,且通过设计稳定性测试策略进行测试验证,也会造成与其他类型的测试工作重复,降低测试效率。


技术实现要素:

4.发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于pyecharts实现的软件稳定性测试方法,实现对被测软件的稳定性测试。
5.为了解决上述技术问题,本发明公开了一种基于pyecharts实现的软件稳定性测试方法,步骤如下:
6.步骤1,制定软件稳定性测试指标采集与显示模板,获得模板脚本;
7.步骤2,配置被测软件服务器信息和所述被测软件服务器上待采集软件稳定性测试指标相关信息,获得配置脚本;
8.步骤3,采集被测软件服务器的软件稳定性测试指标,获得软件稳定性测试指标的采集数据;
9.步骤4,对软件稳定性测试指标的采集数据进行指标变化分析,获得软件稳定性测试指标在测试期间的指标数值变化情况;
10.步骤5,将软件稳定性测试指标的采集数据和指标数值变化情况生成可视化图表和测试报告。
11.在一种实现方式中,步骤1中所述软件稳定性测试指标的类型包括操作系统指标、数据库指标、网络指标和业务数据指标;所述业务数据指标根据软件应用场景确定;所述软件稳定性测试指标采集与显示模板中包括采集各个软件稳定性测试指标的函数以及将单个软件稳定性测试指标的采集数据显示成图表的函数;所述图表包括线图、饼图、柱状图和表格。
12.在一种实现方式中,步骤2中所述被测软件服务器信息包括:被测软件业务服务器
的ip地址、操作系统用户名和密码以及被测软件数据库服务器的ip地址、操作系统用户名和密码、数据库用户名和密码;所述被测软件服务器上待采集软件稳定性测试指标相关信息包括待采集软件稳定性测试指标和对应软件稳定性测试指标的采集时间间隔。
13.在一种实现方式中,步骤3包括将模板脚本和配置脚本上传至一台公共服务器,所述公共服务器不包括待测软件所在的业务服务器和数据库服务器,配置脚本采用ssh远程连接待测软件所在的业务服务器和数据库服务器,调用模板脚本中的采集操作系统指标、网络指标和业务数据指标的函数实现操作系统指标、网络指标和业务数据指标的数据采集;配置脚本通过调用oracle组件或连接odbc(open database connectivity,开放数据库互连)数据源的方式,实现对数据库的连接,调用模板脚本中的数据库指标的函数,采集数据库指标。
14.步骤3中在公共服务器上采集被测软件服务器的软件稳定性测试指标,将指标采集和服务器的测试执行分离,可适应不同的组网架构,扩展方便。
15.在一种实现方式中,步骤5包括:
16.步骤5-1,将软件稳定性测试指标的采集数据和指标数值变化情况以可视化图表展示;
17.步骤5-2,提供轻量级网页浏览服务器,实现测试报告的html(hyper text markup language,超文本标记语言)页面显示。
18.在一种实现方式中,步骤5-1包括配置脚本调用模板脚本中将单个软件稳定性测试指标的采集数据显示成图表的函数,根据软件稳定性测试指标的采集数据的时间相关性,分别采用线图、柱状图、饼图和表格的可视化图标形式,将采集数据输出至一个html文件,形成一页纸;可视化图表包含测试开始至测试结束整个周期的测试数据。
19.在一种实现方式中,所述模板脚本和配置脚本使用python语言编写,将单个软件稳定性测试指标的采集数据显示成图表的函数包括通过pyecharts生成echarts图表。
20.在一种实现方式中,步骤5-2包括采用支持http的轻量级网页浏览服务器,通过采用python内建http服务器执行命令python-m http.server[端口号]实现html页面的浏览,端口号支持配置。提供bs(browser/server,浏览器和服务器)可视化界面,方便多人同时查看分析测试结果。
[0021]
在一种实现方式中,步骤3与非稳定性测试执行过程并行,即数据采集在非稳定性测试执行操作中进行;所述非稳定性测试包括功能测试、性能测试和接口测试。与非稳定性测试执行过程并行,一是可以充分利用软件测试周期,节省软件测试时间;二是充分利用软件测试操作和场景设计,保证整个软件测试过程中的场景操作在稳定性测试中得以体现。
[0022]
在一种实现方式中,步骤2中所述被测软件服务器上待采集软件稳定性测试指标相关信息还包括单个软件稳定性测试指标的采集数据文件的保存路径;步骤3中获得软件稳定性测试指标的采集数据后,支持将单个软件稳定性测试指标的采集数据保存成文件;步骤5中的html页面提供采集数据文件的下载链接,通过html页面单击下载链接,能够下载查看测试周期内对应软件稳定性测试指标的采集数据的详细信息。
[0023]
有益效果:
[0024]
本发明与现有技术相比,显著优点是:通过本发明提供的方法进行软件稳定性测试,一是可以充分利用软件测试周期,节省软件测试时间;二是充分利用软件测试操作和场
景设计,保证整个软件测试过程中的场景操作在稳定性测试中得以体现;三是提供辅助分析功能,实现对采集的数据进行计算,有效分析测试结果;四是提供bs可视化界面,方便多人同时查看分析测试结果;五是可适应不同的组网架构,扩展方便;六是提供分层实现的方式,通过底层制定软件稳定性测试指标采集与显示模板实现某项指标的采集与显示,通过上层配置被测软件服务器信息和所述被测软件服务器上待采集软件稳定性测试指标相关信息,快速设置单服务器、多服务器被测软件指标的采集与显示,降低对测试人员的技术要求,简化操作。
附图说明
[0025]
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
[0026]
图1是本发明的基于pyecharts实现的软件稳定性测试方法流程图。
[0027]
图2是操作系统指标的采集数据显示效果图。
[0028]
图3是数据库指标的采集数据显示效果图。
[0029]
图4是指标数值变化情况显示效果图。
具体实施方式
[0030]
下面将结合附图,对本发明的实施例进行描述。
[0031]
结合图1及一个基于linux操作系统的被测软件,对本发明基于pyecharts实现的软件稳定性测试方法作进一步详细描述,步骤如下:
[0032]
步骤1,制定软件稳定性测试指标采集与显示模板,编写脚本,实现稳定性测试指标采集与显示模板,包括:
[0033]
所述软件稳定性测试指标的类型包括操作系统指标、数据库指标、网络指标和业务数据指标;所述操作系统指标包括cpu、内存、磁盘空间、大文件数量、超期文件数量、core文件数量和僵尸进程数量等,所述数据库指标包括数据库占用空间、数据库状态、数据库锁表数量、数据库编译失败数量和空表数量等,所述网络指标包括监听端口、连接数和网络流量等,所述业务数据指标根据软件应用场景确定,例如被测软件为呼叫软件,则业务数据指标包括支持在线用户数量、并发呼叫量和呼叫时长等;所述软件稳定性测试指标采集与显示模板中包括采集各个软件稳定性测试指标的函数以及将单个软件稳定性测试指标的采集数据显示成图表的函数;所述图表包括线图、饼图、柱状图和表格。本实施例中使用python语言编写稳定性测试指标采集与显示模板,获得模板脚本。预留被测软件业务服务器的ip地址、操作系统用户名和密码以及被测软件数据库服务器的ip地址、操作系统用户名和密码、数据库用户名和密码等参数,用于配置被测软件服务器信息。
[0034]
步骤2,配置被测软件服务器信息和所述被测软件服务器上待采集软件稳定性测试指标相关信息,采用python语言编写脚本,分别配置每台被测软件业务服务器的ip地址、操作系统用户名和密码以及被测软件数据库服务器的ip地址、操作系统用户名和密码、数据库用户名和密码,分别配置每台服务器待采集软件稳定性测试指标、对应软件稳定性测试指标的采集时间间隔,获得配置脚本。
[0035]
步骤3,采集被测软件服务器的软件稳定性测试指标,获得软件稳定性测试指标的
采集数据,本实施例中,将模板脚本和配置脚本上传至一台非待测软件所在的业务服务器和数据库服务器,配置脚本采用ssh远程连接待测软件所在的业务服务器和数据库服务器,调用模板脚本中的采集操作系统指标和网络指标的函数实现操作系统指标和网络指标的数据采集;预留ssh远程连接服务器执行linux命令接口,实现被测软件业务数据指标数据采集;配置脚本通过调用oracle组件、连接odbc数据源等方式,实现对oracle、达梦等数据库的连接,调用模板脚本中的数据库指标的函数,采集数据库指标。
[0036]
步骤4,对软件稳定性测试指标的采集数据进行指标变化分析,获得软件稳定性测试指标在测试期间的指标数值变化情况;如对已用内存指标进行数据采集,分别计算测试周期内已用内存的最大值、内存增长值、每个采集周期内存增长量,可通过max(已用内存)、max(已用内存)-已用内存[0]、已用内存[-1]-已用内存[-2]得到每个采集周期的计算结果并保存。
[0037]
步骤5,将软件稳定性测试指标的采集数据和指标数值变化情况生成可视化图表和测试报告,包括:
[0038]
步骤5-1,将软件稳定性测试指标的采集数据和指标数值变化情况以可视化图表展示;
[0039]
步骤5-2,提供轻量级网页浏览服务器,实现测试报告的html页面显示,所述测试报告内容包括软件稳定性测试指标的采集数据和指标数值变化情况的可视化图标展示,实现多人同时、直观地浏览测试数据采集结果,如图2、图3和图4所示。
[0040]
步骤5-1包括:配置脚本调用模板脚本中将单个软件稳定性测试指标的采集数据显示成图表的函数,本实施例通过pyecharts生成echarts图表,根据软件稳定性测试指标的采集数据的时间相关性,分别采用线图、饼图、柱状图、表格等形式对采集数据进行处理展示;各项指标的展示分别生成单个图表,配置脚本中通过调用page.add函数将各指标的图表添加至服务器展示页面,所述服务器展示页面支持单个被测软件服务器的软件稳定性测试指标的采集数据和指标数值变化情况的显示,也支持两个以上被测软件服务器的软件稳定性测试指标的采集数据和指标数值变化情况的显示;通过page.render将服务器展示页面生成本地html文件。
[0041]
步骤5-2采用python自带的内建http服务器实现html文件的浏览访问,将指标数据采集展示过程中生成的html页面以http方式展示出来。实施方式为执行python-m http.server[端口号]的命令启动http服务器,通过在浏览器中输入http服务器的ip和端口号显示html,html文件可以实时刷新显示当前采集的数据历史信息。
[0042]
本实施例中,测试环境准备完成后,在测试开始前启动运行所有服务器的指标数据采集与展示的模板脚本和配置脚本。测试人员执行功能、性能、接口等非稳定性软件测试,测试执行过程完成非稳定性软件测试的各类操作,配置脚本通过调用模板脚本实现在非稳定性软件测试执行过程中对指标数据的采集。
[0043]
本实施例中,步骤2中所述被测软件服务器上待采集软件稳定性测试指标相关信息还包括单个软件稳定性测试指标的采集数据文件的保存路径;步骤3中获得软件稳定性测试指标的采集数据后,支持将单个软件稳定性测试指标的采集数据保存成文件;步骤5中的html页面提供采集数据文件的下载链接,通过html页面单击下载链接,能够下载查看测试周期内对应软件稳定性测试指标的采集数据的详细信息。
[0044]
本发明提供了一种基于pyecharts实现的软件稳定性测试方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1