如何实现Python性能自动化测试框架
admin
2023-07-21 05:41:39
0次

一 背景

性能测试,作为一项对系统、接口或业务流程进行深度评估的测试活动,与功能测试的关注点和视角是不同的,同时因为可能涉及人员较广,如性能测试人员,功能测试人员,开发,运维,DBA等,往往存在测试周期长的普遍现象。然而,对于瓶颈优化后的性能回归,基于已有的环境数据、测试脚本、场景配置等,完全可以考虑实现性能自动化,将性能测试人员从繁琐的场景执行、资源监控、结果收集等工作中解脱出来,从而节约时间、也使得性能人员可以集中精力在更重要的结果分析阶段。

基于上述考虑及现实需求,有必要开发框架来实现性能测试自动化。

二 问题分析

俗话说,工欲善其事必先利其器,开发性能测试自动化框架前,需要考虑以下问题:

1.       选用什么开发语言?

2.       框架要处理的性能测试工具是什么?

3.       如何设计框架,让使用者更省心,让应对需求更从容?

4.       如何抽离通用功能并实现复用?

5.       如何控制多场景下的执行顺序?

6.       如何执行数据准备?

7.       如何高效实现window对多linux主机的控制和文件下载?

8.       如何让数据库的监控更方便?

9.       如何对html网页数据爬取更简单?

10.   如何进行文本内容提取和分析?

11.   如何写html更优雅?

…………………………….

三 解决思路

好了,上面已经提了一大堆问题,当然,这仅仅是实现一个可用、可靠自动化框架众多问题中的一部分,也是开发前需要有个基本解决构想的。

在框架开发中,设计原则及解决思路是这样的:

采用Python作为开发语言,而且是纯python实现,拒绝其他各种脚本形式,bat啊,shell啊,保持框架未来的可维护性;

性能测试工具主要是LR、某些场景可能会用到Jmeter,因而,框架优先支持LR,根据后续需求,会考虑对Jmeter的支持;

框架应提供简洁、易配置的统一接口,用户无需关心框架内部实现;

框架应模块化设计,提高功能复用;

框架通过统一的配置接口方便支持场景顺序控制的需求;

抽离数据库操作功能,支持在每个场景执行前进行环境初始化操作,而且该动作应该是可选或可配置的;

windows-linux的文件传输、命令执行、sql脚本执行可以通过parimiko实现;

通过获取awr报告实现对数据库性能状况的监控;

通过nmon实现对各服务器资源的监控;

使用beautifulsoap解析html文件;

配置采用xml格式,且使用cElementTree进行解析;

框架的执行过程应有详细的日志记录,可以使用logging实现;

支持生成html格式的测试报告;

四 框架流程

框架主要分为三大功能模块,场景执行、资源监控、结果分析和报告;流程图如下:

如何实现Python性能自动化测试框架 

五 框架目录结构

框架实现目录结构如下:

如何实现Python性能自动化测试框架

Config目录:提供框架统一配置入口,presql目录提供场景初始化准备的脚本;

Log目录:提供框架执行的详细日志,以天为单位记录日志,当日日志会被重写;

Report目录:框架执行完毕后生成报告,包括summary_report.html和resource_report.html;

Result目录:该目录用于存放执行的结果,其中包括用于保存linux资源监控的Linux目录、场景执行结果的LR目录和数据库运行监控的Oracle目录;

Scenarios目录:场景执行文件目录和用于保存LR结果分析模板的Perf_Autotest_Tep目录;

Scripts目录:框架脚本目录;

六 实现效果

框架执行完毕后,会以邮件形式发送报告,附件包括summary_report.html和resource_report.html,实现效果如下:

summary_report.html效果:

如何实现Python性能自动化测试框架

resource_report.html效果:

如何实现Python性能自动化测试框架

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...