一种压力测试系统及方法技术方案

技术编号:8190906 阅读:208 留言:0更新日期:2013-01-10 01:49
本发明专利技术提供了一种压力测试系统及方法,该系统,包括:依次连接的场景接口适配组件、流程模拟组件、通信栈加载组件、并发控制组件及报告生成组件;通过根据用户从预设场景插件中选择的场景插件形成的测试场景生成测试脚本,并在所述测试场景通过模拟验证之后将测试脚本加载到被测试系统的通信栈,对所述被测试系统执行压力并发操作,并监控所述压力并发操作得到测试记录并生成测试报告。用户可以通过选择预设场景插件的方式,自动生成测试脚本,并相应的完成压力测试,解决了现有压力测试工具存在的操作复杂、测试脚本不易编程的技术问题。

【技术实现步骤摘要】

本专利技术涉及软件测试领域,尤其涉及。
技术介绍
现有技术中,当一个程序写完或一台服务器配置完时,为保证该程序或服务器在实际使用时具备一定的稳定性,需要通过压力测试进行检测,即检测该程序或服务器是否可以承受足够大的负载压力。例如,某服务器是否可以在同一时间内可以允许指定个用户进行同一操作。 而目前压力测试主要是通过如LoadRunner、WebLoad等压力测试工具来完成,但现有的压力测试工具操作复杂,比较难上手,具体的测试过程为,测试人员首先根据被测试系统设置相应的测试场景,然后再根据测试场景编写测试脚本,所以需要测试人员具有专业的脚本编程基础,没有脚本编程基础的测试人员短时间内很难独立针对具体的压力测试场景编写压力测试脚本,实现压力测试。
技术实现思路
本专利技术目的在于提供,以解决在现有压力测试工具存在的操作复杂、测试脚本不易编程的技术问题。本专利技术提供了一种压力测试系统,包括依次连接的场景接口适配组件、流程模拟组件、通信栈加载组件、并发控制组件及报告生成组件;所述场景接口适配组件,用于根据用户从预设场景插件中选择的场景插件形成的测试场景生成测试脚本,每个预设场景插件均关联有对应的脚本文件;所述流程模拟组件,用于根据生成的测试脚本对所述测试场景进行模拟验证,验证通过后生成对应编译文件;所述通信栈加载组件,用于将所述测试脚本对应的编译文件加载到被测试系统的通信栈;所述并发控制组件,用于根据加载到通信栈上的测试脚本对应的编译文件对所述被测试系统执行压力并发操作,并监控所述压力并发操作得到测试记录;所述报告生成组件,用于将所述测试记录加载测试报告模板生成测试报告。作为上述技术方案的优选,所述场景接口适配组件包括接口适配单元,用于根据用户从预设场景插件中选择的场景插件和预设的通用接口形成测试场景;脚本生成单元,用于确定所述选择的场景插件关联的脚本文件,将关联的脚本文件组成场景脚本;协议适配单元,用于根据被测试系统的协议加载接口,对所述场景脚本加载与所述协议加载接口相应的协议信息,生成测试脚本。作为上述技术方案的优选,所述流程模拟组件包括业务场景模拟单元,用于根据所述测试脚本对测试场景进行模拟,判断所述测试脚本是否能编译成功,若编译成功则生成与测试脚本相对应的编译文件;主机间通信模拟单元,用于根据所述测试脚本对压力测试系统与被测试系统之间的通信进行模拟,检测是否能链接到被测试系统; 压力动态模拟单元,用于根据模拟压力测试时间系数和所述测试脚本对测试场景进行压力动态模拟,检测是否能成功进行压力动态模拟;所述通信栈加载组件具体用于,将同时满足能够编译成功、能链接到被测试系统及能成功进行压力动态模拟的测试脚本对应的编译文件加载到被测试系统的通信栈。作为上述技术方案的优选,所述系统还包括存储组件及与所述存储组件连接的通用平台,所述存储组件及所述通用平台分别与所述场景接口适配组件、流程模拟组件、通信栈加载组件、并发控制组件及报告生成组件连接;所述存储组件,用于存储协议信息及测试记录;所述通用平台,用于管理所述场景接口适配组件、流程模拟组件、通信栈加载组件、并发控制组件及报告生成组件的生命周期、组件启停及组件之间的通信。作为上述技术方案的优选,所述通用平台还设置有API接口,所述API接口用于创建新的组件及对通用平台和各组件的修改。本专利技术还提供了一种压力测试方法,包括根据用户从预设场景插件中选择的场景插件形成的测试场景生成测试脚本,每个预设场景插件均关联有对应的脚本文件;根据生成的测试脚本对所述测试场景进行模拟验证,验证通过后生成对应编译文件;将所述测试脚本对应的编译文件加载到被测试系统的通信栈;根据加载到通信栈上的测试脚本对应的编译文件对所述被测试系统执行压力并发操作,并监控所述压力并发操作得到测试记录;将所述测试记录加载测试报告模板生成测试报告。作为上述技术方案的优选,所述根据用户从预设场景插件中选择的场景插件形成的测试场景生成测试脚本具体包括根据用户从预设场景插件中选择的场景插件和预设的通用接口形成测试场景;确定所述选择的场景插件关联的脚本文件,将关联的脚本文件组成场景脚本;根据被测试系统的协议加载接口,对所述场景脚本加载与所述协议加载接口相应的协议信息,生成测试脚本。作为上述技术方案的优选,所述根据生成的测试脚本对所述测试场景进行模拟验证具体包括根据所述测试脚本对测试场景进行模拟,判断所述测试脚本是否能编译成功,若编译成功则生成与测试脚本相对应的编译文件;根据所述测试脚本对压力测试系统与被测试系统之间的通信进行模拟,检测是否能链接到被测试系统;根据模拟压力测试时间系数和所述测试脚本对测试场景进行压力动态模拟,检测是否能成功进行压力动态模拟;将同时满足能够编译成功、能链接到被测试系统及能成功进行压力动态模拟的测试脚本对应的编译文件加载到被测试系统的通信栈。作为上述技术方案的优选,所述方法还包括存储协议信息及测试记录。作为上述技术方案的优选,所述方法还包括创建新的组件及对通用平台和各组件的修改。 本专利技术提供的压力测试系统及方法,该系统,包括依次连接的场景接口适配组件、流程模拟组件、通信栈加载组件、并发控制组件及报告生成组件;通过根据用户从预设场景插件中选择的场景插件形成的测试场景生成测试脚本,并在所述测试场景通过模拟验证之后将测试脚本加载到被测试系统的通信栈,对所述被测试系统执行压力并发操作,并监控所述压力并发操作得到测试记录并生成测试报告。用户可以通过选择预设场景插件的方式,自动生成测试脚本,并相应的完成压力测试,解决了现有压力测试工具存在的操作复杂、测试脚本不易编程的技术问题。附图说明图I为本专利技术一实施例提供的压力测试系统的结构示意图;图2为图I中场景接口适配组件的结构示意图;图3为图I中流程模拟组件的结构示意图;图4为本专利技术又一实施例提供的压力测试系统的结构示意图;图5为本专利技术再一实施例提供的压力测试方法的流程示意图;图6为图5所示压力测试方法中步骤100的流程示意图;图7为图5所示压力测试方法中步骤200的流程示意图。具体实施例方式图I为本专利技术一实施例提供的压力测试系统的结构示意图,如图I所示,本专利技术实施例提供了一种压力测试系统1,包括依次连接的场景接口适配组件10、流程模拟组件20、通信栈加载组件30、并发控制组件40及报告生成组件50。场景接口适配组件10,用于根据用户从预设场景插件中选择的场景插件形成的测试场景生成测试脚本,每个预设场景插件均关联有对应的脚本文件。该场景插件可以根据经验进行设置,例如常用的登陆、输入用户名、点击某项操作等作为场景插件的内容。设计好的场景插件可以通过例如绑定的方式关联与其对应的脚本文件。具体的用户对场景插件的选择操作可以通过例如点选场景插件,或以拖拽的方式选择场景插件等方式。另外对于场景插件的选择通常具有顺序性,以拖拽场景插件为例,如先拖拽登陆场景插件,再拖拽输入用户名场景插件等。具体的可以根据实际的压力测试场景来预设。目前现有技术中的主流压力测试工具适用于所有场景的压力测试,具体的为通过操作者的脚本编程实现所有场景类型的压力测试需求,但由于主流压力测试工具中所集成的功能模块、协议模块等过于繁重,对于一般要求的压力测试来说,占用系统资源,影响测试效率。而本实施例中的压本文档来自技高网...

【技术保护点】
一种压力测试系统,其特征在于,包括:依次连接的场景接口适配组件、流程模拟组件、通信栈加载组件、并发控制组件及报告生成组件;所述场景接口适配组件,用于根据用户从预设场景插件中选择的场景插件形成的测试场景生成测试脚本,每个预设场景插件均关联有对应的脚本文件;所述流程模拟组件,用于根据生成的测试脚本对所述测试场景进行模拟验证,验证通过后生成对应编译文件;所述通信栈加载组件,用于将所述测试脚本对应的编译文件加载到被测试系统的通信栈;所述并发控制组件,用于根据加载到通信栈上的测试脚本对应的编译文件对所述被测试系统执行压力并发操作,并监控所述压力并发操作得到测试记录;所述报告生成组件,用于将所述测试记录加载测试报告模板生成测试报告。

【技术特征摘要】

【专利技术属性】
技术研发人员:郭强冯立华
申请(专利权)人:中国联合网络通信集团有限公司
类型:发明
国别省市:

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

1