当前位置:大学毕业论文> 论文范文>材料浏览

关于压力测试论文范文写作 基于Python和SIPp的自动化压力测试系统设计和实现相关论文写作资料

主题:压力测试论文写作 时间:2024-02-04

基于Python和SIPp的自动化压力测试系统设计和实现,本文是一篇关于压力测试论文范文,可作为相关选题参考,和写作参考文献。

压力测试论文参考文献:

压力测试论文参考文献 机械设计制造与其自动化专业论文电子测试期刊电气自动化论文机械制造和自动化论文

摘 要:首先,分析了现有测试系统的不足,之后,介绍了软件组成和运行环境说明,最后,设计了基于Python和SIPp的自动化压力测试系统,并给出了相关代码.新的测试系统克服了现有测试系统的不足,极大地提高了测试效率,节约了测试成本.

关键词:压力测试系统;自动化;Python;SIPp

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)22-0205-03

随着计算机和通讯技术的快速发展,网络和通讯设备的组成越来越复杂,测试工作量越来越大,测试要求的时间越来越短,测试系统面临着很大的挑战.现有测试系统中,基于SIP协议的通讯系统的压力测试,多采用开源工具SIPp,由测试人员手工调用SIPp执行脚本,给系统加压,然后采集系统运行指标,如CPU占用率、内存使用率等,以测试系统在不同压力下的稳定性.Sipp工具模拟终端设备或者网络设备,向被测试设备发送大量SIP消息,可以增加系统负荷.但由于压力测试的测试模型众多,测试周期较长(通常持续若干天),测试成本居高不下.

Python是一种开源的通用计算机编程语言,致力于缩短开发时间,使用简洁、易读又便于维护的语法,拥有丰富的扩展模块,具有很大的便捷性和高可扩展性.基于Python和SIPp的自动化压力测试系统,将人工测试步骤编排为自动化测试,能极大地提高测试效率,节约测试成本.

1系统组成

1.1系统的硬件结构

自动化压力测试系统由测试管理子系统、SIPp测试节点和被测试设备组成,系统硬件连接如图1所示.根据测试规模和被测试设备的能力,可以扩展多个SIPp测试节点,由测试管理系统集中管理和分配任务.所有设备通过交换机和路由器组成的网络连接在一起.测试管理系统使用网络接口,一方面管理SIPp节点,启动及停止其模拟负荷,并在测试过程中动态调整其负荷大小,另一方面监控被测试设备,判断其在高压力情况下的运行指标及状态.

1.2系统的软件结构

本系统由配置管理模块、SSH协议接口模块、SIPp控制模块、设备参数采集模块、测试报告生成模块组成,具体结构见图2所示.

配置管理模块负责读取测试系统的各项预设参数(如被测试设备的IP地址、端口、登录口令,SIPp节点的Linux服务器用户名、口令、测试消息脚本等).

因SIPp工具运行于Linux系统上,需要通过SSH协议登录到Hnux服务器,以便控制SIPp的启动、停止等动作,工具需要支持SSH接口.将SSH的连接、登录、执行命令、获取命令结果等操作封装为一个SSH模块,方便工具其他模块使用.SIPp控制模块负责在部署SIPD工具的Linux服务器上,启动测试脚本、调整压力强度及结束模拟负荷的发送.数据采集模块通过TCP接口登录到被测试设备上,采集各种强度负荷下的设备系统指标,判断系统的状态是否良好.测试结束后,所有测试数据由报告生成模块加工生成测试报告.

2运行环境说明

2.1Python扩展模块paramiko的安装

paramiko模块提供了ssh及sttp进行远程登录服务器执行命令和上传下载文件的功能.这是一个第三方的Python扩展包,使用之前需要安装.在Windows上安装paramiko包的步骤具体见表1所示.

2.2SIPp工具的安装与测试脚本编写

SIPp是一款用于测试SIP协议性能的开源工具软件,运行于Linux平台,通过预先编排的测试场景脚本来控制SIP消息的收发,它可以模拟用户终端以及通讯服务器设备,完成和被测试设备的SIP协议流程的交互.使用不同的脚本配置,它可以充当SIP协议中的UAC角色和UAS角色,并发或者串行地发起多个SIP会话,并能实时输出测试运行的统计数据(呼叫速率、信令来回的延迟,以及消息收发数目统计).由于其性能强大和开源免费的特点,Sipp已经被广泛应用于通讯设备(如IP多媒体子系统中的CSCF、AS等设备)的压力测试,具体步骤如图3所示.

其中UAC和UAS都由SIPp来担任.SIPp的安装比较简便,从开源网站上下载代码,拷贝到Linux服务器上,完成编译即可.但在测试前,需要完成测试场景脚本文件(XML格式)和用户号码脚本文件(CSV格式)的设计与编写,并将消息收发流程调试通過.

3系统模块功能设计与实现

3.1SSH接口模块的设计与实现

对第三方模块paramiko的接口进行二次封装,将繁琐的协议函数封装为简单的接口,主要包括执行命令接口、上传文件接口及下载文件接口.

SSH接口模块分为几个部分:

3.1.1SSH初始化接口

首先导入paramiko模块

import paramiko

然后定义SSH封装类及其初始化函数:

3.2SIPp控制模块

SIPD工具本身运行于Linux服务器上,需要调用ssh接口,远程执行Sipp的运行脚本,从而控制SIPp向被测试设备发起SIpp消息,模拟加载负荷.Sipp控制模块有如下几个部分:

3.2.1启动SIPp脚本

需要预先在运行SIPp工具的linux服务器上,安装好SIPp程序,编排好sip消息收发流程脚本文件(xml格式)和用户号码本脚本文件(CSV格式),然后以linux shell命令的方式启动SIPp:

SIPp_cmd等于"/TestTools/Sipp 10.5.1.20:5060-/TestTools/

以上代码定义了一个字符串变量SIPp cmd,其内容是一个Sipp启动命令,该命令执行reg.xml中定义的消息收发序列,并以Reg_user.csv中定义的用户号码进行迭代,以特定的速率(-r100参数指定,即每秒发送100次消息),反复执行-m参数指定的次数(200000次),并且以后台方式执行(-bg参数).

结论:适合不知如何写压力测试方面的相关专业大学硕士和本科毕业论文以及关于压力测试论文开题报告范文和相关职称论文写作参考文献资料下载。

基于LabVIEW的直流信号转换盒测试系统设计和实现
摘 要:文中简要地介绍了虚拟仪器和LabVIEW的概念及特点,并应用虚拟仪器技术LabVIEW软件开发平台的设计特点结合直流信号转换盒测試系统设。

基于PXI总线低频电路板测试系统设计
摘 要:为了满足某型低频电路板批生产测试需求,设计了基于PXI总线的低频电路板测试系统;分别对该测试系统的组成和工作原理进行了阐述,进一步分析了。

航空整机电缆自动测试系统设计
摘 要:过去在航空电缆测试过程中,普遍面临精度不够、效率差等问题,为有效克服上述现象,自动测试系统诞生。该系统实际运行过程中,充分继承工控机系统。

基于MFLogistiC模型银行信用风险压力测试
12,13,14,15,摘要:压力测试是银行加强信用风险管理和监管部门实施宏观审慎监管的有用工具,但是压力测试模型的科学性制约了我国提高压力测。

论文大全